SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|

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エントリずつあるが、片方はレスキュー起動用のエントリである。

  画像の説明

  今回は、事前にパーティションを以下のような感じで切り、3, 4, 5を各/boot用、7, 8, 9を各/用、6を共通の/homeとした。

/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

  でもって、都度、/boot/efiは上書き、/boot, /は別領域を指定して再フォーマット、/homeは再フォーマットせずに指定、というのが今回のやり方。

  画像の説明

  で、旧い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でバックアップしておくと有効か

  しかし、N3150とN100とでは、インストールの速度が雲泥であった。底辺PC好きとしては、底辺の底上げは実に喜ばしいwww。