isohybrid
może nie zawsze działać. Na przykład, miałem .iso z FreeDOS i isohybrid nie był w stanie znaleźć tam kilku ważnych plików (nie wiem, czy powinny być one umieszczone tam przez syslinux, którego też używałem, czy cokolwiek innego). Proponuję tutaj kilka alternatywnych rozwiązań.
1) Zainstaluj tam inny bootloader, taki jak GRUB. Jest to wyjaśnione tutaj :
“Assume your USB stick’s first partition is FAT32 and its partition is /dev/sdy1” (na moim Fedora Core miałem grub2
, więc trochę pozmieniałem komendy):
# 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) FreeDOS wiki oferuje metodę złożoną z GRUB'a i syslinux'a tutaj (choć nie rozumiem jak uruchomili grub>
- ja do tego etapu nie mogłem bootować z usb).
3) tutaj jest post, który może być przydatny - mówi “Tak długo jak pliki command.com, kernel.sys, syslinux.cfg, ldlinux.sys i fat32lba.bss są w korzeniu dysku i MBR i boot sektor nie są przepisane, dysk powinien pozostać bootowalny.
4) Tutaj jest wyjaśnione jak wygenerować bootowalny plik .iso za pomocą bootloadera syslinux. Oni nawet nie używają isohybrid. Niestety to mi nie pomogło (może z powodu syslinuxa).
5) Użyj programu windowsowego przez wine
. Próbowałem rufusa, ale to nie zadziałało, nie mógł znaleźć urządzenia.
Uprzedzam, że niestety nie udało mi się rozwiązać tego problemu, moje urządzenie było nie do uruchomienia, ale mam nadzieję, że może się to przydać innym osobom (również tym, które chcą zainstalować nie linuxa na usb). Obraz usb wygenerowany przez chtaube jednak działał dla mnie, więc myślę, że te metody są poprawne.
UPD: Trzecia metoda naprawdę działa (z korektą dla niestandardowego pliku instalacyjnego).
UPD2: (naprawione linki). Problem z isohybrid
był prawdopodobnie spowodowany tym, że wersje isolinux.bin na iso i moim systemie były różne. Przekompilowałem iso używając genisoimage
zgodnie z sugestią tutaj :
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
Były też pewne problemy, rozwiązano je metodą tutaj przed genisoimage:
cp /boot/extlinux/*.c32 fd11new/isolinux/
extlinux --install /boot/isolinux
== end UPD2 ==.