Я нахожу несколько странных инструментов "прожигания" ISO-USB. Кажется, что каждый из них имеет свой немного отличающийся подход к проблеме, который варьируется от большей части прямого копирования в стиле DD (которое стирает любое существующее содержимое и приводит к тому, что USB-носитель в формате iso9660 только для чтения) до монтирования ISO по шлейфу, копирования файлы и выполнение установки загрузчика в качестве шага после копирования.
До сих пор я играл с Etcher, UNetbootin, Rufus и Ubuntu Startup Disk Creator. Я действительно ищу решение, которое является последовательным и кроссплатформенным, и меня особенно огорчает то, что Etcher и UNetbootin, похоже, способны создавать загрузочные носители в своих версиях Mac, но не из Linux (ни в виртуальной машине, ни в нативной). машина)- вроде бы, они будут успешными, но конечный результат просто не загрузится.
В любом случае, чтобы немного подкрепить обсуждение, это мой текущий метод создания предположительно загружаемого ISO-файла:
- Загрузите и распакуйте последнюю версию syslinux с
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.xz
- Загрузите netboot
linux
иinitrd.gz
сhttp://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
- Запустите
mkisofs -D -V "My App" -r -quiet -o path/to/result.iso -J -l -b syslinux/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table file1.txt file2.txt file3.txt ...
- Запустите
syslinux/bios/utils/isohybrid.pl path/to/result.iso
Некоторые заметки:
- Полученный файл ISO (в том числе без последнего шага
isohybrid.pl
) можно подключить и загрузить в виде CD-ROM в Parallels. - Если я записываю его на физический USB с помощью Etcher, результат можно установить как iso9660, но, похоже, он не загружается на моих целевых системах AMD64 (да, в "устаревшем" режиме).
- Без шага
isohybrid.pl
отказался от записи на физический USB. - Если я записываю его на физический USB с помощью UNetbootin под Mac OS, я получаю загрузочный результат, но если я делаю это с той же версией UNetbootin под Linux, результат не загружается.
- Единственный инструмент, который постоянно работает - это Rufus, но он работает только на Windows и поэтому неудобен для многих моих пользователей.
Я надеюсь, что некоторые другие столкнулись с этими проблемами и имеют идеи о том, что идет не так, или работающий метод - если это в конечном итоге должно быть решение для командной строки или только для Linux, это приемлемо для меня, хотя очевидно не идеал. Я также готов перейти от Syslinux к Grub или к другому решению с поддержкой EFI, если это облегчит задачу.
Имея такие инструменты, как Etcher, кажется, что есть способ создать загрузочный ISO-образ, который можно удобно записать из любой поддерживаемой ОС.