Jak zapisać obraz ISO na pamięć USB z wiersza poleceń systemu Linux?

23

Mam problem z ustaleniem, jak zapisać obraz dysku ISO na urządzeniu pamięci flash USB z wiersza poleceń w systemie Ubuntu. Mam narzędzie Kreator dysku startowego, ale muszę mieć możliwość napisania tego zadania.

Znalazłem pakiet USB-Creator, ale wydaje się, że nie ma żadnej dokumentacji i python -m usbcreatordaje usbcreator is a package and cannot be directly executed.

Patrzyłem na unetbootin, ale wygląda na to, że jest to kolejne narzędzie tylko do GUI.

Czy istnieje jakieś oczywiste rozwiązanie, które przeoczam?

mikepurvis
źródło

Odpowiedzi:

12

Wiem, że możesz to zrobić w GUI UNetbootin. Sam tego nie próbowałem, ale wygląda na to, że możesz to zrobić również z wiersza poleceń:

http://sourceforge.net/apps/trac/unetbootin/wiki/commands

unetbootin method = diskimage isofile = "my.iso" installtype = napęd docelowy USB = / dev / sdc1

Ian
źródło
^ odpowiedź, którą zamierzam udzielić. unetbootinautomagicznie obsługuje kroki niezbędne do przeniesienia większości plików ISO na nośnik USB.
MikeyB
Dla mnie w Fedorze Core 23 uruchamia się, unetbootin guiale z ustawieniami podanymi w wierszu poleceń.
Yaroslav Nikitenko
25

Czy na pewno obraz ISO będzie działał na urządzeniu USB? Niektóre ISO, które uruchomią się, jeśli znajdują się na CD / DVD, nie uruchomią się z urządzenia USB.

Zakładając, że żądany ISO ma bootloader, który będzie działał, to powinno być tak proste, jak dd if=filename.iso of=/dev/usbdeviceto, ale zastąpi wszystko, co jest aktualnie na dysku USB.

Jeśli chcesz umieścić ISO w istniejącym systemie plików na dysku USB i uruchomić go, wtedy konfiguracja może być o wiele bardziej skomplikowana.

Zoredache
źródło
Nie, to jest idealne; dokładnie to, czego potrzebowałem. Dzięki!
mikepurvis
1
Ack ... niezupełnie. Ta metoda ładuje system plików, ale wydaje się, że nie powoduje uruchomienia dysku przez narzędzie Startup Disk Creator (z tym samym ISO).
mikepurvis
2
Jak wspomniałem, w pewnym stopniu zależy to od tego, który moduł ładujący jest obecny w ISO i od jego konfiguracji. Niektóre obrazy będą działać po prostu wykonując dd, inne nie. Na przykład Debian Live będzie działał dobrze przy użyciu metody dd. Aby upewnić się, że możesz go wypróbować, lub przeczytaj dokumentację dotyczącą tego, o czym mówisz, aby sprawdzić, czy jest obsługiwany.
Zoredache,
2
@Zoredache, aby sprawdzić, czy isomożna uruchomić, można użyć file. Jeśli jest bootowalny, zostanie wydrukowany bootablena końcu linii wyjściowej.
Yaroslav Nikitenko
10

W systemie Linux istnieje bardzo łatwy sposób na utworzenie rozruchowej karty pamięci z obrazu ISO - i powinno to działać w każdym systemie operacyjnym. Zakładając, że karta pamięci jest, /dev/sdba obraz jest /home/username/Downloads/system.iso.

Po prostu zrób to (jako root):

dd if=/home/username/Downloads/system.iso of=/dev/sdb

Znacznie łatwiejszy niż unetbootin lub jakakolwiek inna metoda, o której słyszałem.

Paweł
źródło
Zakłada się, że bootloader jest zawarty w ISO, co zazwyczaj nie jest prawdą.
mikepurvis
6
Jedynym ważnym krokiem jest zapisanie pliku / outputfile na urządzeniu, a nie na partycji. Tj. of=/dev/sdbI NIE of=/dev/sdb1. (Chciałem tylko skomentować ten problem, nic nie jest nie tak z Twoim postem: o))
sjas
To działało dla mnie, gdy próbowałem zainstalować Debian 9 na starym netbooku Asus Eee PC. Unetbootin wyprodukował dyski, które w ogóle nie uruchomiły się w tym przypadku.
unfa
0

Korzystam z następującej procedury:

1. Czytanie rozmiaru bloku i rozmiaru woluminu:

[root@testserver ~]# isoinfo -d -i /path_to_iso | grep -i -E 'block size|volume size' 
Logical block size is: 2048
Volume size is: 327867

2. Uruchamianie dd z parametrami wielkości bloku i wielkości woluminu:

root@testserver ~]# dd if=/path_to_iso of=/dev/your_usb_device bs=block-size-from-above count=volume-size-from-above
mixtou
źródło