概要
ここではRaspbianをVirtualBoxのゲストOSとしたとき,ホストOS間でファイル共有するにはどうすればよいかについて書かれています.
背景
Raspberry Piで動作するプログラムを開発するとき,Raspberry Piではやはりちょっと非力のため,eclipseやNetBeansを使った開発にはちょっと辛いときがありますよね.そこで,VirtualBoxのゲストOSとしてRaspbian(Raspberry Piの公式OS)をインストールし,そこでの開発をすることを考えました.このとき,ホストOSとの間でファイルをやり取りすることがありましたので,その設定をしてみました.また,意外なことにあまり同じようなことをしている記事がなかったこともあり,ここに書き残しておくことにしました.
環境
ここでは以下の環境で設定を行いました.
- ホストOS: Windows 10
- ゲストOS: Raspbian Baster Septemer 2019
- VirtualBox: バージョン 5.2.22 r126460 (Qt5.6.2)
また,すでにRaspbianはVirtualBoxのゲストOSとしてインストールされていることを前提とします.
設定
ここでは以下に示す3つの手順を行います.
- VirtualBox Guest Additionのインストール
- ホストOS側で共有フォルダの作成
- ゲストOS側で共有フォルダの作成とマウント
- ゲストOSの起動時に自動マウント
VirtualBox Guest Additionのインストール
VirtualBoxにはファイル共有をするためのアプリケーションが用意されています.それがVirtualBox Guest Additionです.これをまずはインストールします.このアプリケーションはホストOS側にISOイメージとしてありますので,ISOイメージをゲストOS側で使えるようにします.VRaspbianをインストールしてあるところを右クリックすると,下のようなポップアップが現れますので,「設定」を選択してください.
次に左側にある「ストレージ」を選択し,ストレージドライブとしてからになっているCD-ROM/DVDを選択,さらに右側にあるCD-ROM/DVDのアイコンを選択します.その後,「仮想光学ディスクファイルを選択」を選んでください.
VirtualBox Guest Additionは下記のフォルダにありますのでそこまで移動し,「VBoxGuestAdditions.iso」を選択してください.
選択しますと,下のようにCD-ROM/DVDとして,上記のイメージが表示されます.
次にRaspbian側の設定をします.Raspbianを起動後,VBoxGuestAdditionをマウントするために次のコマンドを実行します.なお,この最後のrebootをしています.これにより,設定が有効になります.
$ sudo mkdir /mnt/cdrom $ sudo mount -r /dev/cdrom /mnt/cdrom $ sudo /mnt/cdrom/VBoxLinuxAdditions.run $ sudo reboot
これで,ゲスト側の「/mnt/hostfs」と,ホスト側では「Raspbianとの共有フォルダ」は共有されているはずです.フォルダが共有されているか試しに何かファイルを置いてみてください.
ゲストOSの起動時に自動マウント
これまでの設定では,Raspbianを再起動してしまうとマウントが解除されてしまいます.そこで起動するごとに自動でマウントするようにします.それには下のようにfstabを編集します.
$ sudo vi /etc/fstab
fstabの一番最後あたりに,次の1行を追加しましょう.
RaspbianSharedFolder /mnt/hostfs vboxsf defaults 0 0
これで再起動後もマウントしてくれるはずです.