Фактические требования к файлам и / или разделам, чтобы различать образ, потенциально можно загрузить как устаревший или UEFI?

Раньше я проводил тщательный поиск, и я знал об этом много лет назад, когда UEFI еще не существовало. Но, кажется, когда чем-то не пользуешься, то иногда «разучиваешься». Кажется, никто ЧЕТКО не указывает фактическое различие.

Итак, у меня есть образ (USB или образ диска, неважно). Если я смонтирую его или «открою», чтобы увидеть содержимое (или даже без? С помощью инструмента?), Как я могу быть относительно уверен, что он поддерживает устаревшую загрузку, UEFI или и то, и другое? БЕЗ попытки загрузить его (поскольку на самом деле неудача или успех покажут ответ — плюс многие UEFI действительно указывают, обнаружили ли они носитель с поддержкой UEFI).

В отличие от общеизвестных (?) Сведений, тип раздела не кажется решающим фактором (по крайней мере, не исключительно). Я подозреваю, что определенные файлы должны быть в определенных местах? Может ли кто-нибудь указать где?

У меня есть набор изображений, которые мне нужно классифицировать и очистить.

2 ответа
2

Для UEFI у вас есть много подсказок, указывающих, что диск является загрузочные, но их отсутствие не обязательно означает, что диск не загрузочный. Имейте в виду, что для внутренних дисков часть этой информации обычно хранится в энергонезависимой памяти материнской платы и не обязательно перемещается вместе с содержимым диска.

  • Таблица разделов:

    Спецификация UEFI позволяет использовать таблицы разделов GPT и MBR для всех типов дисков. Съемные устройства также могут быть неразмеченными, полностью состоящими из файловой системы, совместимой с EFI. CD / DVD используют ту же структуру El Torito, что и для загрузки BIOS.

  • Раздел:

    Загрузочные файлы хранятся в «системном разделе EFI», который имеет определенный идентификатор типа раздела, назначенный как для MBR (0xEF), так и для GPT (C12A7328-F81F-11D2-BA4B-00A0C93EC93B).

    (Обратите внимание, что некоторые инструменты показывают идентификаторы типов разделов по-разному, например, gdisk сокращает GUID GPT до EF01, а parted вместо этого показывает его как флаг.)

    Однако, если микропрограмма загружается в соответствии с GUID определенного раздела и путем к файлу, хранящимся в системном NVRAM (записи Boot ####), то идентификатор типа раздела не требуется строго (если я правильно читаю спецификацию). Это необходимо только в том случае, если в прошивке нет информации и необходимо автоматически определять раздел и файл для загрузки.

    Идентификатор типа раздела также не требуется для съемных носителей.

  • Бык:

    Компакт-диски и DVD не имеют таблиц разделов, вместо этого у них есть каталог загрузки с несколькими записями, по одной для каждой поддерживаемой платформы. Загрузочные диски EFI имеют запись с идентификатором платформы 0xEF (которая является многоплатформенной, поскольку содержит те же файлы, что и системный раздел EFI):

    $ dumpet -i en_windows_vista_enterprise_sp2_x64_dvd_342332.iso
    Section Header Entry:
         Header Indicator: 0x91 (Final Section Header Entry)
         PlatformId: 0xef (EFI)
    
  • Файловая система:

    UEFI определяет FAT (16/32) как стандартную файловую систему, которая должна поддерживаться для системного раздела EFI.

    Хотя он не запрещает прошивкам поддерживать другие файловые системы (я считаю, что Mac принимают HFS? А некоторые ПК принимают NTFS?), Поэтому диск мог потенциально может быть UEFI-загрузочным, даже если у него нигде нет файловой системы FAT.

  • Путь файла:

    EFI можно настроить для загрузки любого исполняемого файла из указанного раздела, но если записи NVRAM отсутствуют (или если все они не работают), он будет искать стандартный путь EFIBootBootARCH.efi (без учета регистра), где ARCH — X64 для amd64.

    Я могу комментировать только CD / DVD и их ISO-образы. Я никогда не пробовал использовать USB-образы, поэтому этот ответ может быть неполным.

    Вам нужен такой инструмент, как ИСО Бастер. (Приложение для Windows) Думаю, в большинстве случаев должны работать бесплатные функции.

    1. Откройте образ ISO в ISO Buster
    2. На левой панели нажмите «Загрузочный диск». На правой панели должны отображаться файлы .img.
    3. Если вы видите только один .img, это однорежимный загрузочный диск (однако это может быть либо Legacy, либо UEFI). Если вы видите два .img, значит это мультизагрузка.
    4. Теперь щелкните правой кнопкой мыши .img и нажмите «Выполнить».
    5. Откроется новое окно. Если вы видите только информацию о сеансе и треке, значит, это Legacy Bootable
    6. Загрузочный .img UEFI будет отображаться при запуске, раздел -> сектор EFI.
    7. Если вы найдете там два .img и один показывает только сектор трека, а другой сектор EFI, то это и Legacy, и UEFI Bootable.

    Примечание. Этот метод не позволяет проверить фактическую целостность файла .img. Основываясь на структуре .img, он указывает, является ли он загрузочным: Legacy или UEFI. Я могу вставить поддельный bootx64.efi в качестве файла образа в EFI / boot, тогда ISO buster укажет, что это загрузочный образ, но фактический ISO или DVD не загрузится, так как внутри bootx64.efi нет настоящего загрузочного кода, и поэтому случай с образами Legacy.

    См. Скриншоты ниже.

    ISO-образ загрузочного компакт-диска Hiren (только устаревший загрузочный)

    введите описание изображения здесь

    введите описание изображения здесь

    Windows 7 (64-разрядная) — обе устаревшие версии + загрузочный UEFI

    введите описание изображения здесь

    введите описание изображения здесь

    введите описание изображения здесь

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *