何も分からない人のためのVirtualBox記事その3_OSインストール

前回：[何も分からない人のためのVirtualBox記事その２_仮想マシンの作成](https://qiita.com/Hachioji_City/items/4ecf409c6cba16ce6c39)

# VirtualBoxにOSをインストールする。

遂にVirtualboxで作成した仮想マシンにOSをインストールしていく。
しかし仮想ということもあり、とてもイメージが掴みにくい。
先に概要などをまとめるので、イメージを定着させてから手順を紹介する。


# 昔話
いったん仮想環境は置いておいて、普通のPCの話をします。表現が甘い部分は大目に見て下さい…
OS（WindowsやMACなど）はPCの人格みたいなものですが、これらは買ったパソコンを起動させたら既にインストールされているのがほとんど。ではそもそもOSがインストールされていないPCにはどうやってOSをインストールするのか。
最近ではOSをインストールしたUSBを準備しておき、それをPCに接続しています。昔はフロッピーディスクやCDにOSが入っていて、それをPCのCDドライブとかに挿入していたらしいです。すごい時代だ。（以下参考画像。）
<img width="300" alt="CDのWindows君" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/352ee133-db0a-9663-eb1e-7cf97387c28d.png">

>「え、USBにOSを入れる？ってか起動していつものWindowsのログイン画面が出ないPCで、どうやってインストールするの？」と思うかもしれませんが、そこはBIOSというものが…とまた話が逸れるためまたの機会に。

しかしこれで一件落着ではありません。確かにOSが入っているCDやUSBを接続した状態でもPCはOSを使って通常通り動かせる（らしい）のですが、とても重い上に取り外したらPCが機能しなくなります。
よってOSをCDなどからHDDやSSD等のPCに取り付けている記憶装置にインストールして、次回以降はUSBやCD無しでもOSが起動するようにします。これで本当の本当にインストール完了です。



つまり流れとしては

__1.PCを用意する__
__2.OSの入った補助記憶装置(CDとかUSB)を用意する__
__3.PCに補助記憶装置(CDとかUSB)を接続する__
__4.補助記憶装置に入っているOSを、HDDにインストールする__
__5.補助記憶装置(CDとかUSB)を外し、PCのみでOSが起動するか確認する__


という流れになります。
では、これらを仮想マシンで行うとどうなるのか。物理的な作業で行う箇所が全て画面上の作業となります。　
1つ1つ見ていきましょう。
まず __1.PCを用意する__ の工程は既に終わっています。詳しくは記事"[OSインストールその１](https://qiita.com/Hachioji_City/items/4ecf409c6cba16ce6c39)"をご覧下さい。
次に __2.OSの入った記憶装置(CDとかUSB)を用意する__ ですが、これはなんと記事"[OSダウンロード](https://qiita.com/Hachioji_City/items/c5a1479db8bfc0784fef)"で終わっています。
この時にダウンロードしたOSファイルですが、拡張子が.isoでしたよね？このISOファイルというのがOSの入っているCDを表している拡張子なのです。画面上でOSの入ったCDを入手している状態という事です。
>DLフォルダにあるファイルをよく見てみると、確かに.isoファイルはCDのマークになっている！
![vyos07_20221212.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/7c566c6a-1cc7-0ac2-40f5-4d03f15b4afa.png)

ではここからがようやくこの記事の本題。 __3.PCに補助記憶装置(CDとかUSB)を接続する__ はどうするのか。
つまり、どうやって仮想上のマシンで仮想のCDを挿入するのかです。



# 仮想上のマシンで仮想のCDを挿入
![スクリーンショット (16).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/d85c60a5-c842-e08a-28a6-c310ff25cfb7.jpeg)
__作成したマシンを選択__
__黄色い"設定(S)を選択"__
__ストレージを選択__
__"空"を選択__
__青いCDみたいなマークを選択__
__"仮想光学ディスクの選択/作成"を選択__

これで仮想マシンに仮想のCDを挿入した状態になります。__3.PCに補助記憶装置(CDとかUSB)を接続する__ はクリアです。
次は __4.補助記憶装置に入っているOSを、HDDにインストールする__ 工程です。

# isoファイルとなっているOSを、仮想マシンにインストールする

ここからは実際に仮想マシンを起動して作業を行います。

<font color="Red">黒い1で示している仮想マシンを選択すると別ウィンドウで仮想マシンが起動します。開いたマシンをクリックするとカーソルが仮想マシンの中に入り、戻ってこなくなります。解除するには白い2で示している"Right Control"つまりキーボードの右にあるCtrlキーを押下すれば、通常通り、外にカーソルが戻ります。</font>

>プチパニックになった私と同じ轍は踏まないで欲しい…

![keyboardfull1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/0c163ba2-d447-1b79-a0c2-2dd4ec7fab38.jpeg)


![vyos08_20221212.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/72733a5d-9ce1-a3f4-34c8-64e2a1628923.jpeg)


起動画面にある"Live(amd64-vyos)"と"Live(amd64-vyos failsafe)"の違いは調べても分かりませんでした。
そのままEnterを押すか10秒ほど待ってログイン画面に移りましょう。

起動するとブワーっと色々ログが流れた後にログインを求められます。

![vyos09_20221212.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/a137cd03-d96b-01db-4106-dee7a6dba879.jpeg)

<font color="Red">IDとパスワードはどちらも"vyos"です。</font>
そしてセキュリティ面から、パスワードの入力は表示されません。
何も入っていないように見えても、vyosと入力してEnterを押下すれば"Welcome to Vyos!"と迎えてくれます。

今更ですが見慣れない画面に面食らった方もいらっしゃるかもしれませんので上記画面の適当な翻訳バージョンも載せます。
訳分からない英数字の羅列が、「あ、以外と普通のことが表示されているだけなのね…」とイメージが掴めたら幸いです。

```html:日本語にしたらこんな感じ？
[   OK   ]ストレージの読み込み完了(適当)
[   OK   ]設定ファイルの読み込み完了(適当)
[  17.345074] vyos-config[667]:構成読み込み完了(適当)
[  17.345074] vyos-config[667]:構成読み込み完了(適当)
[  17.345074] vyos-config[667]:構成読み込み完了(適当)

vyosにようこそ。
ログインID：vyos
パスワード：(入力しているけど表示されていない)
vyosにようこそ！

vyosの最新情報はこちらをご覧ください。 https://blog.vyos.io
バグがありましたらここに報告して下さいhttps://phabricator.vyos.net

ログイン時のメッセージを変更するには"set system login banner post-login"コマンドを使用してください。
vyosはフリーのソフトウェアです。ライセンスはこちらをご覧下さい。/usr/share/doc/*/copyright
vyos@vyos:~$_
```

一番下に表示されている`vyos@vyos:~$_`は、あなたのコマンド入力待ちの状態であることを示しています。
試しに`show system image`と入力してEnterを押下してみて下さい。すると

![vyos10_20221212.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/e41de083-e47b-d82c-eff6-6c49cd0edb6a.png)
となったはずです。これは
```html:
vyos@vyos:~$_打ったコマンド
その返答
vyos@vyos:~$_
```

となっています。
このコマンドはシステムがどこから起動されているのかを示すもの（たぶん）。
今回は「CDからシステムが走ってるで～」とPCから返事が来た形です。


そう、これらが表示されて動いているのはあくまでCDから読み込んでいるから。
CDを取り出して動かなくなるようでは困るので、ここから __4.記憶装置に入っているOSを、HDDにインストールする__ を行います。
コマンドを`install image`と入力してEnterを押下して下さい。読んで字のごとくイメージ（CD内のOSデータ）をインストールするコマンドです。
ここから怒涛のPCからの質問責めが来ます。


基本的にPCからの質問は以下のような形になっています。
```html:形
質問内容（選択肢/選択肢）[そのままEnterを押した際に選択されるお勧めの選択肢]

```

```html:最初の質問
Would you like to continue?(Yes/No)[Yes]
```

最初は「インストールを続けますか？」に対してユーザが答えられる選択肢は括弧内のYesかNo、自分から言い出したんだからもちろんYesだよねってことで[ ]内にはYesが入っている。つまり空欄でEnterを押下すると、そのままインストールが始まるという訳です。
因みに括弧内にある選択肢以外の文字列を入力すると、全く同じ質問が連続して表示されます。

```
>Would you like to continue?(Yes/No)[Yes]:Hachioji_City
>Would you like to continue?(Yes/No)[Yes]:
```

ここの質問ラッシュの内容はインストールするファイルのサイズや方法、場所などが聞かれます。
正直全て理解することは不可能だったのでお勧めされた[ ]内に従ってEnterをポチポチしていればOKです。
では大変面倒くさいですが全ての質問を記載していきます。
合計個12個の質問がありますが、<font color="Red">4つ目の質問だけは [そのままEnterを押した際に選択されるお勧めの選択肢] にNOが入っています。ここは自分でYesを選択しなければいけないため注意。</font>

```html:最初の質問
Would you like to continue?(Yes/No)[Yes]
```
「OSをインストールするってコマンドが打たれたけど続けますか？」Yes
```html:2つ目の質問
Partition(Auto/Parted/Skip)[Auto]
```
YesかNo以外で答える質問がきましたね。
インストールする際にディスクのパーティション（区切り）はAuto（自動）割り振りでいいか、自分で区切るか、スキップするかを問われています。
パーティションとは区切りのこと。Windows使う際もHDDにそのまま保存するのではなくCドライブがあり、その配下にユーザーフォルダ、その下に…と区切りますよね？それをどうするか聞かれています。
PCにお任せAutoにしましょう。
```html:3つ目の質問
Install the image on?[sda]
```
今度は選択肢がない質問です。
OSの保存場所を聞かれています。
「デフォルトの保存先になっているスダ？サダってなに？」と思ったと思います。
これはLinux特有の補助記憶装置の数え方です。
最初に認識した媒体をsd<font color="Red">a</font>、2つ目をsd<font color="Red">b</font>とabc…とカウントしていきます。
話が逸れるため詳細は省きますが、WindowsでいうところのCドライブのようなものです。
そのままEnterを押してsdaに保存しましょう。

```html:4つ目の質問
This will destroy all data on/dev/sda
Continue?(YesNo)[No]:
```
「sda（Cドライブ的なもの）内の全てのデータを破壊します。続けますか？」と物騒なことが書かれていますが、「このストレージにOSを上書きしていいですか？（その際、元あったデータは上書きされて消されるよ）」ということ…だと思います。
勘違ポイントとしては、あくまで作業しているのは仮想環境のため、本体PC側の何かしらのデータが削除される訳ではありません。安心してYesで大丈夫です。
<font color="Red">そして先に記載した通り、ここだけが唯一デフォルトで[No]となっています。そのままEnterを押すと`OK then.Exiting...(あ、そう。ではまた…)`とPCが返信した後にインストール作業がキャンセルされます。
ここはご自身でYesと入力してEnterを押下してください。</font>


```html:5つ目の質問
Would you like to save config information from it?(Yes/No)[Yes]
```
直訳で「構成情報を保存しますか？」と聞かれています。
直観で分かると思いますがここもYes、そのままEnterです。
```html:6つ目の質問
Would you like to save SSH keys from 1.4-rokking-2022120318 too?(Yes/No)[Yes]
```
これは調べても詳しくは分かりませんでした…
`1.4-rokking-2022120318` はダウンロードしたisoフィル名です。
"SSH"や"too"などがあることから「SSH（リモートで接続できるもの）の設定も保存する？」といった意味だと思います。
保存して損はないはずです。YesYes。
```html:7つ目の質問
How big of a root partition should I create?(2000MB-12884MB)[12884]MB
```
「ルートパーティションの大きさは？」と聞かれています。
パーティション(区切り)については"2つ目の質問"で軽く触れました。
ルートとは根っこ、一番上のフォルダのことです。
一番上のCドライブなんて大きい方がいいに決まってますよね。デフォルトの最大値にしましょう。
```html:8つ目の質問
What would you like to name this image?[1.4-rokking-2022120318]
```
インストールするOSの名前を聞かれています。
デフォルトではCDに入っているisoフォルダ名がそのまま入っています。
ポケモンに好きな名前つけれるみたい…見栄を張ってmacOSとかにしようかな。

```html:9つ目の質問
Which one should I copy to sda?[/opt/vyatta/etc/config/config.boot]
```
これも正直よく分からず…
どれをsdaにコピーしますかと問われているのでOSの保存先（パス）を聞かれているのかな…デフォルトにしとけば動くやろ！の精神でEnter。

```html:10つ目の質問
Enter password for user "vyos":
```
「最後にもう一度あなたのお名前をお伺いしてもよろしいでしょうか。」
ってことですね。素直に<font color="Red">初期パスワード"vyos"</font>を入力してEnter。

```html:11つ目の質問
Retype password for user "vyos":
```
「最後の最後！もう一度あなたのお名前をお伺いしてもよろしいでしょうか。」
パスワードを間違ったエラーではないためご安心を。vyosと入力してEnter。
```html:12つ目の質問
Which drive should GRUB modify the boot partition on?[sda]:
```
GRUBはOSを起動する際に活躍するプログラムです。
OSのインストール先は先ほどsdaにしたので、それを動かすGRUBもsdaにするべきといった感じですかね（適当）。このままEnterです。
>最後の最後で集中力が切れました。


![vyos11_20221212.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/a2b056fc-de93-bc69-0b63-ebc485ee8d81.jpeg)

`Done！Please reboot now`と表示されれば一旦は終了です！
「終わったよ！再起動（reboot）してね」とあるので言う通りにしましょう。
これで __4.補助記憶装置に入っているOSを、HDDにインストールする__ は終了です。


![vyos12_20221212.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/305a34b9-f1a9-15ee-dd41-6d77040829e6.png)

そのままrebootと入力し、yでEnterを押下するだけです。
vyosの起動画面まで戻ったらキーボード右のCtrlキーを押下してウィンドウも閉じ、ペンギンのアイコンなどがあるVirtualboxの画面まで戻って下さい。

# isoファイルを除去し、PCのみでOSが起動するか確認する

ここが本当に落とし穴ポイント！
これまでの作業で完了したのは __CD内のOSファイルをHDDに書き写して保存しただけ__ であり、再度起動するとまたCD内のOSを立ち上げてしまいます。
では保存したHDD内のOSを起動してほしい場合はどうするのか。そう、

__5.補助記憶装置(CDとかUSB)を外し、PCのみでOSが起動するか確認する__

にある通り、CDを引っこ抜けばHDDから読み込みざるを得なくなります。

![スクリーンショット (19).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/741cb272-7a1e-0b4e-8088-5c71ee13daad.jpeg)

__仮想マシンを選択__
__ストレージを選択__
__ディスクのアイコンにカーソルを当て、<font color="Red">右クリック</font>__
__割り当てを除去する__

これで仮想マシンから仮想のCDを引っこ抜く作業終了です。
これでもう一度仮想マシンをクリックして起動させてみましょう。
普通に起動すれば成功です！

試しに今、`show system image`と入力してEnterを押下してみて下さい。

>左が最初にCDからOSを起動した状態でコマンドを打った返事。右はHDDに保存した後の返信。
>![vyos13_20221212.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2919278/0c2e8863-9b80-b55e-5371-d565c793528b.png)


１行目のコマンドが同じなのにPCからの返事が変わっていることに気が付くはずです。
「OSはここから動かしているよ。__8つ目の質問__ で設定したファイル名のOSを起動です。」
と返事が返ってきています！大成功です。
>冗談でmacOSと適当なバージョンっぽい数字を付けたファイル名にしたらこうなってしまった。これ変更できるのかな…笑
さすがに分かっているかとは思いますが、名前がmacOSのvyosというだけでmacOSでは当然ありません。猫に恐竜って名前を付けて飼っているようなものです。

# 終わりに

これにてVirtualboxにOSをインストールする方法は以上です。
あとはマシンの設定などになりますのでほとんどVirtualbox関係ないはずです。
拙い日本語や説明が多いですが参考になれば幸いです。