LoginSignup
10
15

More than 3 years have passed since last update.

CentOS7 on VirtualBOXにおけるホストOSとの共有フォルダ設定方法

Last updated at Posted at 2020-05-27

はじめに

はじめまして。「かびごん」といいます。
普段は、金融機関でビジネスを理解しようとしないデータサイエンティストをしています。
Qiita初記事として自分の奮闘記録を残したいと思います。

執筆の背景

UdemyでDockerを勉強を進める際に、VirtualBoxの共有フォルダ設定(ホストOS⇔ゲストOS)が必要になりそこでハマってしまいました。
先駆者の方々の記事はあるものの、どれもそのままでは解決できず、さまざまな情報のアンサンブル学習の末、設定が出来ましたので備忘録も含めこちらに記します。
参照された方の一助となれれば幸いです。

※Vagrantを使えば楽だよ!という事は承知の上、どうしても下記環境下での作業が求められていたため奮闘しておりました。

実行環境

(Host OS) Windows10 pro
(Guest OS:virtual)CentOS7.7 (1908) CLI
(Virtualization)VirtualBox 6.1.8-137981
試行時期:2020/05/28

手順

CentOS導入~起動までは省きます。

VirtualBoxでは、[設定]>[共有フォルダー]といったいかにも親切そうな設定項目があり、ここでホストOSのフォルダを指定してあげれば出来るんだろうな~と思ったのもつかの間。
VirutalBoxでは共有フォルダーの設定の前に、
「Guest Additions」というものを設定してあげなければいけません。
※これが厄介

下記で、一連の流れを説明します。

GetAdditions設定前夜(パッケージ更新)

suでroot権限に移った後
パッケージのアップデートと必要なパッケージのインストールを実施します。

yum -y update
yum -y install kernel-devel kernel-headers gcc gcc-c++
yum -y install bzip2

kernel-develkernel-headersから初めてしまうと、アップデートされていない既存kernelとの整合性がとれなくなってしまうので、kernelのアップデート(yum -y updateに含まれる)を先に実行する意味があります。

bzip2は後の工程で必要になるので、ここでインストールする事をお勧めします。

上記の工程が終了したら一度reboot再起動しましょう!

GuestAdditionsのインストール

(再起動後また、suコマンドでroot権限に移行しておく)

GuestAdditionsはisoイメージ形式で導入しますが、特段入手する必要なく、VirtualBoxに標準で搭載されています。
※搭載されているだけで、それを読み込む必要があります。

ISOイメージの挿入

VirtualBoxの[デバイス]>[Guest Additions CDイメージの挿入...]を選択し接続。
ss1.png
※上図赤枠部分

インストール

接続したディスクイメージをCentOS内mediaフォルダへマウントします。

mount -r /dev/cdrom /media

mediaフォルダへ移動し、
マウントの完了後、マウントイメージからインストールを実行します。
ここで行う、VBoxLinuxAdditions.runの際にbzip2パッケージが必要となります。

cd /media
sh ./VBoxLinuxAdditions.run

インストールが完了したら、イメージをアンマウントして再起動をする。

cd
umount /media
reboot

また、アンマウントはGUIからも実行できる。
ss2.png

共有フォルダの設定

再起動からの復帰後、[デバイス]>[共有フォルダー]>[共有フォルダー設定]から、
ホストOS(今回は、Windows)内の共有したいフォルダを設定します。
ss3.png

[共有フォルダー設定]を選択すると、下記ウィンドウへ遷移します。
ss4.png
「共有フォルダー」を選択し、右側の新規追加ボタンを押します。
ss5.png
任意のフォルダを選択します。(今回はdocker_fileというフォルダ名)
また、

  • 自動マウント(A)
  • 永続化する(M)

にチェックをし、[OK]を押して閉じる。

これで、ゲストOS(CentOS)内で/media/sf_{共有フォルダ名}今回の場合は、/media/sf_docker_fileとして共有される。
※もし、共有されていない場合は再起動をかけてみましょう。

共有フォルダのマウント

上記、/media/sf_{共有フォルダ名}以外でマウントしたい場合は、

su
cd media/
mount -t vboxsf sf_{共有フォルダ名} {マウント先のディレクトリ名}
reboot

で、ゲストOS内で別フォルダを共有フォルダとすることができます。

アクセス制限設定

上記までの作業で、rootユーザーが共有フォルダを利用可能になりますが、その他一般ユーザーに共有フォルダのアクセス権を与える場合は、下記のコマンドでユーザーを追加します。

su
gpasswd --add {ユーザ名} vboxsf

関連記事

各記事、大変参考にさせて頂き、一部引用させて頂いた部分があります。
もし、ご迷惑なようであればご指摘頂けますと幸いです。

参考サイト

10
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
15