Как создать MBR на USB-накопителе с помощью инструмента командной строки DD


16

Хорошо, я пытаюсь создать загрузочный образ Windows7 на USB-ключе с Mac под управлением Lion. Мое изображение в формате .iso. Я старался:

sudo dd if=/Users/myusername/Win7.iso of=/dev/disk1 bs=1m

И это удалось записать файлы, за исключением DISK UTILITY на Mac, он показывает тип раздела в виде таблицы разделов GUID, а не «Master Boor Record». Загрузка ключа на моем компьютере Vista выдает ошибку «Нет загрузочного сектора на USB-устройстве»

Из того, что я могу сказать, bs = 1m в команде DD должно было оставить 1 мегабайт для загрузочного сектора, но по какой-то причине эта область USB-ключа настроена неправильно, так что он будет загружаться

Как я могу это исправить или правильно использовать dd для записи загрузочного образа компакт-диска, чтобы он стал загрузочным USB-накопителем?

Примечание: в инструкциях, о которых я читал, они рекомендовали переименовать мой Win7.iso в Win7.dmg перед использованием DD, что для меня не имело никакого смысла, поэтому я этого не делал. Я мог бы попытаться выполнить этот шаг сейчас, но на запись образа на USB-накопитель уходит 1,99 часа, поэтому здесь очень много проб и ошибок. Спасибо.


Вы убедились, что .isoфайл имеет допустимый загрузочный сектор? Если вы скопировали его непосредственно с загрузочного компакт-диска, возможно, что-то пошло не так, поскольку компакт-диски имеют сектора по 2048 байт, а большинство флэш-накопителей имеют сектора по 512 байт.
LawrenceC

FYI. DD - это утилита для скрытия и копирования файла. Он ничего не знает о таблицах разделов или загрузочных секторах. bs = 1m означает чтение и запись до 1 мегабайта за раз. Если вы хотите оставить место в передней части диска, вы должны использовать seek = BLOCKS. Где блоки = размер сектора, который по умолчанию равен 512.
Мэтт Х

@MattH Вы писали: «К вашему сведению. DD - это утилита для скрытия и копирования файла». <--- Это совершенно неправильно, и ты это знаешь. А что касается того, что он знает, вы говорите: «Он ничего не знает о таблицах разделов». Конечно, это не так, но он все равно может повлиять на них. Речь идет о копировании необработанных байтов из раздела или всего жесткого диска, а не из файла, и вы это знаете. И то, что копируется, может включать файлы и (хотя я не эксперт), я предполагаю, что это будет включать таблицу разделов.
Бароп

ДД не звучит как правильный инструмент для преобразования CD ISO в изображение для USB. Есть много способов поставить win7 iso на USB, и я не думаю, что dd - один из них! По крайней мере, никто не будет нормально использовать! dd / ddrescue хорош, если у вас два одинаковых жестких диска и вы хотите скопировать один на другой. или если на жестком диске были какие-то ошибки, и вы хотите создать его образ, когда другое программное обеспечение для обработки изображений не удается.
Barlop

@barlop - страница руководства dd - «Скопировать файл, преобразовать и отформатировать в соответствии с операндами».
Мэтт Х

Ответы:


7

Используйте Параметры дисковой утилиты, чтобы установить тип раздела Master Boot Record, прежде чем вы выполните команду dd.

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


4
Это не удалось. Я знал о настройках, показанных на ваших скриншотах, но после выполнения этого сначала, а затем DD, полученное изображение все еще не находило загрузочный сектор. Команда DD, похоже, удаляет все, что делает утилита диска, похоже, что она пишет в каком-то очень низкоуровневом необработанном режиме. Хотелось бы, чтобы это работало, но, честно говоря, это не так, и глупо, что утилита диска не поддерживает образы .iso для восстановления.
Лана Миллер

5

