1台のマシンで複数のOSを動作させたいなら、VirtualBoxは非常に便利なツールです。しかし、ホストとゲストシステム間でフォルダを共有するのは、特に初めての場合や、何か不具合が発生した場合など、面倒に感じることがあります。VirtualBoxの共有フォルダはスムーズに動作するはずですが、実際には、ゲストとして使用しているLinuxディストリビューションによっては、少々手間取ることがあります。そこで、Arch、Debian、Ubuntu、Mintなどの一般的なLinuxディストリビューション間で共有フォルダを動作させるための、より現実的な手順を、実際に必要なコマンドとパスを使ってご紹介します。完璧ではありませんし、再起動や再ログインが必要になる場合もありますが、少なくともしっかりとした基盤にはなります。
LinuxゲストでVirtualBoxの共有フォルダを有効にする方法
方法1:Arch LinuxでGuest Additionsをインストールし、共有フォルダを設定する
なぜわざわざこんなことをするのでしょうか?Guest Additionsをインストールすると、シームレスなフォルダ共有、直感的なファイルドラッグ、クリップボード共有などの機能のサポート強化が可能になります。これらの機能がそのままでは動作しない場合は、Guest Additionsをインストールすることをお勧めします。共有フォルダにアクセスしようとしたときにエラーが表示されたり、正しくマウントされなかったりする場合は、この手順を実行してください。これらの手順を実行すると、共有フォルダが/dataまたは/mediaの下に表示されるはずですが、権限の設定も必要になる場合があります。
- システムを更新します。もちろん、何かをインストールする前に最新のパッケージが必要です。
pacman -Syu
- カーネルヘッダーを取得します。LinuxカーネルLTSを実行している場合は、次のコマンドを実行します。
pacman -S linux-lts-headers
- 次に、VirtualBox Guest Utilsをインストールします。設定に応じて、
virtualbox-guest-modules-arch
またはのいずれかを選択しますvirtualbox-guest-dkms
。LTSカーネルの場合は、dkms
カーネルのアップデート後にモジュールを動的に構築するため、このパッケージが推奨されます。pacman -S virtualbox-guest-dkms
- 次に、VirtualBox サービスが自動的に開始されるようにします。
sudo systemctl enable vboxservice
VirtualBoxで、「デバイス」 > 「共有フォルダ」 > 「設定」に移動します。追加アイコンをクリックし、共有したいフォルダ(「パブリック」など)を選択し、「自動マウント」と「永続化」にチェックを入れます。再起動するとフォルダは自動マウントされますが、アクセスするにはユーザーをvboxsfグループに追加する必要がある場合があります。
usermod -a -G vboxsf $(whoami)
次に、ユーザーがアクセスできるようにフォルダーの所有権を変更します。
chown -R $(whoami) :users /data/sf_Public/
ログアウトして再度ログインし、ファイルマネージャーを確認してください。通常、共有フォルダは/media/sf_Publicまたは/data/sf_Publicの下に表示されます。そこに表示されない場合は、再起動するか、ログアウトとログインを繰り返すことで通常は修正されます。ただし、特定の設定では、アクセス可能mount -t vboxsf
かどうかを確認するために、適切なフォルダ名を使用して共有フォルダを手動でマウントする必要がある場合があります。
方法2: Debian、Ubuntu、MintなどのDebianベースのディストリビューションを使用する
DebianとUbuntuでのフォルダ共有は似ていますが、まず適切なパッケージが必要です。ターミナルを開いて以下を実行してください。
sudo apt install build-essential dkms linux-headers-$(uname -r)
これにより、Guest Additionsに必要なカーネルモジュールをビルドできるようになります。次に、VirtualBoxメニュー(デバイス > Guest Additions CDイメージの挿入)からGuest Additions CDイメージを挿入し、以下を実行します。
sudo sh /media/cdrom/VBoxLinuxAdditions.run
問題なく動作するはずですが、エラーに注意してください。問題が発生した場合、インストール後に再起動するか、CDイメージを再挿入するだけで解決する場合があります。完了したら、ユーザーをvboxsfグループに追加してください。
sudo usermod -a -G vboxsf $(whoami)
共有データ フォルダーのアクセス許可を変更します。
sudo chown -R $(whoami) :users /data
ログアウトして再度ログインし、共有フォルダがファイルマネージャーに表示されるか確認してください。表示されない場合は、共有フォルダが/mediaまたは/mntにマウントされているか確認してください。場合によっては、次のコマンドで手動でマウントする必要があるかもしれません。
sudo mount -t vboxsf shared_folder_name /path/to/mountpoint
方法3: ゲスト追加機能がプリインストールされているLinux MintおよびUbuntuの場合
Linux Mint または Ubuntu VM にすでに Guest Additions がプリインストールされている場合は、通常、VirtualBox の設定で共有フォルダーを設定し、ユーザーを vboxsf グループに追加するだけです。
sudo usermod -a -G vboxsf $(whoami)
フォルダの権限を変更し、ログアウトしてから再度ログインしてください。ほとんどの場合、これで共有フォルダは正常に動作するようになります。その後、/media、/mnt、あるいはVirtualBoxが割り当てたマウントポイントから共有フォルダにアクセスできるようになります。
まとめ
共有フォルダは、ネットワーク共有やクラウドサービスに煩わされることなく、ファイルを素早く移動できる救世主です。難しいのは、Guest Additionsが正しくインストールされ、権限が設定され、VMが再起動またはログアウト/ログインされていることを確認することです。すべてのLinuxディストリビューションが同じというわけではありません。ヘッダーのインストールやユーザーを特定のグループに追加するなど、多少の手動設定が必要なディストリビューションもありますが、一度コツをつかんでしまえば、あとは比較的スムーズに進むでしょう。
まとめ
- 開始する前に Linux ディストリビューションを更新してください。
- Arch、Debian、Mint、Ubuntu など、何でも Guest Additions をインストールします。
- ユーザーを vboxsf グループに追加します:
usermod -a -G vboxsf $(whoami)
。 - 適切な権限を設定します
chown
。 - 再起動または再ログインしてから、ファイル マネージャーで共有フォルダーにアクセスします。
これが役に立つことを祈る
共有フォルダを使えるようにするには、少しの忍耐が必要です。再起動だけで済む場合もあれば、手動でマウントしなければならない場合もあります。これで少なくとも1つの設定が簡単に使えるようになることを願っています。頑張ってください!