Linux OSをUSBにインストールしてみた

#結論
普通のHDDメモリUSB(3.1Gen1)にOSをインストールしても、__動作が非常に遅く、実用に耐えないのでお勧めしない。__どうしてもモバイルにしたいなら、USB型SSD(少々高価。Amazonで5000円～)があるのでそちらを検討すべき。なお、__"Tails"__というディストリビューションがあり、これはUSB2.0にインストールしても普通に動くらしい (→未検証。検証したらまた更新する)のでやってみたい。

#背景
今まで、仮想マシンVirtual Boxを使用してLinuxをいじっていたが、Win10のアップデートや仮想マシン自体のアップデートなどで度々起動しなくなるので、もう愛想をつかし使わないことに決めた。AMD製のmy PCとの相性は最悪で、vmwareは最初からだめだった。一部では、AMD cpuでvmwareが使える人もいるようだが、Intel cpuの方が相性が良いのはいろんなネットの情報から自明。
そこで、仮想マシンを使わずにLinuxを使用する方法として以下を考えた。
1. メインマシンのwin10 PCドライブにLinuxを入れてデュアルブートする
2. Live USBを作成し、USB bootする
3. 中古PC or ラズベリーパイを購入し、ドライブにLinuxを直インストール
1は起動設定を間違えたり、windowsのupdateなどで起動しなくなるリスクがあり、復旧させるのにもそれ相応の知識が必要で、多くのエンジニアに避けた方が良いと言われたので却下。3は費用がかさむことと、すぐ入手できるわけではないので(今すぐLinuxを使用したかったので)却下。
→ 2の方法を取ることにした。

#iso fileの入手
Live USBの作成前に、入れたいディストリビューションのisoファイルをDLしておかないと元も子もない。
__★isoファイル群__
__毎度お世話になっている理化学研究所のミラーサイト：http://ftp.riken.jp/Linux/__
CentOS7-live→ http://ftp.riken.jp/Linux/centos/7/isos/x86_64/
Ubuntu→ https://www.ubuntulinux.jp/download

※__torrent__を使用した方がDLが早い。今回はLive用なのでそこまで時間はかからなかったが、dvd用だと容量が大きいので、torrent形式でDLしてtorrentで解凍した方が早い。torrentにもいろいろ種類があるから、好きなものをインストールして使うとよい。自分は下記をいつも使用している。µtorrent公式サイト→ https://www.utorrent.com/intl/ja/downloads/win
※CentOSの公式HPにliveが見当たらないので(CentOSは基本放置プレイ&シンプルすぎて嫌いだ)、ミラーサイトからget。Ubuntuは公式サイトが丁寧なので普通に公式から。
CentOSだけDVD用とlive用で分かれており、Ubuntuはlive用にも使えるよう1つのisoにまとめられており、ここでもUbuntuの使い勝手を実感した。

#Live USBの作成 (boot用：4GB以上)
今回、ブート用に16GBのUSBを使用したので、1つのOSインストーラだけだと容量がもったいないので、マルチブートUSBの作成を決めた。以前まではRufusを使用していたが、これはシングルブートにしか対応していなかった(Refusで作成した場合、そのUSBドライブの中身の構成を見てみればすぐわかるだろう)。なので新しく__WinSetupFromUSB__というソフトウェアを使用してマルチブート用USBを作成。なお、このソフトは4GB以下のisoファイルしか入れてくれないらしいので、dvd-isoを誤って焼こうにも誤りようがないらしい。Rufusを使用していた当初、間違えてCentOS-DVD-isoをインストールしてしまって、インストール用USBへの書き込みに__丸2日かかって死ぬかと思った( ;∀;)__のでこの機能はありがたい。

![キャプチャ00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/975449/a0fa9667-f647-8ab3-d977-48ec8b21f6bc.png)
2つ目以降のisoを入れる際は、上記赤枠のチェックを外さないと全てフォーマットされて1つめのisoが消えるので、マルチブートにしたい場合は必ず外すこと。