У меня была похожая проблема при попытке создать загрузочный USB-диск из OSX. Проблема заключалась в том, что UnetBootin настраивал загрузочную запись на USB-диске. Вы должны сделать это вручную с помощью Disk Util и fdisk.

  1. Отформатируйте диск в Дисковой утилите, указав правильную MBR

    1. Open Disk Utilty
    2. Выберите устройство USB
    3. Нажмите Раздел
    4. Выберите 1 раздел в макете раздела
    5. Выберите «Master Boot Record» в опциях
    6. Выберите MS-DOS (FAT) в типе формата.
    7. Нажмите Применить, затем Раздел
    8. Утилита Close Disk Utility
      Это уничтожит USB-диск и настроит его с правильной загрузочной записью.
  2. Установите двоичный файл MBR из проекта SysLinux

    1. Используйте командную строку diskutil, чтобы найти имя устройства для вашего USB-накопителя.
      список рассылки
    2. Размонтируйте USB-накопитель с помощью командной строки. NB. Обязательно поменяйте местами ссылку на устройство (в моем случае это / dev / SOMEdisk2) с верным ключом usb, который вы указали на предыдущем шаге - это изменится для каждой машины.
      diskutil unmountDisk / dev / SOMEdisk2
    3. Отметьте раздел как активный, затем снова размонтируйте его
      sudo fdisk -e / dev / SOMEdisk2
      Распечатать
      f 1
      записывать
      Распечатать
      выход
      diskutil unmountDisk / dev / SOMEdisk2
    4. Загрузите Syslinux и распакуйте файл mbr.bin
    5. Установите MBR
      sudo dd conv = notrunc bs = 440 count = 1 if = mbr.bin of = / dev / SOMEdisk2
      NB: смотрите мои полные инструкции, если вам нужна дополнительная помощь с шагами 4 и 5.
  3. Используйте UnetBootin для установки файлов установки вашей ОС

    1. Загрузите и установите UnetBootin, если вы еще этого не сделали
    2. Загрузите приложение, выберите предпочитаемый дистрибутив и нажмите кнопку ОК.
    3. Когда он закончится, извлеките USB-ключ и используйте его

Полные инструкции


Здравствуйте, Пол, если вы просто разместите ссылку, пожалуйста, будьте добры и добавьте еще немного контента. Я добавил ваши пошаговые инструкции, если вы не возражаете. Иначе вы можете отменить редактирование
nixda

Нет проблем, я вижу, что это позволяет быстрее / легче получить ответ, поэтому я сделаю это в следующий раз - спасибо, что сделали это для меня :)
Пол Маундерс

Есть 3 mbr.bin в syslinux zip, какой мне следует использовать?
Оливье Лалонд

Просто используйте стандартный syslinux-5.00 / mbr / mbr.bin
Пол Маундерс

Это не работает для меня. Тем не менее, я получил сообщение «Не системный диск».
отходы

1

Отформатируйте USB-ключ с помощью Master Boot Record (MBR)

  • в Терминале: список дисков

  • запишите имя вашего USB-ключа (у меня был / dev / disk1)

  • в Терминале: диск или eraseDisk MS-DOS "WINDOWS10" MBR / dev / disk1

  • замените / dev / disk1 на имя вашего USB-ключа

Смонтировать образ диска Windows 10

  • в Дисковой утилите: выберите Файл ›Открыть образ диска› выберите свой .iso

  • в левой панели: нажмите на только что смонтированный образ

  • на правой панели: выберите имя и скопируйте его: что-то вроде CCSA_X64FRE_FR-FR_DV5

Скопируйте образ диска на USB-ключ WINDOWS10

  • в терминале: кд / тома

  • в терминале: cp -R CCSA_X64FRE_FR-FR_DV5 / WINDOWS10

  • замените имя образа в примере на имя образа вашего диска

  • косая черта в конце (после DV5 в примере) важна

  • копирование на USB-ключ USB 2.0 заняло более 90 минут без индикатора прогресса


0

Этот метод не использует дд, и я не проверял его.

Вы должны иметь возможность использовать UNetBootIn для переноса файловой системы в ISO на USB-накопитель. UNetBootIn - это кроссплатформенная утилита с открытым исходным кодом для переноса загрузочных образов CD / DVD на USB-накопители.

Запустите UNetBootIn (работает в Windows, Mac OS X и Linux) и выберите Disk Imageпереключатель. Затем выберите ISOиз выпадающего меню (по умолчанию ISO) и введите путь к файлу ISO в поле path. Оттуда выберите нужный USB-накопитель для переноса на него и нажмите ОК.

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


2
Я проверил это, казалось, работает, загрузочный сектор найден, но он предупреждает о «отсутствующей операционной системе». Я не уверен, что это проблема с изображением, которое я использовал, но я сомневаюсь в этом. Попробуем поиграть с этим немного больше, хотя, похоже, он правильно пишет загрузочный сектор.
Лана Миллер

@LanaMiller Я получаю ту же ошибку, пытаясь загрузиться с USB-флешки с Windows 7 Professional x64, вам удалось ее решить?
Крис-Топ

0

Просто нашел ответ здесь

# fdisk /dev/sdY

create single partition type 7+bootable partition

# mkfs.ntfs -f /dev/sdY1
# ms-sys -7 /dev/sdY

# mount -o loop win7.iso /mnt/iso
# mount /dev/sdY1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.