Linuxゲスト向けにVirtualBoxで共有フォルダを有効にする方法:実例解説
VirtualBox は、特にメインのシステムに影響を与えずにさまざまな Linux ディストリビューションを試したい場合に、かなり人気があります。しかし、正直なところ、ホスト (Windows や他の Linux など) と VM 間でファイルを共有するのは、特に初心者の場合は最初は少し難しい場合があります。幸いなことに、すべてをセットアップしてしまえば、スムーズに進むということです。問題は?すべての手順が明らかであるわけではなく、オンラインの説明には、つまずくような小さいが重要な詳細が省略されている場合があります。そこで、ほぼすべての Linux ゲストで共有フォルダーを機能させるための、現実的でくだらないガイドと、私が正しく機能させるのに役立ったヒントとコツをいくつか紹介します。このガイドに従えば、共有フォルダーが Linux VM 上にあるのと同じようにアクセスできるようになり、ファイル転送がはるかに簡単になります。コマンドラインでの作業、ゲスト追加機能のインストール、権限の調整などが多少必要になることを覚悟してください。しかし、それだけの価値はあります。
Linuxゲスト向けにVirtualBoxで共有フォルダを有効にする方法
Guest Additionsをインストールする – 他のすべてが機能するための最初のステップ
ここが重要です。Guest Additionsがないと、共有フォルダは正常に動作しません。一部のLinuxディストリビューションでは、カーネルヘッダーと追加パッケージが必要になります。そのため、まずはシステムを最新の状態にしておきましょう。VirtualBoxは当然ながら、必要以上に手間取らせてしまうからです。以下を実行してください。
sudo pacman -Syu
または、Ubuntu、Debian、Mint を使用している場合:
sudo apt update sudo apt install build-essential dkms linux-headers-$(uname -r)
これらのコマンドは、すべてのカーネルモジュールの準備を確実に整えるものです。この手順は省略しないでください。あるセットアップでは、ヘッダーのインストールを忘れてしまい、それ以降何も動作しなくなりました。完了したら、VirtualBoxのデバイス > Guest Additions CDイメージの挿入…メニューからGuest Additions CDイメージを挿入し、以下を実行します。
sudo sh /media/$USER/VBoxLinuxAdditions.run
`/media/$USER/VBoxLinuxAdditions.run` が別の場所にマウントされている場合は、置き換えてください。すぐにインストールされない場合は、ディレクトリを確認してください。run ファイルが `/media/cdrom` または `/media/vboxadditions` にある場合もあります。一部のディストリビューションでは、パッケージが不足しているとインストーラーの実行が遅れたりエラーが表示されたりするので、そのメッセージをよく読んでください。インストール後、VM を再起動してください。これによりカーネルモジュールが正しく読み込まれ、共有フォルダが機能するようになります。
VirtualBoxで共有フォルダを設定する – 魔法はここから始まる
VMが復旧したら、デバイス > 共有フォルダ > 共有フォルダ設定 に進みます。右側の小さな + アイコンをクリックし、共有したいフォルダを選択します。私は通常、ドキュメントまたはデスクトップに Shared というフォルダを作成します。自動マウント と 永続化 にチェックを入れます。こうすることで、再起動後も共有フォルダが保持されます。注:Linuxをゲストとして使用している場合、共有フォルダはまだ自動的には表示されません。マウントはされますが、権限の調整が必要です。
Linuxユーザーグループを簡単にアクセスできるように設定する方法
ここで本当に困った事態に陥ります。権限を与えない限り、共有フォルダにアクセスできるのは1人のユーザーだけなのです。そこで、ターミナルを開いて、ユーザーを`vboxsf`グループに追加しましょう。
sudo usermod -aG vboxsf $(whoami)
`$(whoami)` が自動的に入力されない場合は、ユーザー名に置き換えてください。一部のディストリビューションでは、グループの変更を有効にするためにログアウトしてから再度ログインする必要がある場合があります。そうしないと、権限によってアクセスがブロックされる可能性があります。念のため、次のコマンドで権限を明示的に修正してください。
sudo chown -R $(whoami):$(groups | awk '{print $1}') /media/sf_Shared
または、フォルダを別の場所にマウントしている場合は、パスを適宜変更してください。その後、ログアウトして再度ログインし、ファイルマネージャーを開いてください。共有フォルダが表示され、ローカルディレクトリと同じようにアクセスできるはずです。すぐに表示されない場合は、再起動すると問題が解決することがあります。
追加のヒント: よくある問題のトラブルシューティング
共有フォルダがマウントされているのにアクセスできない、または権限がおかしい場合があります。その場合は、以下の手順を実行してください。 – `vboxsf` にユーザーを追加し、ログアウト/ログインしてください。 – VirtualBox の設定でフォルダが正しく共有されていることを確認してください。 – マウントが自動的に行われているかどうかを確認してください。そうでない場合は、手動でマウントしてみてください。
sudo mount -t vboxsf shared_folder_name /path/to/mountpoint
`shared_folder_name` をVirtualBoxで設定した名前に置き換え、`/path/to/mountpoint` を `~/shared` などの作成したディレクトリに置き換えてください。一部のディストリビューションでは、マウントがすぐには機能しないものの、ゲストユーティリティをインストールして再起動すると機能するという報告があります。状況によって異なる場合があります。
まとめ
正直なところ、VirtualBoxの共有フォルダは、一度コツをつかんでしまえば、それほど分かりにくいものではありません。ゲストユーティリティをインストールし、VirtualBoxで共有フォルダを設定し、権限を修正するだけです。多くの人が(そして私も危うくつまずきそうになりましたが)つまずくのは、適切なカーネルヘッダーをインストールしていないことと、ユーザーを`vboxsf`グループに追加し忘れていることです。しかし、一度そこさえ解決してしまえば、あとは割とスムーズに使えます。
- システムを更新した後、Guest Additions がインストールされていることを確認してください。
- VM 設定で共有フォルダーを自動マウントするように設定します。
- ユーザーを vboxsf に追加し、再起動または再ログインします。
- 必要に応じて、`mount -t vboxsf` を使用してフォルダーを手動でマウントします。
たくさんあるように見えるかもしれませんが、実際には、数回実行すれば、ほんの数回のコマンドとクリックだけです。
まとめ
- Linuxカーネルを更新し、ヘッダーをインストールする
- ゲスト追加機能をインストールする
- VM設定で共有フォルダを設定する
- `vboxsf` グループにユーザーを追加する
- ログアウト/ログインしてアクセスを確認する
結論
共有フォルダを使えるようにするのは面倒に思えるかもしれませんが、何度かやってみれば、自然と慣れてきます。USBメモリでファイルをドラッグしたり、クラウドサービスを使って簡単な転送をしたりする必要がなくなるので、時間の節約になります。Linuxでは、権限や適切なモジュールの設定を少し変更するだけで済む場合もあることを覚えておいてください。この方法が誰かのストレス軽減に役立つことを願っています。私の場合はうまくいきましたので、他の人にもうまくいくことを願っています。