SVX日記
2025-04-26(Sat) マルチブートは任天Do!
ちょっと前に、メインPCのFedora30をシブシブ41に上げた。30標準のFirefoxで見えないページが増えてきたのと、Factorio Space Ageが動かないから、というしょーもない理由である。で、そのどちらも解決はしたものの、ebviewが起動しなくなってしまったり、gimpが妙にモッサリになってしまったり、emacsが時々ツッカカったり、微妙にグレードダウンした部分も少なくない。
そもそも、OSを上げる作業が一発勝負で、元には戻れないっつぅのはどうなんだ。結局は移行することになるにせよ、一時的にでもマルチブートできる環境を保持できるべきではないのか。そう思って以前にちょっと試したのだが、うまくいかなかった。んが、ちょうど旧いOSで試したいことがいくつか出てきたので、改めて試行錯誤してみることにした。いわゆる「ヤクの毛刈り」状態なのではあるが、せっかくだから前向きに「毛刈り」をしてみよう、ってトコである。
で、手持ちの3種のミニPCに、Fedora29, 30, 31, 32, 34, 35, 42を10回くらいインストールしてみたのだが……結論から言うと、概ね可能ではあるものの、結果がいまひとつ安定しない、という感じ。ミニPCのひとつは割と旧いのだが、すべてUEFI対応。新しいPCでは旧めのFedoraの動作がイマイチで、旧いPCでは新しめのFedoraの動作がイマイチ。旧めのFedoraは割と新しいモバイルディスプレイでの動作がイマイチ。今回の方法では、概ねマルチブート可能な状況にはなるものの、実際にはうまく起動しなかったり、起動しても調子が悪かったりもする。
旧いPCに、33, 34, 29の順で導入した後のGRUBのブート画面が以下。標準的に29が起動する状態だが、33, 34も選択できるようになっている。2エントリずつあるが、片方はレスキュー起動用のエントリである。
/dev/sda1 127M EFI System
/dev/sda2 896M Linux swap
/dev/sda3 1G Linux filesystem
/dev/sda4 1G Linux filesystem
/dev/sda5 1G Linux filesystem
/dev/sda6 188G Linux filesystem
/dev/sda7 64G Linux filesystem
/dev/sda8 64G Linux filesystem
/dev/sda9 64G Linux filesystem
で、旧いPCだと、Fedora34はやたらツッカカって使い物にならなかったので、ちょうど出たばかりのFedora42で上書き導入した後のGRUBのブート画面が以下。標準的に42が起動する状態だが、33, 29も選択できるようになっている。先と同じく2エントリずつあるが、片方はレスキュー起動用のエントリである。
というわけで、ある程度うまくいく方法は見つけたものの、GRUBのブート画面の様子からして、どうも最後のOSインストールの際に、既存のOSをサーチする何らかの仕組み(これはgrub2-mkconfigぽい)があり、それで旧いOSのエントリが追加され、GRUBのブート画面に出ているらしいものと察せられる。ということは、その仕組みでサーチできなかったり、追加処理がコケた場合、マルチブートできない状態になる可能性は考えられるわけだ。
また、別の情報だが、ブートエントリが壊れた場合、セキュアブート環境だと、ブートエントリを復旧する作業は非常にホネらしい。技術者としては、そこも詳しく追求すべきかもしれないが、おそらくはあまりマトモな理由ではないグダグダ成分が多そうだし、それが活用できるのはブートエントリが壊れた時だけであろうから、ここは思い切って「そっ閉じ」しておこうと思う。
マルチブートとは関係ないが、こんなこともある。最新のディストリは、リリース後2週間くらいは寝かせるべきだ。
・都度、/boot/efiは上書き、/boot, /は別領域を指定して再フォーマット、/homeは再フォーマットせずに指定、という方法が有効
・/boot/efiは再生成されるので、/etc/fstabからコメントアウトしておかないと、起動でコケる(swapを再生成した場合も同様)
・どうにもならないことはあるので、一定以上は考えず、任天Do!
・最初から、複数インストールしてマルチブート可能か確認しておく
・最後の手段として、/boot/efi(/dev/sda1)領域をまるごとddでバックアップしておくと有効か