VagrantとVirtualBoxでWindows10PCにUbuntu16.04の仮想環境を作る

Windows10PCにBirtualBoxとVagrantでUbuntu16.04の仮想環境を作りました。
>Windows10はデスクトップアプリ(bash)でUbuntu使うこともできますので必ず仮想環境立てないと使えないという訳ではないです。

#環境
- OS：Windows10 Pro 
- バージョン：1703
- ビルド：15063.608
-  実装RAM：16.0GB
-  システムの種類：64ビット

#構築手順
##VirtualBoxインストール
[VirtualBoxダウンロードサイト](https://www.virtualbox.org/wiki/Download_Old_Builds_5_0)から5.xのバージョンをダウンロードしインストールします。インストール中のオプションは全てデフォルトでOKです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/9f37b4b7-9f2e-87bf-6f5d-f772d967ac2a.png)

##Vagrantのインストール
[Vagrantダウンロードサイト](https://www.vagrantup.com/downloads.html)からダウンロードしインストールします。私は１つ古い[1.7.4](https://releases.hashicorp.com/vagrant/1.7.4/)をインストールしました。インストール後は再起動します。

##Ubuntuインストール
Ubuntuをダウンロードして仮想環境にインストールします。

```cmd.exe:コマンドプロンプト管理者モード
>vagrant box add ubuntu/xenial64
==> box: Loading metadata for box 'ubuntu/xenial64'
    box: URL: https://atlas.hashicorp.com/ubuntu/xenial64
==> box: Adding box 'ubuntu/xenial64' (v20170929.0.0) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20170929.0.0/providers/virtualbox.box
==> box: Box download is resuming from prior download progress
    box: Progress: 100% (Rate: 5425k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'ubuntu/xenial64' (v20170929.0.0) for 'virtualbox'!
```

任意のディレクトリにVagrantfileを作成します。
作りたいディレクトリに移動して以下を実行します。

```cmd.exe:コマンドプロンプト管理者モード
C:\Users\%USERPRIFILE%\vagrant\ubuntu64_16>vagrant init ubuntu/xenial64

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.
```

##Ubuntu起動
Ubuntuを起動します。

```cmd.exe:コマンドプロンプト管理者モード
C:\Users\%USERPRIFILE%\vagrant\ubuntu64_16>vagrant up
```

>###起動失敗
私のPCでは始め以下で起動失敗しました。

```
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> default: Setting the name of the VM: ubuntu64_16_default_1506866012595_65026
==> 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: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "fcdea25b-f93c-4c5f-8be9-eed31645455c", "--type", "headless"]
Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
```
>[ここ](http://eiua-memo.tumblr.com/post/143625719906/vagrantwindows10%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E5%BE%8Cvt-x-is-not)を参考にしてHyper-Vを無効に変更してリブート。（私デフォルトから変えてたらしい）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/396d278a-5d41-2959-33a4-fcba37a89178.png)

起動できました。

```:cmd.exe
C:\Users\take\vagrant\ubuntu64_16>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> 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: Running 'pre-boot' VM customizations...
==> 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: ubuntu
    default: SSH auth method: password
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/kahori_takeda/vagrant/ubuntu64_16
```

>その他：Vagrang起動に失敗した場合の参考
https://qiita.com/amateurgrammer/items/21e4456b8318db877f5b

#rLoginインストール
Ubunutuにログインするためのターミナルをインストール。teratermとか好きなものでいいですが今回はRLoginを使ってみます。[ここ](http://nanno.dip.jp/softlib/man/rlogin/#INSTALL)からダウンロードしてexeファイルを好きな所に置きます。私はrlogin_x64.zipをダウンロードして解凍しました。

#ログイン
RLogin.exeを起動して新規作成から接続設定。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/0c867179-3d77-7487-8753-effec91c155a.png)
SSH Identity Keyは私はC:\Users\take\vagrant\ubuntu64_16\.vagrant\machines\default\virtualbox\private_keyファイルを指定しています。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/28fabccb-9b27-b7e6-84c9-d779598510bd.png)
作成できたらダブルクリックして接続。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/e06c4fbd-362d-f794-4a15-9cb464ffd2d1.png)

#アップデート
パッケージを最新化しておきます。

```:RLogin.exe
ubuntu@ubuntu-xenial:~$ sudo apt-get update
ヒット:1 http://archive.ubuntu.com/ubuntu xenial InRelease    
取得:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
取得:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                  
取得:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]                
取得:5 http://archive.ubuntu.com/ubuntu xenial/main Sources [868 kB]                       
取得:6 http://security.ubuntu.com/ubuntu xenial-security/main Sources [92.3 kB]                                                                                                              
取得:7 http://archive.ubuntu.com/ubuntu xenial/restricted Sources [4,808 B]                                                                                                                  
取得:8 http://security.ubuntu.com/ubuntu xenial-security/restricted Sources [2,600 B]                                                                                                        
取得:9 http://archive.ubuntu.com/ubuntu xenial/universe Sources [7,728 kB]                                                                                                                   
取得:10 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [43.6 kB]                                                                                                         
取得:11 http://security.ubuntu.com/ubuntu xenial-security/multiverse Sources [1,140 B]                                                                                                       
取得:12 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [170 kB]                                                                                                   
取得:13 http://security.ubuntu.com/ubuntu xenial-security/universe Translation-en [90.0 kB]                                                                                                  
取得:14 http://archive.ubuntu.com/ubuntu xenial/multiverse Sources [179 kB]                                                                                                                  
取得:15 http://archive.ubuntu.com/ubuntu xenial/main Translation-ja [290 kB]                                                                                                                 
取得:16 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7,532 kB]                                                                                                           
取得:17 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2,760 B]                                                                                                
取得:18 http://security.ubuntu.com/ubuntu xenial-security/multiverse Translation-en [1,236 B]                                                                                                
取得:19 http://archive.ubuntu.com/ubuntu xenial/universe Translation-ja [1,034 kB]                                                                                                           
取得:20 http://archive.ubuntu.com/ubuntu xenial/universe Translation-en [4,354 kB]                                                                                                           
取得:21 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [144 kB]                                                                                                           
取得:22 http://archive.ubuntu.com/ubuntu xenial/multiverse Translation-ja [8,704 B]                                                                                                          
取得:23 http://archive.ubuntu.com/ubuntu xenial/multiverse Translation-en [106 kB]                                                                                                           
取得:24 http://archive.ubuntu.com/ubuntu xenial-updates/main Sources [276 kB]                                                                                                                
取得:25 http://archive.ubuntu.com/ubuntu xenial-updates/restricted Sources [3,404 B]                                                                                                         
取得:26 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [176 kB]                                                                                                            
取得:27 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Sources [7,208 B]                                                                                                         
取得:28 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [634 kB]                                                                                                         
取得:29 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [539 kB]                                                                                                     
取得:30 http://archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [218 kB]                                                                                                     
取得:31 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [15.3 kB]                                                                                                  
取得:32 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [7,544 B]                                                                                                  
取得:33 http://archive.ubuntu.com/ubuntu xenial-backports/main Sources [3,376 B]                                                                                                             
取得:34 http://archive.ubuntu.com/ubuntu xenial-backports/universe Sources [4,376 B]                                                                                                         
取得:35 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [4,836 B]                                                                                                      
取得:36 http://archive.ubuntu.com/ubuntu xenial-backports/main Translation-en [3,220 B]                                                                                                      
取得:37 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [5,896 B]                                                                                                  
取得:38 http://archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3,060 B]                                                                                                  
24.9 MB を 2分 10秒 で取得しました (190 kB/s)                                                                                                                                                
パッケージリストを読み込んでいます... 完了
ubuntu@ubuntu-xenial:~$ 
```

>仮想環境停止方法
RLogin.exeコンソールからはexitで抜けて、Ubuntu仮想環境の停止はコマンドプロンプトから以下で停止できます。

```cmd.exe
>cd %USERPROFILE%\vagrant\ubuntu64_16
>vagrant halt
==> default: Attempting graceful shutdown of VM...
```