macOS_HighSierraにVirtualBox-5.2.2とUbuntu-16.04をインストールする方法

#1.はじめに
Linuxディストリビューションを使いたいと思いデュアルブートを検討したものの、バックアップやBIOS設定等のリスクがありそうだったので別の方法を探した結果、仮想化が良さそうだったので試してみました。
今回は、VirtualBox（後述）を使ってUbuntuをインストールしたので記事にしてまとめてみました。

##1-1.Ubuntuとは
最も人気が高いLinuxディストリビューションです。
Ubuntuのコミュニティには、Ubuntu Japanese Teamがあり、日本語化へのサポート活動などを行っています。（参考は[こちら](https://www.ubuntulinux.jp/ubuntu)）
今回は、LinuxOSの中でもこのUbuntuを使用することとします。

##1-2.VirtualBoxとは
VirtualBoxは、使用しているPC上に仮想的なPCを作成し、別のOSをインストール・実行できるフリーのPC仮想化ソフトです（参考は[こちら](http://jukenki.com/contents/other/virtualbox/about-virtualbox.html)）。
VirtualBoxのPC仮想化ソフトを使用することにより、macOS上でUbuntuを動作させることができます。PC仮想化ソフトにはVMware Playerもありますが、VirtualBoxが一番知名度が高く、高機能のようです。
VMware Playerと比較するとVirtualBoxは描画が遅いと言われていますが、後述の3Dアクセラレーションを有効にするとそこまで気になりませんでした。

#2.VirtualBoxのインストール
早速VirutalBoxをインストールします。
[こちら](https://www.virtualbox.org/wiki/Downloads)のページからVirtualBoxをダウンロードします。
今回はmacOSなので「OS X hosts」をダウンロードします。
<img width="1312" alt="スクリーンショット 2017-12-18 13.02.04.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/f5bbde89-da22-d4b7-6fd1-e602fd659933.png">

ダウンロードが完了したら下記のようなアプリが立ち上がるので、「VirtualBox.pkg」をダブルクリックします。
<img width="785" alt="スクリーンショット 2017-12-18 13.02.56.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/498b0b1a-f0ab-1efe-2523-87d277280f87.png">

「続ける」→「インストール」をクリックします。
<img width="732" alt="スクリーンショット 2017-12-18 13.03.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/39f4514e-d118-fd90-1853-704f5165c2fc.png">
<img width="732" alt="スクリーンショット 2017-12-18 13.03.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/8cd56c3f-8587-444d-acd0-e24ada45ba78.png">
<img width="732" alt="スクリーンショット 2017-12-18 13.07.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/3ee17511-868d-0a9e-dbd7-1c90dae1f1cf.png">

！？
「インストールできませんでした」というダイアログが出ました。
そのような時は、「システム環境設定」→「セキュリティとプライバシー」を開き、ダウンロードしたアプリケーションの実行を許可します。
VirtualBoxがブロックされているはずなので許可します。
<img width="780" alt="スクリーンショット 2017-12-18 13.07.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/866fed3d-78ea-4325-4441-0491b90f5128.png">

すると、インストールが正常にできました！
<img width="732" alt="スクリーンショット 2017-12-18 13.08.46.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/ba31096d-ff3e-3ed5-9204-8f038bb4cfd2.png">

#3.VirtualBoxの起動とUbuntuのインストール
VirtualBoxを起動し、そこにUbuntuをインストールします。
まずはVirtualBoxを起動します。

##3-1.VirtualBoxの起動
「アプリケーション」→「VirtualBox」をダブルクリックします。
<img width="882" alt="スクリーンショット 2017-12-18 13.09.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/fb1c2de2-9914-0107-50ce-6e91eb87c1d7.png">

VirtualBoxマネージャーが起動します。
<img width="874" alt="スクリーンショット 2017-12-18 13.10.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/6c6e280e-3db3-8b35-4b6d-0abfc281616a.png">

##3-2.Ubuntuのダウンロード

[こちら](https://www.ubuntulinux.jp/download/ja-remix)からUbuntuのISOイメージのダウンロードを行います。

<img width="1312" alt="スクリーンショット 2017-12-18 13.11.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/6da50680-975a-48fc-d6bc-427fa63d6689.png">


##3-3.VirtualBoxへUbuntuをインストール

VirtualBoxマネージャーより「新規」→「名前とオペレーティングシステム」で任意の仮想化PC名を入力し、オペレーティングシステムで「Linux」を選択します。
<img width="874" alt="スクリーンショット 2017-12-18 13.18.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/c45441cb-141a-cb7c-bac5-de85bae30b78.png">

メモリサイズを1Gにします。
<img width="874" alt="スクリーンショット 2017-12-18 13.19.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/2ea0bf85-e68d-b2de-ceb4-07a92c020538.png">

ハードディスクを作成します。
<img width="874" alt="スクリーンショット 2017-12-18 13.19.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/8598230e-95aa-256d-425e-a35e32f1b393.png">

VirtualBox標準のVDI形式を選択します。
<img width="874" alt="スクリーンショット 2017-12-18 13.21.19.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/0a8f4620-cb57-ada3-b721-9e7c97c8879c.png">

ディスクサイズは固定にします。
<img width="874" alt="スクリーンショット 2017-12-18 13.21.39.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/50066e2e-1c3e-d187-f959-9d82500f8f3d.png">

ハードディスクサイズはデフォルトは10Gです。今回は余裕を持って30Gにしました。
<img width="874" alt="スクリーンショット 2017-12-18 13.22.12.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/c6d507a7-6c51-74c7-6e84-0a844bf4f35c.png">

「起動」ボタンをクリックします。
<img width="1088" alt="スクリーンショット 2017-12-18 13.23.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/b22e601f-d891-ef81-c417-80d41429de68.png">

ダウンロードしたUbuntuのisoファイルを選択します。
<img width="752" alt="スクリーンショット 2017-12-18 13.25.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/8e8a994e-ca49-34f9-0709-da69c9e4e85b.png">

「Start」ボタンをクリックします。
<img width="752" alt="スクリーンショット 2017-12-18 13.25.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/454c0c06-0fbd-f60d-4461-0e4e7d0ee35a.png">

インストール画面が出てくるので、日本語を選択し、「Ubuntuをインストール」をクリックします。
<img width="1108" alt="スクリーンショット 2017-12-18 13.26.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/5afa1d45-3daf-fb11-7fb6-aad5142ac053.png">

両方にチェックを入れます。
<img width="1108" alt="スクリーンショット 2017-12-18 13.29.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/1c9352c9-6d42-0f81-4ed5-520d33058140.png">

一番上のラジオボタンを選択します。
<img width="1108" alt="スクリーンショット 2017-12-18 13.33.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/a7f8b5d8-8730-b802-b7eb-6603f73c8af7.png">

「続ける」をクリックします。
<img width="1108" alt="スクリーンショット 2017-12-18 13.33.39.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/b2bf9b4a-acbd-dcc0-41d0-06a7b8385212.png">

日本が含まれているリージョンを選択します。
<img width="1108" alt="スクリーンショット 2017-12-18 13.34.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/06e09757-9556-7f2d-74a4-9e177f6bc677.png">

「日本語」→「日本語」→「続ける」をクリックします。
<img width="1108" alt="スクリーンショット 2017-12-18 13.34.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/7d6f1adb-8dde-6ce3-e89e-04c05b246bbe.png">

任意のスーパーユーザー名とパスワードを入力し、「続ける」をクリックします。
<img width="1108" alt="スクリーンショット 2017-12-18 13.36.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/f2dcbf04-1ee4-5bd1-8a16-f11a1a76586a.png">

Ubuntuのインストールが始まります。
しばらく時間がかかるので一旦休憩しましょう。
<img width="1108" alt="スクリーンショット 2017-12-18 13.36.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/8e6e9e6d-d258-5c54-93ed-3b57dc3afe87.png">

再起動します。
<img width="1108" alt="スクリーンショット 2017-12-18 13.48.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/290aa533-90dc-e7a1-10d0-9a916f2f64da.png">

再起動中…
<img width="804" alt="スクリーンショット 2017-12-18 13.54.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/edd48180-234d-741b-a18e-413e1b4422be.png">

ここで全く動かなくなってしまったので強制的にバツボタンを押して終了しました。
<img width="804" alt="スクリーンショット 2017-12-18 14.10.20.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/7b522c69-0616-5085-18fb-2889a955ee93.png">

VirtualBoxマネージャーから、再度「起動」ボタンをクリックします。
<img width="1088" alt="スクリーンショット 2017-12-18 14.11.00.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/cd4e242d-ca8d-aecc-9ef5-0874e1c0c0a1.png">
1度目の再起動中に無理やり終了させましたが、うまく起動できました。
<img width="1108" alt="スクリーンショット 2017-12-18 14.12.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/bde19f03-6831-e927-ed36-3960517af74f.png">

##3-4.Guest Additionsをインストールする
ゲストPCにOSを入れた直後では、デスクトップ画面をクリックするとマウスカーソルがゲストOSの中に入ってしまい、右Altキーを押さないとホストOSにカーソルが戻ってきません。これをマウスキャプチャーと言います。

このままでは使い勝手が悪いので、ホストOSとゲストOS間でマウスカーソルをシームレスに移動させるために、Guest Additionsをインストールします。

Guest Additionsは以下です（参考は[こちら](http://vboxmania.net/content/guest-additions%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)）。

    マウスカーソルのシームレスな移動
    シームレスなウィンドウサイズの変更
    高解像度のデスクトップ画面が使用可能
    ゲストマシンの制御と監視
    ホストマシンとの時刻の同期
    共有フォルダ
    クリップボードの共有
    オートログオン（Windows,Linux,Solarisのみ）
    ハードウェア3Dアクセラレーションのサポート

「Devices」→「Insert Guest Addition CD image…」をクリックします。
「"VBox_GAs_5.2.2"には自動的に起動するソフトウェアが含まれています。実行しますか？」と聞かれるので、「実行する」をクリックします。
![スクリーンショット 2017-12-22 0.57.42.png](https://qiita-image-store.s3.amazonaws.com/0/222516/2cdeaa46-ccfb-7c59-807e-2e57a91b3e79.png)

スーパーユーザーで設定したパスワードを入力します。
![スクリーンショット 2017-12-22 0.57.58.png](https://qiita-image-store.s3.amazonaws.com/0/222516/67ad76da-a0e1-fa1c-4a50-214afadf14f8.png)

コンソールが表示されるので、「Press Return to close this window…」と表示されたら、エンターキーを押して終了します。
![スクリーンショット 2017-12-22 0.59.22.png](https://qiita-image-store.s3.amazonaws.com/0/222516/674746f5-9f43-3805-20a0-5a293a31b4e2.png)

左下CDアイコンをクリックするとVBoxの内容一覧を見ることができます。
ここのパスをコピーしておきます。（ここでは説明の便宜上、「VBoxPath」とします）
<img width="988" alt="スクリーンショット 2017-12-22 1.01.24.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/ab979c4d-fa72-43a6-9319-d6b517e7ca6c.png">

ターミナルを開き、下記のコマンドを入力したら、パスワードを聞かれるのでスーパーユーザーのパスワードを入力します。
```$ cd 「VBoxPath」
$ sudo sh VBoxLinuxAdditions.run```
![スクリーンショット 2017-12-22 1.13.52.png](https://qiita-image-store.s3.amazonaws.com/0/222516/3bac0267-25fa-7058-46da-c991ac38b1b9.png)

Guest Additionsがインストールされます。
![スクリーンショット 2017-12-22 1.15.26.png](https://qiita-image-store.s3.amazonaws.com/0/222516/8c43bdad-fc07-63ac-2bb1-76b84cfea063.png)

3Dアクセラレーションの設定を変更するため、一度シャットダウンします。
（ここではターミナルからシャットダウンを行いました。GUIでのシャットダウンも可能です。）
コンソールで「terminal」と検索し、「端末」をクリックします。
![スクリーンショット 2017-12-18 14.43.43.png](https://qiita-image-store.s3.amazonaws.com/0/222516/93dc4710-fc09-3e9b-302d-3741fe8d2b97.png)

下記コマンドを入力すると、パスワードを求められるのでスーパーユーザーのパスワードを入力します。
```$ sudo shutdown -h now```
<img width="1108" alt="スクリーンショット 2017-12-18 14.20.19.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/6d50b0d1-e060-7784-364f-b0757935ea1d.png">
以上でシャットダウンが完了します。

##3-5.3Dアクセラレーションを有効化する
通常、仮想PC上で稼働するゲストOS（今回はUbuntu）はAPIを介してソフトウェアをエミュレートするので動きが遅いです。滑らかに動かしたいため、3Dアクセラレーションを有効化します。
3Dアクセラレーションを有効化することにより、ホストOS側（今回はmacOS）のハードウェアを使用してゲストOSの描画をすることができます。
<img width="1088" alt="スクリーンショット 2017-12-18 14.42.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/6c4cccc7-48ed-f132-008b-6fa671a94f3f.png">
VirtualBoxの設定から、「ディスプレイ」タブを選択し、ビデオメモリーを最大にします。そして「3Dアクセラレーションを有効化する」にチェックオンします。
<img width="887" alt="スクリーンショット 2017-12-18 14.41.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/448efee7-0899-c892-29de-cfcaf039f27e.png">
これで、ゲストOS側も滑らかに動くようになりました。

##3-6.共有フォルダの設定をする
ホストOS（macOS）とゲストOS（Ubuntu）間でファイルのやり取りをするために、共有フォルダを設定します。

VirtualBoxマネージャーの「共有フォルダ」をクリックします。
<img width="1088" alt="スクリーンショット 2017-12-22 22.04.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/35817178-8c19-364d-6241-1621fc36b655.png">

フォルダ追加のアイコンが右にあるのでクリックします。
<img width="887" alt="スクリーンショット 2017-12-22 22.04.44.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/06c20320-6f3c-b991-0095-716278861924.png">

任意の名前のフォルダを作成し、選択します。
ここでは「vbox_share」という名前のフォルダを作りました。
同フォルダ内にはゲストOSのUbuntu側で共有できていることを確認するために「test.txt」というファイルを作成しました。
<img width="887" alt="スクリーンショット 2017-12-22 22.05.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/d5f1819f-4e0d-29b0-0476-ff05dcc2ab05.png">

自動マウントにチェックを入れます。
<img width="887" alt="スクリーンショット 2017-12-22 22.05.33.png" src="https://qiita-image-store.s3.amazonaws.com/0/222516/738d395d-7e4f-47d8-c651-ae70d1839e49.png">

ゲストOSを起動してターミナルを開きます。
下記コマンドを入力すると、「sf_+共有ファイル名称」のフォルダがあることがわかります。
```$ ls -l /media```

このままの権限だと、rootかvboxsfグループのユーザーでしかアクセスできないため、既存ユーザーをvboxsfグループに追加しておきます。
下記コマンドを入力して有効にします。
```$ sudo gpasswd -a [スーパーユーザー名] vboxsf```

有効にしたら、一度再起動します。
```$ reboot```
![スクリーンショット 2017-12-22 22.13.44.png](https://qiita-image-store.s3.amazonaws.com/0/222516/6199bd7b-ba52-200b-e044-b2e46c490d24.png)

先ほど、ホストOS側に作っておいた「vbox_share」フォルダ内の「test.txt」がゲストOS側の「sf_vbox_share」内に入っていることが確認できます。
![スクリーンショット 2017-12-22 22.15.32.png](https://qiita-image-store.s3.amazonaws.com/0/222516/1a975963-e8e5-62a5-234b-f775c82e1043.png)

あとはデスクトップ等にシンボリックリンク（ショートカット）を作っておけば楽に共有できます。
下記コマンドでシンボリックリンクをデスクトップに作成することができます。
```$ ln -s /media/sf_+[共有フォルダ名] /home/[スーパーユーザー名]/デスクトップ```
![スクリーンショット 2017-12-22 22.48.52.png](https://qiita-image-store.s3.amazonaws.com/0/222516/02970844-ebf9-ba9b-199d-8a523501a9b6.png)

これで、フォルダの共有設定は終わりです。


#4.終わりに
無事、VirtualBoxとUbuntuをインストールできました。

と、思ったら下記のような「システムプログラムの問題が見つかりました」というエラーダイアログが出ました。
![スクリーンショット 2017-12-21 19.16.08.png](https://qiita-image-store.s3.amazonaws.com/0/222516/706337bc-a743-2c91-6bec-6281b6463dd4.png)
原因はクラッシュした時のレポートファイルが、起動時にエラーメッセージを表示しているようです。このレポートファイルを削除すれば、Ubuntuの起動時に表示されるエラーメッセージが無くなります。

ターミナルを開いて
```$ sudo rm -rf /var/crash/*```
とコマンドを入れると、レポートファイルを削除することができます。
![スクリーンショット 2017-12-21 19.17.55.png](https://qiita-image-store.s3.amazonaws.com/0/222516/1dfe86b2-9720-50a8-e579-f9af101c42d1.png)