错误的启动顺序 – BIOS卡住,而不是尝试下一个启动设备

我有一台运行英特尔S2600C0 BIOS版本SE5C600.86B.02.06.0002的testing服务器。 它有7个固态硬盘:5个SDLFNCAR-960G-1HA2和2个Micron_M500DC_MTFDDAK800MBB 。 操作系统和所有的文件都在第一个SSD上,其他6个SSD被我们的软件使用。

问题是,如果第一个SSD不是引导顺序中的第一个,BIOS尝试从它启动时就会卡住,而不会意识到它不能启动并按照引导顺序继续下一个设备。

我们的实验表明分区表有问题:

  1. 使用GPT分区表(我们用于我们的软件)在数据磁盘上启动会卡住。
  2. 用数据磁盘上的MBR分区表启动会卡住。
  3. 我尝试添加一个分区到桌面并启动 – 它也卡住了。
  4. 当我擦除分区表(使用sgdisk -Z )时,我可以用任何启动顺序启动。

启动标志(或传统BIOS可启动的GPT)总是closures – 虽然我也尝试激活它(仍然没有工作)

“只要设置正确的启动顺序”不是一个解决scheme(虽然我可能会被迫解决),因为:

  1. 当所有SSD在BIOS菜单中都是相同types并具有相同名称时,需要大量的试验和错误来确定操作系统所在的位置。
  2. testing服务器是一回事 – 我们希望避免这样做到我们客户的服务器。

这是BIOS信息:

  $ dmidecode -t bios -q BIOS Information Vendor: Intel Corp. Version: SE5C600.86B.02.06.0002.101320150901 Release Date: 10/13/2015 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 8192 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) ACPI is supported USB legacy is supported BIOS boot specification is supported Targeted content distribution is supported BIOS Revision: 4.6 BIOS Language Information Language Description Format: Long Installable Languages: 1 en|US|iso8859-1 Currently Installed Language: en|US|iso8859-1 

预期的行为:当BIOS识别出正确定义的分区表时,它加载第一个512字节的扇区,并将控制权交给刚刚从磁盘加载的代码。 之后,它没有控制/可见性/“良好的启动”或“卡住的启动”的概念。

当找不到有效的分区表时,BIOS会自动select下一个磁盘,直到find有效的磁盘。

要解决此问题,您有三个解决scheme:

  • 使用和硬件RAID控制器,使多个磁盘可以在BIOS级别看到一个单一的实体
  • 使用fakeraid解决scheme(如英特尔在芯片组上提供的解决scheme),通过使用适当的选项ROM,可以将多个磁盘布局抽象化为主BIOS,作为单个磁盘
  • 每个磁盘上安装适当的MBR /引导加载程序,以便BIOS引导顺序变得无关紧要(这是传统的软件RAID解决scheme)