Help us understand the problem. What is going on with this article?

VagrantでVirtual Box上に作ったゲストマシン(CentOS)の共有フォルダが同期しない

記事概要

CentOS 7の公式のVagrant boxから作ったVirtual Box上の仮想マシンにおいて、共有フォルダが同期されませんでした。原因と解決策について記します。

記事詳細

実行環境

Windows 10 Home
Virtual Box 6.0.14
Vagrant 2.2.6

原因

上記の環境において、共有フォルダが同期されない原因は、CentOS 7の公式のVagrant boxguest additionsがインストールされていないことです。

guest additionsとは、Virtual Boxのホストマシンとゲストマシンの連携を良くするためのツールです。

vagrant upでゲストマシンを起動すると、以下のようなメッセージが表示されます。

==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest    
    default: additions are required for forwarded ports, shared folders, host only  
    default: networking, and more. If SSH fails on this machine, please install     
    default: the guest additions and repackage the box to continue.
    default: 
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.

共有フォルダが動作するにはguest additionsが必要で、CentOS 7の公式のVagrant boxには、guest additionsがインストールされてないと書かれています。

ちなみに、Ubuntu 18.04の公式のVagrant boxは、guest additionsが最初からインストールされています。

解決策

以下の2つの作業を行うことで、共有フォルダが同期されるようになりました。

【1】vagrant-vbguestプラグインのインストール

vagrant-vbguestプラグインをインストールします。
vagrant-vbguestは、ホストマシンのguest additionsをゲストマシンに自動的にインストールしてくれるVagrantのプラグインです。

インストールは、以下のコマンドを入力するだけです。

vagrant plugin install vagrant-vbguest

これで、ゲストマシンの起動時にguest additionsが自動的にインストールされるようになりました。

【2】共有フォルダのtypeの指定

共有フォルダのtypeをvirtualboxに指定します。
Vagrantfileに以下のような設定を記述することで、共有フォルダのtypeを指定できます(ホストマシンとゲストマシンのディレクトリの設定は自分の環境に合わせて下さい)。

config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

通常、vagrantは最適なtypeを自動的に設定してくれます。
従って、通常はtypeを設定する必要はありません。

しかし、今回の場合はtypeを明示的に設定する必要がありました。

これで、ゲストマシンの共有フォルダが同期されるようになりました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした