如何从CMOS打印哪个设备将在重启后用作启动设备?
计算机有几个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 :(得分:2)
如果这确实是基于BIOS的系统,而不是UEFI,则没有普遍可用且可靠的方法来确定将从哪个磁盘引导。对于许多BIOS版本,默认启动的磁盘甚至可能在一次启动时随机改变,因为设备按不同的顺序进行枚举。
如果您想在基于BIOS的计算机上可靠地启动GNU / Linux,标准解决方案是确保将grub的启动扇区安装到BIOS可能决定启动的任何驱动器的MBR上。如果您的发行版在grub软件包更新时会自动重新安装grub(应该这样做,而且大多数都会这样做),那么您应该确保您的发行版配置为将grub的引导扇区重新安装到所有驱动器。
答案 1 :(得分:1)
如果它的UEFI有定义的变量保持引导顺序和工具" efibootmgr"可以帮助您访问它们:http://linux.dell.com/files/efibootmgr/efibootmgr-0.5.4/efibootmgr.txt