さくらのVPSにArch Linuxをインストールした
これは愚かな日記です。
環境再構築衝動が発生したため、さくらのVPSにArch Linuxをインストールしました。基本的にはインストールガイド - ArchWikiとArch Linux — さくらの VPS マニュアルを読んでやるだけです。
「OS再インストール」ボタンはISOイメージでブートするボタンである
さくらのVPSのコントロールパネルには「OS再インストール」というボタンがあって、「標準OS」と「ISOイメージ」が選べるのですが、「ISOイメージ」を選んだ場合は押すだけでOSがインストールされるわけではなくISOイメージでブートされるだけです。つまり勝手にOSがインストールされるわけではなく自分の手でストレージを吹っ飛ばしてインストールしてやる必要があります。いや、ちょっと考えればそれはそうなんだけれども、ボタンの名前から直感を得にくかったという話。
起動はBIOS
さくらのVPSマニュアルに従って進めるとストレージはGPTでパーティショニングすることになるのですが、私にはさくらのVPSでUEFIブートする方法が見つけられませんでした。いや、正確にはISOイメージは自分で用意せずにさくら側が一部OSについて勝手に用意してくれているものを使ったので、そこで小細工できる可能性はゼロではないですが、まあそういう話ではなさそうな気がします。
問題になるのは最後にGRUBを入れるところです。ArchWikiでUEFIの手順を読んで grub-install --target=x86_64-efi --efi-directory=/efi
とやると
EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.
と言われて上手くいかないです。これを走らせている環境(=ISOイメージでブートした環境)がUEFIブートではないからのようです。ちなみに --removable
をつけるとエラーなく実行できますが、起動時にGRUBが見つからず Booting from Hard Disk
で止まります(ブートエントリに書き込めていないせいだろうと思ってここに載っている efibootmgr --create
を叩いてみるのもやりましたが、これもUEFIでない環境からはダメでした。それはそう)。ブートプロセスなんもわからん。
というわけで諦めてGPTとBIOSの構成でやります(微妙な気持ちにはなるのですが流石に令和の世にMBRを使う気にもなれない)。で、さくらのVPSマニュアルにはちゃんと grub-install --target=i386-pc /dev/vda
を叩けというBIOSな手順が書いてあります。しかし、そのためにはBIOS boot partitionというものが必要なのですが、その前のパーティショニングの手順でそういう作業はしていないので、エラーになります。 --force
をつければいいのかもしれませんが(試してない)、正攻法としてはGPT HDD に grub2 をインストールする際の tips — MIRACLE LINUX サポート&テクノロジー | サイバートラスト株式会社に書いてあることをやればいいはずです。
LVM
よほどのことがない限りパーティションを細かく切る必要はないと思うのですが、( /boot
と) /var/log
くらいは切っておいた方が安全かなという気持ちになり、あとからサイズを調整できることに惹かれてrootパーティションをLVMにしました。結果、火傷しました。
話としてはInstallation with LVM & GRUB, Error root device not found whe [SOLVED]/ Newbie Corner / Arch Linux Forumsで尽きていて、ブート時にLVMをマウントできるようにmkinitcpioとgrubの設定をちゃんと書いてあげればいいだけだったのですが、嵌まって3回くらい再起動が増える羽目になりました(再起動するたびにマウントし直しなのでとても面倒)。しかもArchWikiのこことここにちゃんと書いてあるのでぐうの音も出ない。
その他
インストールガイドを逸脱したことのメモ書きとして:パーティションにラベルを付けました。永続的なブロックデバイスの命名 - ArchWikiです。その上で genfstab
に -U
ではなく -L
を渡してあげるとfstabの記述がUUIDではなくラベルで指定されたものになります。