Мне всегда удавалось создавать загрузочные USB-устройства Linux, используя только dd
. Но когда дело доходит до Windows
, компьютер не загружается с USB ... - Я не знаю, почему это не работает, но самое главное: почему требуется записать MBR
в устройство для того, чтобы правильно загрузить Windows?
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, он не будет работать.
Для дополнительной информации:
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
Ваша предпосылка неверна.
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 с использованием параметров по умолчанию.
Обратите внимание, что есть текстовая строка, где должна находиться таблица разделов.