如何从 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
最佳答案
如果这确实是基于 BIOS 的系统,而不是 UEFI,则没有普遍可用且可靠的方法来确定将从哪个磁盘启动。对于许多 BIOS 版本,默认启动的磁盘甚至可能会从一次启动到下一次启动看似随机地变化,因为设备以不同的顺序枚举。
如果您想在基于 BIOS 的计算机上可靠地引导 GNU/Linux,标准解决方案是确保 grub 的引导扇区安装到 BIOS 可能决定从中引导的任何驱动器的 MBR 中。如果您的发行版在 grub 软件包更新时自动重新安装 grub(这是应该的,而且大多数都是如此),那么您应该确保您的发行版也配置为将 grub 的引导扇区重新安装到所有驱动器。
关于linux - Linux下如何判断BIOS使用哪个磁盘启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26690942/