概要

ここでは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つの手順を行います.

  1. VirtualBox Guest Additionのインストール
  2. ホストOS側で共有フォルダの作成
  3. ゲストOS側で共有フォルダの作成とマウント
  4. ゲストOSの起動時に自動マウント

VirtualBox Guest Additionのインストール

VirtualBoxにはファイル共有をするためのアプリケーションが用意されています.それがVirtualBox Guest Additionです.これをまずはインストールします.このアプリケーションはホストOS側にISOイメージとしてありますので,ISOイメージをゲストOS側で使えるようにします.VRaspbianをインストールしてあるところを右クリックすると,下のようなポップアップが現れますので,「設定」を選択してください.

01

 

次に左側にある「ストレージ」を選択し,ストレージドライブとしてからになっているCD-ROM/DVDを選択,さらに右側にあるCD-ROM/DVDのアイコンを選択します.その後,「仮想光学ディスクファイルを選択」を選んでください.

02

 

VirtualBox Guest Additionは下記のフォルダにありますのでそこまで移動し,「VBoxGuestAdditions.iso」を選択してください.

03

 

選択しますと,下のようにCD-ROM/DVDとして,上記のイメージが表示されます.

04

 

 次にRaspbian側の設定をします.Raspbianを起動後,VBoxGuestAdditionをマウントするために次のコマンドを実行します.なお,この最後のrebootをしています.これにより,設定が有効になります.

$ sudo mkdir /mnt/cdrom
$ sudo mount -r /dev/cdrom /mnt/cdrom
$ sudo /mnt/cdrom/VBoxLinuxAdditions.run
$ sudo reboot

 ホストOS側で共有フォルダの作成

次にホストOS(今回はWindows)側で共有フォルダを作成します.共有したいフォルダを下図のように作成します.ここでは「Raspbianとの共有フォルダ」としてあります.

05

 

 

次にVirtualBoxにて,上記フォルダを共有フォルダに設定します.VirtualBoxにあるRaspbianを下図のように右クリックし,「設定」を選択します.

01

 

次に,左側にある「共有フォルダ―」を選択し,右側にあるフォルダのアイコンを押します.

06

 

次に,先ほど作成したフォルダを「フォルダのパス」として選択します.さらに「フォルダー名」としてRaspbianSharedFolderとここでは記入します.RaspbianSharedFolderは,Raspbian側に表示されるフォルダ名になるため,アルファベットのみの方が良いです.最後に,「永続化する」にチェックを入れておきます.

07

 

 ゲストOS側で共有フォルダの作成とマウント

次にゲストOS(Raspbian)側で共有フォルダの作成とマウントを行います.ここでは,mntフォルダの下にhostfsフォルダを作成し,そこへマウントしておきます.

$ sudo mkdir /mnt/hostfs
$ sudo mount -t vboxsf RaspbianSharedFolder /mnt/hostfs

 これで,ゲスト側の「/mnt/hostfs」と,ホスト側では「Raspbianとの共有フォルダ」は共有されているはずです.フォルダが共有されているか試しに何かファイルを置いてみてください.

 

ゲストOSの起動時に自動マウント

これまでの設定では,Raspbianを再起動してしまうとマウントが解除されてしまいます.そこで起動するごとに自動でマウントするようにします.それには下のようにfstabを編集します.

$ sudo vi /etc/fstab

fstabの一番最後あたりに,次の1行を追加しましょう.

RaspbianSharedFolder /mnt/hostfs vboxsf defaults 0 0

これで再起動後もマウントしてくれるはずです.