[centos-users 1635] Re: UEFI ブートの起動設定
豊田 二郎
jiro.toyoda @ gmail.com
2013年 9月 2日 (月) 17:21:57 JST
矢木様
アドバイスありがとうございます。
> 矢木です。
>
> /var/log/message に何か関連した情報がないでしょうか。BIOS は最新バージョンですか。
/var/log/message はよくわかりませんでした。
とりあえず、最新 BIOS が、2013-08-13 に出ていましたので update(1.6 -> 1.8)しました。
アップデート直後、BIOS の UEFI モードで HDD が2台とも見えなくなり、HDD から起動できな
くなって少し焦りましたが、CentOS 6.4 の DVD-R から rescue モードで起動し、 efibootmgr
コマンドを実行して、何とか HDD から起動することができました。
結論から言うと、今度は、Boot0000 が優先されるようになっただけで、全く同じ
動作でした。
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0004,0002,0003
Boot0000* CentOS sda
Boot0001* CentOS sdb
Boot0002 Hard Drive
Boot0003 CD/DVD Drive
Boot0004* UEFI: Built-in EFI Shell
Boot0005 Hard Drive
Boot0006 CD/DVD Drive
上記の状態で reboot すると、sdb 側で立ち上がることが予想されますが、
実際は、なぜか sda で立ち上がってしまいます。
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0004,0002,0003
Boot0000* CentOS sda
Boot0001* CentOS sdb
Boot0002 Hard Drive
Boot0003 CD/DVD Drive
Boot0004* UEFI: Built-in EFI Shell
Boot0005 Hard Drive
Boot0006 CD/DVD Drive
よくわからないです。
仕方ないので、/etc/rc.local から、次のような perl スクリプトを呼び出すように
設定しておきました。
#----- cut ----- cut ----- cut ----- cut ----- cut ----- cut ----- cut -----
#!/usr/bin/perl
#
use strict;
my $efibootmgr = "/usr/sbin/efibootmgr";
#
open(EFIBOOT,"$efibootmgr|");
while(<EFIBOOT>){
chop;
if (/^BootCurrent: ([0-9]+)/) {
my $boot_current = $1;
print "$efibootmgr -n $boot_current\n";
system("$efibootmgr -n $boot_current");
}
}
#
exit 0;
#----- cut ----- cut ----- cut ----- cut ----- cut ----- cut ----- cut -----
--
豊田 二郎
jiro.toyoda @ gmail.com
centos-users メーリングリストの案内