3

Обновлен вопрос TL; DR:

У меня есть 2 машины A и B; оба загружаются с USB. Когда я создаю флешку с dd на машине A, она не является ни загрузочной машиной A, ни машиной B, ни какой-либо другой загрузочной машиной. Когда я создаю флешку из того же iso с той же самой флешкой usb на машине B с той же самой командой dd флешка загружает машину A и машину B и любую другую загрузочную машину. Какой секретный ингредиент делает «флешку» на самом деле загрузочной?

(TL; DR заканчивается здесь.)


Прежде всего: я полностью знаю об этом вопросе и его ответе: почему «dd» не работает для создания загрузочного USB? - однако проблема, указанная в принятом ответе (а также в других ответах), не та, которая у меня есть.

Дополнительный отказ от ответственности: этот ответ: https://superuser.com/a/1141527/180563 не отвечает на этот вопрос. Предполагается, что разные ISO с разными конфигурациями используются в разных системах. Как я указал в комментариях, это не так. Единственное, что отличается в моих тестах, - это машина, на которой был сделан Boot-Stick; остальное, то есть ISO и машина, которая должна быть загружена, одинаковы. Пожалуйста, не одобряйте этот ответ, так как он не отвечает на заданный вопрос и, следовательно, является неправильным ответом.

Я знаю, что распространенная проблема - путать правильное устройство с dd и часто пользователь путает первый раздел со всем устройством.

Но это не моя проблема! Я правильно использую команду, т.е. я копирую не в первый раздел, а на устройство, например:

dd if=linux.iso of=/dev/disk3 bs=1m

(1m правильно, так как я использую bsd-dd, который использует более низкий m а не заглавную M , поэтому, пожалуйста, не комментируйте это. 1M не будет даже допустимым параметром для моей версии dd)

/dev/disk3 - это файл устройства флешки, а не одного из ее разделов.

Теперь, хотя я делаю все в соответствии с документацией и даже так же, как это делают другие (с успехом), мои флешки не загружаются. Так что мой вопрос звучит так же, как и в другом: что является секретным компонентом, который делает dd скопированную палку загрузочной?

Обновление: тот же iso-файл, который я использую, будет работать на компьютере другого человека. Обновление 2: это iso-файл, о котором я говорю: http://cdimage.ubuntu.com/kubuntu/releases/16.10/release/kubuntu-16.10-desktop-amd64.iso Друг смог создать загрузочную флешку с дд от него пока меня нет.

1 ответ1

2

Обычно секретным ингредиентом является изогибрид. Файлы .iso самом деле являются образами компакт-дисков - они содержат файловую систему ISO 9660 (отсюда и название), обычно с расширениями El Torito, чтобы сделать ее загрузочной. Однако это немного отличается от того, как загружаются обычные диски (будь то внутренние или USB).

(Для систем BIOS, как ожидается, обычные диски будут иметь загрузочный код в своем 0-м секторе - части MBR. Хотя процесс загрузки с CD пытается эмулировать это некоторым образом, его начальный загрузочный код все еще хранится в другом месте.)

Многие дистрибутивы Linux используют isohybrid для объединения различных загрузочных образов и даже разных файловых систем (BIOS, El Torito и UEFI; ISO 9660 и FAT) в один образ, который каким-то образом все еще работает.

Но если ваш образ не был создан таким образом, то он будет иметь только загрузочный код CD, а не "дисковый".

Или образ может быть гибридным, но он может поддерживать только BIOS, в то время как вашей системе требуется UEFI, или наоборот. Или вы можете пытаться загрузить его на что-то, что не x86.

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