CTFのためにVirtualBoxにUbuntuをインストールするもドハマりする

#はじめに
CTFの勉強のためPythonを触りたくなり、それ専用の環境を作成することにした。
VirtualBoxにUbuntuをインストールしPythonを動かすところまでをやってみる。
ちなみに普段はPCを触らない超初心者の備忘録。

#環境
* Windows 10 Pro
* VirtualBox 6.1.14(はじめだけ。のちに6.1.32になる)
* Ubuntu 20.04.1 LTS※日本語REMIX版

#参考サイト
https://jp.minitool.com/partition-disk/how-to-install-ubuntu-on-virtualbox.html

https://qiita.com/ruriohead/items/396c834910810d65dfa5

#Ubuntuのダウンロード
VirtualBoxはもともと6.1.14インストールしていたのでUbuntuをダウンロードしてみる。
OSって大体ギガを超えるよね…
インターネット環境はWimaxのWifiしかないのでダウンロードできるか心配。

とりあえず[ここの](https://www.ubuntulinux.jp/products/JA-Localized/download)リンクからダウンロード
「ubuntu-ja-20.04.1-desktop-amd64.iso（ISOイメージ）」のリンクをクリックしダウンロード
![ubuntu_japanese_remix.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/f296bf8b-9f5d-50a3-4395-41e2a8dd0859.png)

サイズが2.7GBもありやがる……がギリギリダウンロード完了。

早速VirtualBoxを立ち上げてセットアップしていく。

#VirtualBoxの仮想マシンをセットアップ
参考サイトを元にサクサクとやっていく。

* **起動して新規をクリック**
![WS000000.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/8e1d2646-4b7a-26a5-6857-5ba5864f3529.jpeg)

* **名前とタイプを指定し次へ**
![WS000001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/9d50a9f3-d0e8-2d8d-7c77-83df8a3f0e29.jpeg)


* **メモリの割り当てを指定し次へ**
なんとなく必要メモリの2倍あればいいでしょうということで2048MBを指定。
![WS000002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/bc9721b8-3fe1-1a8a-314f-3934da553c09.jpeg)

* **仮想ハードディスクを指定し作成**
デフォルトの仮想ハードディスクを作成するを指定。
![WS000003.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/327bfa52-7c57-fdda-90cd-868a3fc57e51.jpeg)


ハードディスクのファイルタイプもデフォルトのVDIで。
![WS000004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/8e244854-7f22-2c2d-ef6c-021f4188ca5d.jpeg)

ストレージサイズもデフォルトで可変に設定。
![WS000005.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/b7d8f0ad-c297-71a3-f525-79fa3a89fe19.jpeg)
サイズ数もデフォルトの10GBで。
![WS000006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/9b425ec9-2466-f60f-dadd-9ce77b5a943d.jpeg)

#Ubuntuをインストール
仮想マシンの設定が完了したのでUbuntuをインストールしていく。
Ubuntuの仮想マシンを選択し「設定 > ストレージ」からダウンロードしたISOをディスクにマウント。
![WS000008.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/37cf6bc8-4d8f-2b95-f425-8dc5c0b481dd.jpeg)

Ubuntuをダブルクリックして起動。
![WS000009.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/93d93e9c-c7c2-4737-87f1-3d24e9702e0a.jpeg)

選択肢すべてをデフォルトで進めていくがエラー発生。
![WS000016.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/d984cab8-1b4c-69d6-bcc4-fd2444e0f9b1.jpeg)


> ハードディスクにファイルをコピーする際にエラーが発生しました:
> [Errno 5]Input/output error

…
エラー内容を見ると仮想マシンなのにホコリやらレンズの掃除やらとても怪しい雰囲気…
いろいろ試行錯誤するがこの後めちゃくちゃはまりました。

#エラーの調査
結果から言うと、**VitrtualBoxを最新の6.1.32にして仮想マシンの作成からやり直したところうまくった**
ただそれまでに環境や設定を変えたのでVirtualBoxの最新化以外にどれが効いているか不明。

なのでやった内容を一応のせておきます。

* **MD5のハッシュ値確認**
* **WSLの無効化**
* **インストール要件を再確認し仮想マシンを再作成**
* **VirtualBoxの再インストール**

上から順に実施しました。
それぞれの詳細は以下に記載。

#MD5の確認
毎回インストールする前に確認したほうがいいってわかっているが事後確認。
CertUtilコマンドでファイルのハッシュ値を確認します。

```
CertUtil [オプション] -hashfile InFile [HashAlgorithm]
```

今回はMD5のハッシュ値を確認したいので末尾をMD5にしてコマンドを実行。

```
certutil -hashfile ＜Ubuntuファイルのフルパス＞ MD5
```

結果は問題なし。
もしハッシュ値が違っていたらISOの再ダウンロードとなっていた。
インターネット環境が貧弱なのでとりあえずホッとし先に進むことができる。

#WSLの無効化
ハッシュ値も問題ないのでとりあえず何か対処しないとな思ったところ、
前にVirtualBoxとWSLは相性が悪いと聞いていたのを思い出した。
以前CTF用に使用していた使わない「Kali Linux on WSL」が動いていたので
初期化ではなくアンインストールをする。

![WS000025.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/e6e1e78a-a427-7ce1-cc71-c1c5c69f2b41.jpeg)


WSLそのものも停止したいので
「Windowsの機能の有効化または無効化」から
「Linux用Windowsサブシステム」のチェックを外す。
![WS000027.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/c59f48d9-41bc-85bb-13c0-5fda6f7a6dea.jpeg)

もしその他にWSL関連の機能を有効化していたら合わせて無効化した方がいいと思う。
「Hyper-V」
「Windowsハイパーバイザープラットフォーム」
「仮想マシンプラットフォーム」
などなど

#Ubuntuを再インストール
さて、これでWSLを無効にしたのでUbuntuを再び再インストールしてみた。

が、失敗。
エラー内容もそのまま。

再度検討してみる。

#インストール要件を再確認し仮想マシンを再作成
初心に帰りUbuntuの要件を確認する。
仮想マシンを作っていたが全然要件を満たしていなかった。

メモリ：4G以上
ストレージ：25GB以上

とのこと。

上記要件に合うように仮想マシンを再作成

#Ubuntuを再々インストール
またまた失敗。
ただエラーの内容が変わった。
![WS000032.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/4075c5c5-4783-93d6-6828-976de913529a.jpeg)

> 次のファイルはCDまたはDVDのソースコピーと一致しませんでした:
> /target/usr/lib/firefox/libxul.so

Firefox…？

**Firefox…？**

もうだめ…わかんない…
いろいろググったけど全然ヒットしないし。

ただ[ほかの記事](https://qiita.com/ruriohead/items/396c834910810d65dfa5)を見ると前のエラー画面はVirtualBoxのバグっぽいことが書いてあったので
VirtualBoxに疑いの目を向け始める。

#VirtualBoxの再インストール
まず手始めにVirtualBox6.1.14を再インストール

もちろん意味なし

次にたまたまインストーラがローカルにあった6.1.30をインストールしてみる。
するとUbuntuを起動した段階で「仮想マシンのセッションを開けませんでした」と。
そもそもインストーラさえも起動しない事象になった。

調べるものおっくうだったので、こりゃダメかもと思いながら
最新の6.1.32をダウンロードしてインストールしてみると、

あれ？いける？となり、無事インストール完了！！
![WS000035.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531081/b77bae15-df67-ac76-ca71-770bfccc5357.jpeg)

この後に共有フォルダを作ったりPythonの基盤を作ったりと
これでようやくスタートラインに立てれた。

CTFのための環境づくりはまだまだ続く…