Как создать загрузочный USB из загрузочного ISO с командной строкой в ​​Linux?

У меня есть компакт-диск, созданный из файла ISO, который я использую для установки пользовательской версии Ubuntu с помощью plop linux.

Cd работает отлично, но я бы хотел использовать загрузочный USB-накопитель. Я использовал команду dd, чтобы попытаться создать загрузочный USB:

dd if=filename.iso of=/dev/sdb1 bs=4k 

Теперь это копирует файлы и делает USB загрузочным, но я получаю сообщение об ошибке «Отсутствует операционная система»,

Есть идеи?

3 Solutions collect form web for “Как создать загрузочный USB из загрузочного ISO с командной строкой в ​​Linux?”

Хорошо после некоторого исследования я выяснил решение, и я пройду его шаг за шагом. Проблема была в два раза.

  1. Подключите USB-накопитель и определите устройство, на котором он установлен, с помощью команды:

     sudo fdisk -l 

    На этот раз для меня был / dev / sdc1, поэтому я буду использовать это в качестве своего примера.

  2. Подключите устройство

     umount /dev/sdc1 
  3. Не уверен, если это необходимо, но я отформатировал диск в FAT32, на всякий случай

     sudo mkdosfs -n 'USB-Drive-Name' -I /dev/sdc -F 32 
  4. Теперь мой ISO использовал isolinux not syslinux. Я знал, что это работает с компакт-дисками, поэтому я понял, что мне нужно вызвать команду isohybrid, которая позволяет распознавать ISO BIOS с жесткого диска.

      isohybrid filename.iso 

    Вы можете узнать больше об этой команде здесь , но это стало причиной сообщения «Отсутствующая операционная система». Первая проблема была исправлена, но теперь она сказала, что «isolinux.bin отсутствует или поврежден»,

  5. Следующим шагом будет копирование iso. Моя вторая проблема лежала здесь, где я копировал в раздел, sdc1, а не устройство, sdc.

     sudo dd if=filename.iso of=/dev/sdc bs=4k 

    Кажется, что это работает нормально, но на форуме, где я получил последнее исправление, перед отключением устройства было рекомендовано сделать следующее:

     sync sudo eject /dev/sdc 

Это обычная проблема с USB-накопителями SanDisk или палочками, не отформатированными в FAT32.

Если ни одно из них, это, безусловно, проблема с вашим порядком раздела палки или с файлом syslinux.cfg.

isohybrid может не всегда работать. Например, у меня было .iso с FreeDOS, и isohybrid не смог найти там некоторые важные файлы (я не знаю, должны ли они быть помещены туда syslinux, которые я использовал тоже, или что-то еще). Здесь я предлагаю несколько альтернатив.

1) Установите еще один загрузчик, такой как GRUB. Здесь объясняется:

«Предположим, что ваш первый раздел USB-накопителя – FAT32, а его раздел – / dev / sdy1» (у меня был grub2 на моем Fedora Core, поэтому я немного изменил команды):

 # mkdir -p /mnt/usb ; mount /dev/sdy1 /mnt/usb # grub2-install --target=i386-pc --recheck --debug --boot-directory=/mnt/usb/boot /dev/sdy # grub2-mkconfig -o /mnt/usb/boot/grub2/grub.cfg # optional, backup config files of grub.cfg # mkdir -p /mnt/usb/etc/default # cp /etc/default/grub /mnt/usb/etc/default # cp -a /etc/grub.d /mnt/usb/etc # sync; umount /mnt/usb 

2) Wikipedia FreeDOS предлагает сложный метод с GRUB и syslinux здесь (хотя я не понимаю, как они запускали grub> – я не мог загрузиться с USB на этот этап).

3) Вот сообщение, которое может быть полезно – оно говорит «Пока файлы command.com, kernel.sys, syslinux.cfg, ldlinux.sys и fat32lba.bss находятся в корне диска и MBR и загружаются Сектор не перезаписывается, диск должен оставаться загрузочным ».

4) Здесь объясняется, как сгенерировать загрузочный .iso-файл с помощью загрузчика syslinux. Они даже не используют isohybrid. К сожалению, это не помогло мне (возможно, из-за syslinux).

5 *) Используйте программу Windows через wine . Я пробовал rufus, однако это не сработало, он не смог найти устройство.

Я предупреждаю вас, что, к сожалению, я не мог решить эту проблему, мое устройство было не загружаемым, но я надеюсь, что это может быть полезно для других людей (также тех, кто хочет установить не linux на usb). Изображение usb, созданное chtaube, хотя и работало для меня, поэтому я считаю, что эти методы верны.

UPD: 3-й метод действительно работает (с исправлением для пользовательского установочного файла).

UPD2: (фиксированные ссылки). Проблема с isohybrid была, вероятно, потому, что версии isolinux.bin на iso и моей системе были разными. Перекомпилированный iso с использованием genisoimage как предлагается здесь :

 genisoimage -l -r -J -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o fd11new.iso fd11new 

Были и некоторые проблемы, они были решены методом здесь до genisoimage:

 cp /boot/extlinux/*.c32 fd11new/isolinux/ extlinux --install /boot/isolinux 

== end UPD2 ==

  • Chown - операция не разрешена
  • Могу ли я сделать скрипт всегда исполняемым как root?
  • Как удаленно просматривать рабочий стол Linux из Windows XP?
  • Использование Wget для рекурсивного сканирования сайта и загрузки изображений
  • Windows может видеть принтер Ubuntu Server, но не может печатать на нем
  • Двойная загрузка linux mint 14
  • Операции с дисками заморожены Debian
  • Разница между chmod 777 и chmod 007
  • Что такое сообщение «У вас есть новое письмо» в Linux / UNIX?
  • Поделиться в Интернете в Linux
  • Как я могу использовать вторую клавиатуру USB для специальных клавиш под Linux?
  • Netcat - продолжайте слушать подключение в Debian
  • Давайте будем гением компьютера.