2014-11-01 40 views
-1

如何從CMOS打印哪些設備將在重啓後用作啓動設備?如何判斷Linux下哪些磁盤將被BIOS使用來啓動?

計算機有幾個SATA磁盤驅動器和幾個可引導的USB設備連接。

CMOS存儲器的佈局由所使用的BIOS版本定義。 我知道有幾個不同的版本和BIOS的製造商。我認爲可以通過檢查BIOS內存來確定使用哪一個。不知怎的,喜歡在這個問題上 - How to check the BIOS version or name in Linux through a command prompt?

我的電腦給

$ sudo dmidecode -t bios -q 
BIOS Information 
    Vendor: Award Software International, Inc. 
    Version: F4 
    ... 
Characteristics: 
    Boot from CD is supported 
    Selectable boot is supported 
    USB legacy is supported 
    BIOS boot specification is supported 
    ... 

我沒有重啓大型機和只看BIOS設置的可能性。這就是爲什麼我需要知道他們而不重新啓動。

# dmidecode --type 32 --dump 

Handle 0x0025, DMI type 32, 11 bytes 
System Boot Information 
Status: No errors detected 
Header and Data: 
    20 0B 25 00 00 00 00 00 00 00 00 
Strings: 
    20 00 
    " " 

發現了一些文件,
http://www.scs.stanford.edu/05au-cs240c/lab/specsbbs101.pdf
http://www.dmtf.org/standards/smbios
http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.8.0.pdf
但他們還嫌我。理想情況下,我需要一些命令行工具(或者如何編寫它的信息),這將幫助我瞭解哪個設備(/ dev/sd?)將被引導。

有關於Windows類似的問題,但還沒有明確的答案 - How to tell which disk Windows Used to Boot

回答

0

如果這實際上是一個基於BIOS的系統,而不是UEFI,那麼就沒有通用的可靠方法來確定將從哪個磁盤啓動。對於許多BIOS版本,默認情況下啓動的磁盤甚至可能從一個啓動到下一個啓動都隨機更改,因爲設備按不同的順序枚舉。

如果你想在基於BIOS的機器上可靠地啓動GNU/Linux,標準的解決方案是確保grub的啓動扇區被安裝到BIOS可能決定啓動的任何驅動器的MBR上。如果你的發行版在grub包得到更新時自動重新安裝grub(它應該,而且大部分都是這樣),那麼你應該確保你的發行版被配置爲重新安裝grub的引導扇區到所有驅動器。

相關問題