

vagarnt sshすると下記のエラーでが出ます。

[code]

    Failed to mount folders in Linux guest. This is usually because
    the "vboxsf" file system is not available. Please verify that
    the guest additions are properly installed in the guest and
    can work properly. The command attempted was:
    
    mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
    mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
    
    The error output from the last command was:
    
    /sbin/mount.vboxsf: mounting failed with the error: No such device
    
[/code]

Qiitaに記載されてた下記の対処法でも解決されませんが、  
別途解決法をご存知の方がいらっしゃれば教えてください。  
<http://qiita.com/murachi1208/items/1dea1416ec5729d03632>

[![ターミナル](https://i.stack.imgur.com/BoIBk.png)](https://i.stack.imgur.com/BoIBk.png)


CC BY-SA 3.0
2015-10-31T03:41:09.480
18264
2016-11-14T14:58:51.617
2015-10-31T05:54:06.090
754
7176
question
vagrant
vagrantでのmountエラーに関して


vagrant, virtualbox については知りませんが、メッセージでは「yum install kernel-
devel-2.6.32-573.7.1.el6.x86_64」と出ていますので、参考URL の「yum install
<http://.../kernel-
devel-2.6.32-431.3.1.el6.x86_64.rpm>」箇所をご自身の環境に合わせるといいと思います。

CentOS 6 (x86_64)と思われますが、kernel の最新バージョンは kernel-2.6.32-573.7.1.el6.x86_64
で、メッセージと同じですので、そのまま「yum install kernel-
devel-2.6.32-573.7.1.el6.x86_64」でインストールできると思います。

ちなみに、古いバージョンの kernel-devel をインストールする場合は、リポジトリから消えていることがあるので、参考URL のように RPM
ファイルを探してインストールする必要があります。


CC BY-SA 3.0
2015-11-01T13:45:07.997
18306
2015-11-01T13:45:07.997
4603
18264
answer


エラーメッセージをみる限りでは、gcc
とカーネルのソースコードの一部がインストールされていないのではないかと思いました。ゲストOSで以下のコマンドを実行してみてはいかがでしょうか。

[code]

    yum -y install gcc kernel-devel-2.6.32-573.7.1.el6.x86_64
    
[/code]


CC BY-SA 3.0
2015-12-01T19:12:36.637
19527
2015-12-01T19:12:36.637
9403
18264
answer


考えられるポイントはいくつかあります。

第一に、 **Vagrant の箱は使い捨てが前提** です。トラブルが起きたら `vagrant destroy`
で今の箱を破棄して新しく箱を作り直すことで簡単に解決できるかもしれません。

第二に、なるべく **多くの人に使用されている** 箱を使用するようにしましょう。主流から外れた選択をする場合は **問題が起きやすく情報が少ない**
です。特に自分が何をしているかをきちんと把握できないうちはなるべく主流の物を選択することをお勧めします。現在Vagrantで一番メジャーな箱は
`ubuntu/trusty64` です。 `vagrant init ubuntu/trusty64`
を実行すれば必要なVagrantfileが自動的に作成されます。特に理由がない限りはこれを使用するのが良いでしょう。

第三に、パッケージは原則使用してるディストロの **公式レポシドリからインストール** するようにしましょう。 画像を拝見した限り、 `sudo yum
install` 時に `http` から始まるURLを指定していますがこれは **非常に危険**
です。通常yumのようなパッケージマネージャーは使用している環境に合わせて適切なバージョンのパッケージを自動的にインストールしてくれますが、直接URLを指定した場合はパッケージが使用環境に適合せずにシステム全体が壊れる可能性があります。今回は
`kernel-devel` をインストールしようとしていた様子ですが、これは使用中のLinuxカーネルと **バージョンが一致しないと意味がありません**
。したがって正しくは `sudo yum install kernel-devel`
です。おそらくゲストOSはCentOSかFedoraだとお見受けしますが、CentOSの[公式wiki](https://wiki.centos.org/HowTos/Virtualization/VirtualBox/CentOSguest)によると以下のコマンドで必要なパッケージがインストール出来るようです。

[code]

    sudo yum install dkms
    sudo yum groupinstall "Development Tools"
    sudo yum install kernel-devel
    
[/code]

第四に、ブログなどに書かれてる内容はあくまでも **参考**
です。ブログは良くも悪くも様々な知識レベルの人が投稿されています。そのため書かれてる方法が場当たり的だったり偶然上手くいったように見えるだけの場合もあり得ます。ブログなとに書かれた魔法の呪文をとりあえず実行してみるのは避けましょう。

あと最後に **重要**
なことですが、スタックオーバーフローなどで質問をする場合は問題が起きた環境についてなるべく詳しく記述することをお勧めします。この件で特に重要な情報はどのようにしてVagrantfileを作成したかです。これはエラーが起きた時の画面と同じぐらい重要です。この情報がないと他の人が同じ問題を
**再現できない** ため、問題解決が難しくなります。他には以下のような情報もなるべく書きましょう:

  * ホストOSとそのバージョン
  * Vagrantのバージョン
  * Virtualboxのバージョン


CC BY-SA 3.0
2016-04-04T10:31:51.743
23737
2016-04-04T10:31:51.743
8215
18264
answer