root化とかカスタムROMとか

いろいろいじってます

LinuxをUSBにインストールしてほぼ全てのパソコンで起動可能にする(1)

途中で終わるかもしれませんが本当に便利なので書いていきたいと思います。現段階ではBIOS、32bitUEFI(安価なWinタブやスティックPC)での起動までできるようになりました。

使用環境

普通に使えるパソコンと16GB以上のUSBメモリがあれば可能ですが、快適に使うとなると、PCはRAM4GB以上、USBメモリUSB3.0に対応した64GB以上のものがいいと思います。無線LAN子機に関しては有線LANアダプタでも大丈夫です。Macを使う場合でどちらもない場合はスマホのUSBテザリングを使えば可能だと思います。

経緯

元々はMacSSDUbuntuを入れようと試みたのですが、既にBoot CampWindowsが入っており、パーティション分割などでOSが立ち上がらなくなったりしたので、安全にできる方法としてUSBメモリにインストールすることを選びました。 今回は通常のインストールのようにネイティブでインストーラを立ち上げるのではなく、Virtual Boxでインストーラを立ち上げ、インストールするUSBメモリをマウントし、仮想HDDではなく直にインストールしました。こうすることで間違えてパーティションを切ってしまったり、Mac本体のSSDGrubをインストールしてしまったりすることが防げるので、Macが起動しなくなることを防ぐことができます。

Virtual Boxの設定

Virtual Boxとextension packが入っていることを前提として進めて行きます。今回使用したのはUbuntu18.04で以下からダウンロードできます。

www.ubuntulinux.jp

設定のほとんどは普通に進めれば大丈夫ですが、仮想HDDは追加せず、またネイティブのMacで起動させるためには作成されたマシンを右クリック→設定→システムでEFIを有効化にチェックを入れておく必要があります。 f:id:jesuscorona:20190616015033p:plain

ストレージの方から先ほどのubuntuのisoを選択し、LiveCDにチェックを入れます。IDEだとEFIで認識しないかもしれないのでSATAでやりました。 次にUSBの設定が必要になりますのでポートの方からUSBコントローラーにチェックを入れデバイスフィルターの方にインストール先のUSBメモリのフィルタを追加します。

f:id:jesuscorona:20190616020103p:plain

また、ビデオメモリーを128MBにしたりCPUのコア数を2にしたりするとインストールが早くなると思います。

インストール

インストールせずに試す的な方で立ち上げて、最初にUSBメモリがマウントできているか確認します。

f:id:jesuscorona:20190616020848p:plain

上の写真のように「Ubuntu〜のインストール」のアイコンの下にストレージのアイコンがない場合はマウントできていないので、挿し直すとマウントしてくれることが多いです。それでもできない場合は仮想マシンを再起動したりするとマウントしてくれることがあります。

マウントが確認できたらインストールをしていきます。言語は日本語も選択できますが、ダウンロードやドキュメントのフォルダが日本語表記になり、ターミナルを使うのであれば不便極まりないので英語でインストールするようにしています。キーボードはMac用のUSキーボードがあるのでそれを選択します。 あとは通常通り進めていき、終わって再起動のタイミングで仮想マシンを落とし、MacをAltキーを押しながら再起動してUSBメモリを選択すればUbuntuが立ち上がると思います。

エラー

一つ目のUSBメモリーはこの手順でできたのですが、二つ目の時は何度やっても「'grub-efi-amd64-signed' パッケージを /target/にインストールするのに失敗しました。GRUBブートローダなしでは、インストールしたシステムは起動しません。」というエラーで成功しませんでした。色々調べたのですが、USBメモリの先頭の500MB程をFAT32であらかじめ切ってインストールすればできました。

Wi-Fiと日本語入力

Wi-Fiはapt-get updateとapt-get upgradeしてやれば使えました。その際は無線のUSB子機か有線LANアダプタが必要になります。日本語入力は既にMOZCが入っているのでMacと同じようにcontrol+spaceで切り替えれるように設定しました。起動後一回だけひらがな入力を選択しないといけない状態です。

BIOSブートに関して

今回作成したUSBメモリUEFIという比較的新しいパソコンに搭載されているものでしか起動できないものになっています。(だいたいWindows8らへん)

そこで次回は従来のBIOS搭載のパソコンでも起動できるようにする方法を書いていきたいと思います。