Назад | Перейти на главную страницу

Неверный порядок загрузки - BIOS зависает вместо попытки следующего загрузочного устройства

У меня есть тестовый сервер, на котором работает версия BIOS Intel S2600C0 SE5C600.86B.02.06.0002. Имеет 7 SSD: 5 SDLFNCAR-960G-1HA2s и 2 Micron_M500DC_MTFDDAK800MBB. Операционная система и все файлы находятся на первом SSD, а остальные 6 SSD используются нашим программным обеспечением.

Проблема в том, что если первый SSD не является первым в порядке загрузки, BIOS застрянет при попытке загрузки с него, вместо того, чтобы понять, что он не может загрузиться, и перейти к следующему устройству в порядке загрузки.

Наши эксперименты показывают, что ошибка таблицы разделов:

  1. Загрузка с таблицами разделов GPT (которые мы используем для нашего программного обеспечения) на дисках данных застревает.
  2. Загрузка с таблицами разделов MBR на дисках данных застревает.
  3. Попробовал добавить раздел в таблицу и загрузиться - тоже зависло.
  4. Когда я стер таблицу разделов (с sgdisk -Z) - Я был в состоянии загрузить с любым порядком загрузки.

Флаг загрузки (или Legacy BIOS загрузочный для GPT) всегда был выключен - хотя я также пробовал активировать его (все равно не работало)

«Просто установите правильный порядок загрузки» не является решением (хотя я могу быть вынужден согласиться на это), потому что:

  1. Когда все твердотельные накопители одного типа и имеют одно и то же имя в меню BIOS, требуется много проб и ошибок, чтобы выяснить, на каком из них установлена ​​ОС.
  2. Тестовый сервер - это одно - мы не хотим делать это с серверами наших клиентов.

Это информация 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 автоматически выбирает следующий диск, пока не найдет подходящий.

Чтобы обойти эту проблему, у вас есть три решения:

  • использование и аппаратный RAID-контроллер, который позволяет видеть несколько дисков как единый объект на уровне BIOS
  • использовать решение fakeraid (как то, которое Intel предоставляет в своем наборе микросхем), которое, используя соответствующее дополнительное ПЗУ, может абстрагироваться от макета нескольких дисков, представляя их в основной BIOS как один диск
  • установите соответствующий MBR / загрузчик в каждый диск, так что порядок загрузки BIOS становится неактуальным (это классическое решение с программным RAID)