新しく買ったマシンにOSをインストールする際に気を付けること
おうちk8sをやりたいなと思って、新しくサーバ用のマシンを買いました。インストールに苦労したので、自分用備忘録を書きます。
やりたかったこと
- USBメモリから Ubuntu server 24.04.1 を起動する
まとめ: 注意すること
前から順に疑う
物理から疑う
- USBメモリが壊れていないか?
- 別のUSBメモリを試す
- UEFIの一時起動ディスク指定画面でUSBが表示されないなら、USBメモリの破損かISOイメージが変ではないかを疑うとよい
- マシンのUSBポートは壊れていないか?
- 別のUSBポートを試す
USBメモリの中身を疑う
- フォーマットは適切か?
- GPTディスクになっていることを確認
- FAT32でフォーマットされていることを確認
- ISOイメージが壊れていないか?
- UEFI対応でないと認識しないこともあるらしい
USB側が正常っぽいなら、UEFI側を疑う
- UEFIの設定がおかしくないか?
- Secure boot
- Secure bootの設定は適切か?3rd party CAを許可しているか?
- Secure bootをOFFにしてみる
- Secure bootをOFF/ONにしてPolicy違反画面が出ない/出るが変化するなら、3rd party CAを許可する設定をすると治るかもしれない
- Secure boot
今回のケースでは、以下の2つが原因でうまく行っていなかった
- 最初に試したUSBメモリが壊れていた
- 別のUSBメモリを使用して解決
- UEFIの3rd party CAを許可していなかった
- UEFIの設定から許可して解決
試したこと・うまくいかなかった記録
環境は以下の通り。
- PC: ThinkCentre M75q Tiny Gen5(AMD)
- USB: Buffalo 32GB RUF3-K32GA-BK/N
時系列
- マシンの検査をする
- ThinkCentreに元々Windows 11が入っていたので、起動がうまくいくことを確認してCrystalDiskInfoでストレージの状態確認、CrystalDiskMarkとCinebenchで性能が大幅にズレていないか確認した
- ISOイメージを書き込んだUSBメモリを差して起動してもうまくいかない
- UEFIの設定を変えてみる
- ISOイメージを焼き直してみる
- USBメモリを変えてみる
- UEFIの設定をもとに戻してみる
- UEFIの設定を変えてみる
- OSを変えてみる
ISOイメージを書き込んだUSBメモリを差して起動してもうまくいかない
Ubuntu Server 24.04.1 のISOイメージをダウンロードして、すでにあるマシン(Ubuntu server 22.04)でddを用いてISOイメージをUSBメモリに書き込んだ。コマンドは以下の通り。
# マウントされていないことを確認
lsblk # USB に対応する NAME の右側の MOUNTPOINTS に何もない
# 書き込む
sudo dd if=./ubuntu-24.04.1-live-server-amd64.iso of=/dev/sda bs=1048576 status=progress
F2やEnterを押す。
以下を試した
- F1を選んで設定画面へ → UEFIのBoot Orderを USB(HDD) にして起動
- F1を選んで設定画面へ → UEFIのBoot Orderを USB(CDROM) にして起動
- F12を選んで一時起動デバイスを選択 → M.2(Windows), PXE IPv4, PXE IPv6 だけが表示され、USBが表示されない
結果: いずれもUSBメモリからUbuntuが起動しなかった。
UEFIの設定を変えてみる
以下を変更
- Secure bootをDisabledにする
- Fast bootをDisabledにする
- Windows firmware updateをDisabledにする
結果: いずれもUSBメモリからUbuntuが起動しなかった。
ISOイメージを焼き直してみる
何かおかしいと思ったので、ISOイメージをUSBメモリに焼き直した。
Ubuntuからのdd以外に、Balena Etcher(Ubuntu), usb-creator-gtk(Ubuntu), Macからのddを試した。
結果: いずれもUSBメモリからUbuntuが起動しなかった。
補足: Ubuntu serverのGUIアプリをMacから使う
MacからBalena Etcherを使おうとすると信頼できないから使えないエラーが出る。既存のUbuntu server 22.04からX11 forwardしてXQuartzでBalena Etcherを使った。
ssh config
Host <EXAMPLE>
User <USERNAME>
Port <PORT>
ForwardX11 yes
ForwardX11Trusted yes
HostName <HOSTNAME>
IdentityFile <SSH_PRIVKEY>
ServerAliveInterval 60
xeyesを起動
# export DISPLAY=:0 だと、Ubuntu側へ行った時に `unable to open display "/private/tmp/com.apple.launchd.s3HDECl5Iy/org.xquartz:0"` のようなエラーが出る
mac$ export DISPLAY=localhost:0.0
mac$ ssh -XY 6000:localhost:6000 <EXAMPLE>
ubuntu$ xeyes # XQueartz でMac側で目玉が表示される
xeyesが起動することを確かめた後、Balena Etcherを起動した。
sudo env DISPLAY=localhost:0.0 ./balena-etcher
USBメモリとISOイメージを変えてみる
別のUSBメモリに、たまたまあったNixOSのISOイメージをmacのddで書き込んでから差し込むと認識した。
この時点でUSBメモリがおかしいことが確定したので、別のUSBメモリを以後使うことにした。
結果: NixOSが起動した。
(本当はUSBメモリだけ変えてイメージは固定でよかった)
UEFIの設定をもとに戻してみる
UEFIのSecure boot, Fast boot, Windows firmware updateを元に戻してみた。
結果: Secure bootのPolicy違反画面が出て起動しなくなった。
UEFIの設定を変えてみる
Secure bootに3rd party CAを許可みたいなやつがあったので、おそらくUbuntuやNixOSは3rd partyだろうと思って許可した。
結果: NixOSが起動した。
OSを変えてみる
NixOSが起動したので、MacのddでUbuntu server 24.04.1をUSBメモリに書き込んでみた。
結果: Ubuntu server 24.04.1が起動した。
以上で、Ubuntu server 24.04.1が起動するようになった。