Windows 7マシンで、VirtualBox+Vagrantを使いUbuntu 14.04を動かす

Updated:

ノートPC(ASUS Zenbook, Windows 7)上に、VirtualBox + Vagrantを使って、Linux環境(Ubuntu 14.04LTS)を作成した際のメモです。

VirtualBoxのインストール

VirtualBoxの公式サイトから、Windows用の最新バージョンをダウンロードします。
今回は、VirtualBox 4.3.12 for Windows hostsをダウンロードしました。

次にダウンロードしたファイルを実行します。途中に、何回かダイアログ(VMが使用するネットワークやUSBのドライバをインストートするか、など)が表示されますが、デフォルトのままで進んで構いません。最後にマシンを再起動してインストールが完了です。

Vagrantのインストール

Vagrantの公式サイトのダウンロードページから、Windows用の最新版をダウンロードします。今回は、Vagrant 1.6.3 for Windowsをダウンロードしました。

次にダウンロードしたファイルを実行します。途中でダイアログが表示されたら、デフォルトを選んで進みます。最後にマシンを再起動してインストールが完了します。これで仮想マシンを実行する準備が整いました。

Vagrant用のOSイメージをインストール

仮想マシン(VM)で使用するOSのイメージは、http://www.vagrantbox.es/で公開されています。様々なOSやディストリビューションがあるので、使いたいものを選びます。ここではUbuntu 14.04 (64bit)のオフィシャル版を使うことにしました。

Official Ubuntu 14.04 daily Cloud Image amd64 (Development release, No Guest Additions):
https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

vagrant box addコマンドを使い、OSのイメージファイルをvagrant環境にダウンロードします。

vagrant box add NAME URL

ここでNAMEは、ダウンロードしたOSイメージに付ける名称です。Vagrantで仮想マシンを起動する際には、この名称を使います。URLはOSイメージのURLです。

実際には次のように指定しました。

vagrant box add ubuntu14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

なお、このコマンドは、数百MバイトのOSイメージをダウンロードするので、時間がかかります。しかし、これ以降、実際に仮想マシンを作成して起動する際には、ここでダウンロードしたOSイメージが使用されるので、さほど時間はかかりません。

仮想マシンを初期化して起動する

仮想マシンの設定ファイルを置くために、適当なディレクトリを作成します。仮想マシンを使う際には、このディレトリにcdします。

まず最初にvagrant initコマンドを実行して、仮想マシンを初期化します。2番目の引数にはOSイメージ名ubuntu14.04を指定します。これは、先ほどvagrant box addで指定した名前と同じです。

C:\vagrant\myhost>vagrant init ubuntu14.04
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

仮想マシンを起動するには、vagrant upコマンドを使います。

C:\vagrant\myhost>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu14.04'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: myhost_default_1402444222649_68982
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/vagrant/myhost

これで仮想マシンがスタートしました。ブート時に以下のように、SSH接続のアドレス、ポート、ユーザ名が表示されます(ちなみに、パスワードもvagrantとなっています)。

    default: 22 => 2222 (adapter 1)
 
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant

vagrant本来の使い方では、仮想マシンにログインするにはvagrant sshコマンドを使うのですが、Windowsにはsshコマンドが入っていません。そこで、ターミナルソフト(例えばPutty)を使って、仮想マシンにログインします。

上の実行例では次のように設定すればログインできるはずです。

アドレス: 127.0.0.1
ポート: 2222
ユーザ: vagrant
パスワード: vagrant

ユーザvagrantはsudoできる設定になっているので、あとは好きなようにマシンの環境を設定しましょう。

仮想マシンを停止する

仮想マシンを停止するコマンドはvagrant suspendとvagrant haltの2つがあります。

vagrant suspendコマンド

vagrant suspendは、仮想マシンを「休止状態」(hybernation)にします。つまり現在の仮想マシンの状態をディスクに書き出します。後ほどvagrant upで仮想マシンを起動すると、vagrant suspendした直前の状態からリスタートします。

vagrant haltコマンド

vagrant haltは、仮想マシンの「電源を強制的にオフ」にします。これは起動中のマシンの電源スイッチを切ることに相当します。次にvagrant upすると、仮想マシンはブ一トします。

仮想マシンをシャットダウンする際には、仮想マシンでpoweroffコマンドを実行するほうが良いでしょう。

仮想マシンの状態を調べる: vagrant statusコマンド

仮想マシンの現在の状態を表示します。

suspend状態なら次のように表示されます。

C:\vagrant\myhost>vagrant status
Current machine states:
 
default                   saved (virtualbox)
 
To resume this VM, simply run `vagrant up`.

実行中なら次のように表示されます。

C:\vagrant\myhost>vagrant status
Current machine states:
 
default                   running (virtualbox)
 
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

仮想マシンの「電源がオフ」ならば次のように表示されます。

C:\vagrant\myhost>vagrant status
Current machine states:
 
default                   poweroff (virtualbox)
 
The VM is powered off. To restart the VM, simply run `vagrant up`