__★マルチブート用USBの中身__
![キャプチャ1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/975449/062837ca-4d4b-32eb-5af8-91c77d2d59e3.png)
作成後、USBドライブの中身を見ても、メインディレクトリ直下のisoディレクトリにどんどん追加されるだけなのでファイル構成が分かりやすい。
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/975449/2114423b-9c12-98a6-e423-e5ab335c7a36.png)

この時点で、boot用USB起動しても、お試し版(Test ver)は起動でき、これ単体でもOSの操作は可能だ。しかし、シャットダウンするたびにデータが消えるためあくまでrescure用途である。

##Error：ParrotOS
desktopのデザインが美しいので使ってみたかったParrotOS。でも下記のようになり、混乱状態(Defrangmented)になり、WinSetUpFromUSBがフリーズした( ;∀;)普及してないOSは使うべきではないか・・・。
![キャプチャ03.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/975449/979638ff-593e-4e73-7874-3282176f47da.png)

#UNetbootin
公式サイト→ https://unetbootin.github.io/
最近はUNetbootinをインストール&あるパラメータをいじればboot用USBをinstall済みUSBとして兼用できるらしい(参照：https://forums.ubuntulinux.jp/viewtopic.php?id=20556) →兼用というか、winホストでisoからインストーラを読み込み起動し、インストールのみをUSBに展開してくれるっぽい。従来はboot用にUSBかドライブに焼かないとダメだったが、このソフトをDLすればその必要がなくなるというわけかな。動画見ると比較的簡単に操作できそう。→ https://report.hot-cafe.net/unetbootin-5282 。しかし、ディストリビューションによってそのパラメータは異なるし、Ubuntuに関しては情報が多数出てくる__(Ubuntuのみパラメータいじらなくてもソフトの中にrebootしてもデータが保存される機能あり)__が、CentOSに関しては記事が少なく、間違えると起動しなくなりそうなので初心者にはハードルが高そうに思われた。今回は普通にインストール先をもう1つのUSBに指定した。

ちなみに、インストール不要が前提のディストリもあるらしい👀へー。
>ドイツ発のKNOPIXはインストールしないで、Live CD(DVD)のままで使用するディストリビューションです。Live CDからの起動が30secと早く、ＨＤＤのデータ読み込みが強力なので、データの吸出しのレスキューとして、使用しているユーザーが数多います。
引用：https://forums.ubuntulinux.jp/viewtopic.php?id=20556

#Live USBの作成 (install用：16GB以上)
なるべく高速のUSBを用意するのが望ましい。要はこいつがPCのHDDとなるので、遅いと書き込みも読み出しも遅くなる。自分は3.2(GEN1)を用意したが、それでも遅いと感じたので、~~現時点での最新速度を誇るUSBを使用するのがよいかと。~~ __→ 単なるHDDとしてのUSBは遅すぎてOSの起動からwebブラウジングから何から何まで遅く、とてもじゃないが実用に耐えないクソUSBが完成した。単なるUSBにOSにインストールするのは絶対におすすめしない。__やるなら、少々値は張るがUSB型SSDを買ってインストールすべし。 
boot用USBとinstall用USBを指し、起動。BIOSメニューに行って起動順序を変更したいので、起動後すぐにdelキー(デフォルトの起動順序変更)or F12(一時的に起動順序変更) 連打で設定変更してくれ。あとはboot用でLinuxが起動すれば通常通りのインストールで、インストール先にUSBを指定すればOK。
##Error：BIOSで起動順序変更してもwindowsが先に立ち上がる
ここまでで、USBポートはマウス、キーボード、boot用USB、install用USBで4ポートが埋まってしまっている。この状況だと(インストール用USBに大容量メモリを使用している)と、外付けUSBを認識してくれず、起こる現象らしい。解決策としては、install用USBはboot用USBでLinuxが起動してから差すようにし、delキーではなく、F12キーで一時的に起動順序を指定するようにする。自分はこれで解決した。

#作成したパーティションの削除
https://jp.easeus.com/partition-manager/how-to-delete-a-partition-on-a-usb-drive-in-windows-10.html

他
参考になりそうなサイト
→ https://renoji.com/IT.php?Contents=OS_Kali/Setting_USBBoot.html
→ https://digitaloceancode.com/