1

Мне всегда удавалось создавать загрузочные USB-устройства Linux, используя только dd . Но когда дело доходит до Windows , компьютер не загружается с USB ... - Я не знаю, почему это не работает, но самое главное: почему требуется записать MBR в устройство для того, чтобы правильно загрузить Windows?

3 ответа3

3

Ваша предпосылка неверна. Не все дистрибутивы Linux может загружаться просто dd изображения на флэш - диск. Например, в старых версиях Ubuntu вы должны использовать инструмент для создания Ubuntu установочный / живой USB-накопитель. В Ubuntu 5.x или 6.x вам даже нужно использовать отдельные компакт-диски для живого сеанса и для установки.

В настоящее время большинство дистрибутивов Linux используют гибридные ISO-образы, так что вы можете просто записать весь ISO-диск на диск, и он будет работать. Однако это не означает, что все дистрибутивы Linux поддерживают это. Knoppix только что изменился на гибридный ISO в последней версии (8.1)

Что такое гибридное изображение?

Мы привыкли загружать ISO-образы с зеркал Ubuntu каждый раз, когда выходит новая версия. В то же время, когда эти образы могут быть записаны непосредственно на диск CD-ROM, для создания загрузочного установочного USB необходимо использовать специальные инструменты создания USB, такие как «Startup Disk Creator» (включен по умолчанию в Ubuntu), «UNetbootin» и т. д. С помощью гибридных образов вы можете просто записать данные, включая файловую систему образа, на USB-накопитель с помощью команды «dd». Обратите внимание, что простое копирование его содержимого после монтирования не будет работать, так как не скопирует MBR и таблицу разделов, а также дополнительные сектора в конце изображения.

Нормальный ISO будет иметь все нули в начале. Гибридный ISO будет содержать MBR в начале, так что BIOS будет думать, что это допустимый загрузочный сектор и загружает его

Гибридная настройка для BIOS и EFI с CD/DVD и USB-накопителя

Загрузочный каталог EL Torito может предлагать в той же файловой системе ISO альтернативные образы загрузки для PC-BIOS и для EFI.

Но El Torito интерпретируется прошивкой только в том случае, если она представлена на оптическом носителе: CD, DVD, BD. Для загрузки PC-BIOS и EFI с USB-накопителя или других устройств, подобных жесткому диску, требуется MBR и, если необходимо, GPT.

http://wiki.osdev.org/El-Torito#Hybrid_Setup_for_BIOS_and_EFI_from_CD.2FDVD_and_USB_stick

Загрузчики Linux поддерживают загрузку с MBR и GPT в системах BIOS и UEFI, поэтому проблем не будет. Однако USB-накопитель больше не будет доступен для записи в Windows, потому что он распознается как привод CD или DVD. Вам нужно почистить диск и воссоздать, используя схему MBR или GPT, как это. Вам по-прежнему нужны инструменты для загрузки загрузочных Linux-дисков, если вы хотите использовать диск для обычного хранения данных, а также для загрузки или если вы хотите использовать живую загрузку с постоянными данными.

OTOH Windows не использует гибридный ISO, и обычно производители USB-инсталляторов просто копируют boot.wim, install.wim и другие необходимые файлы, а затем загружают загрузчик Windows на диск. Поскольку для загрузчика Windows требуется GPT в системах UEFI и MBR в системах BIOS, если вы загружаете флэш-накопитель MBR в UEFI, он не будет работать.

Для дополнительной информации:

3

MBR требуется только в том случае, если загружаемое встроенное ПО является BIOS или находится в режиме совместимости с BIOS. Если встроенное ПО находится в режиме полного UEFI без поддержки совместимости, Windows будет ожидать, что загрузочный диск будет разделен как GPT.

Поддержка загрузки Windows для разделов диска может быть найдена в поддержке Windows для жестких дисков, которые больше чем 2 ТБ

System        BIOS + MBR   UEFI + GPT                  BIOS + GPT                   UEFI + MBR
Windows 7     Supported    Supported; (64-bit only)   Boot volume not supported     Boot volume not supported
Windows Vist  Supported    Supported; (64-bit only)   Boot volume not supported     Boot volume not supported
Windows XP    Supported    Not supported              Boot volume not supported     Boot volume not supported
1

Ваша предпосылка неверна.
MBR всегда требуется, если на компьютере установлен BIOS.
Если вам удалось создать загрузочный диск или флэш-диск с использованием dd , то вы либо использовали существующую MBR этого устройства, либо команда dd записала новую копию в первый сектор.

MBR, установленный в первом секторе, необходим для каждого устройства, которое эмулирует жесткий диск в соответствии с архитектурой ПК и BIOS. Это требование не относится ни к одной ОС.

Мне всегда удавалось создавать загрузочные USB-устройства Linux, используя только dd.

Если вы использовали dd для копирования гидридного ISO-образа на флэш-накопитель USB, то в этом образе определенно имеется MBR.
Принимая во внимание, что если вы попытаетесь использовать обычный образ ISO, этот USB-накопитель не загрузится. Посмотрите, в чем разница между механизмом загрузки USB и механизмом загрузки с оптического диска?

Но когда дело доходит до Windows, компьютер не загружается с USB ..

USB это шина, а не устройство.
Вам нужно устройство для загрузки.
Конечно, вы столкнетесь с разницей в загрузке с жесткого диска USB или SDD по сравнению с флэш-накопителем USB.

Почему для правильной загрузки Windows необходимо записать MBR в устройство?

Вероятно потому, что по умолчанию Windows не рассматривает (или форматирует) USB-накопители как эквивалент жесткого диска. Для флеш-накопителя USB Windows записывает загрузочный сектор устройства, который не имеет таблицы разделов, как флоппи-дисковод.
Linux, с другой стороны, рассматривает USB-накопитель как жесткий диск и всегда записывает MBR с таблицей разделов.

Когда вы утверждаете, что "записываете MBR в устройство", несомненно, вы используете систему Linux вместо Windows.

ДОПОЛНЕНИЕ

В качестве доказательства того, что Windows не устанавливает таблицу разделов для флэш-накопителя USB, приведен шестнадцатеричный дамп первого сектора флэш-накопителя USB, который сначала был "очищен" с помощью dd if=/dev/zero of=/dev/sdb count=1 , а затем форматируется в системе Win7 с использованием параметров по умолчанию.

Шестнадцатеричный дамп загрузочного сектора флешки Обратите внимание, что есть текстовая строка, где должна находиться таблица разделов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .