2012年1月6日金曜日

/boot/grub/grub.cfgのrootってどこから設定されている?

というわけで調べてみた
update-grub2のコールスタック

/etc/grub.d/10_linuxを見れば分かるとおり
grub.cfgの$linux_root_device_thisversionによって作られています。
で、これは$GRUB_DEVICEから作られています。(grub-mkconfig参照)

結局、$GRUB_DEVICEはどこを参照しているかというと以下のコマンドで出してます。
grub-probe --target=device /

というわけでgrub-probeというコマンドの結果を入れているので、grub legacyみたいに設定値ではありません。じゃあどうやってrootパラメータを変更するの?って話になるけど、それはchrootするとか
GRUBメニュー選択時にEDITするとかが良いんじゃないでしょうか?

0 件のコメント: