aio boot(その13:rEFIndで前回のbootを記憶)

自宅マシンのaio boot(CLOVER)による非UEFIマシンのrEFIndによる起動では、rEFIndの設定がうまくNVRAMに保存できないようで前回bootした物を記憶することができませんでした。
今日、rEFIndのマニュアルを見ていたら、2年位前からNVRAMの代わりにESPにファイルとして保存することができるようになっていることを今頃になって知りました。早速、refind_x64.efiを新しい物に入れ替えて、refind.confにnvram falseを追加し、更にrefindのdirectoryにvarsというsub directoryを掘ってみた所(私は/EFI/CLOVER中にrefind_x64.efiをCLOVERX64.efiという名前で入れているので、この場合は/EFI/CLOVER/vars/になる)、前回bootしたものの情報が無事/EFI/CLOVER/vars/PreviousBootに保存され、前回起動したものがdefaultで選択されるようになりました。

P.S. 何故か私の環境(設定?)では、refind 0.12.0は正しく動作しないので、refind 0.11.5を使っています。

P.P.S. refind 0.12.0が不調な原因が判りました。optionsでloader.efiにparameterを渡す際に、最初のパラメータが正常に渡らないようです。optionsの2番目以降のパラメータは正常に渡りますので、optionsの最初にdummyのパラメータを追加すれば一応0.12.0も動きます。

P.P.P.S refind 0.11.5から0.12.0への変更で削られたcodeを入れてみた所、正常に動作するようになりました。パッチバイナリーを置いておきます。なお、バイナリーはubuntuでgnu-efiで作成したためちょっとサイズが大きくなっています。

その12へ戻る

カテゴリーmisc