Как записать ISO-образ на карту памяти USB из командной строки Linux?

23

У меня проблемы с выяснением того, как записать образ диска ISO на устройство флэш-памяти USB из командной строки в Ubuntu. У меня есть утилита Startup Disk Creator, но я должен быть в состоянии сценарий этой работы.

Я нашел пакет usb-creator, но там, похоже, нет никакой документации и python -m usbcreatorдает usbcreator is a package and cannot be directly executed.

Я посмотрел на unetbootin, но это похоже на другую утилиту только для графического интерфейса.

Есть ли какое-то очевидное решение, которое я пропускаю?

mikepurvis
источник

Ответы:

12

Я знаю, что вы можете сделать это в UNetbootin GUI. Я сам не пробовал, но похоже, что вы можете сделать это и из командной строки:

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

метод unetbootin = diskimage isofile = "my.iso" installtype = USB targettdrive = / dev / sdc1

Ян
источник
^ ответ, который я собирался дать. unetbootinавтоматически обрабатывает необходимые шаги для перемещения большинства файлов ISO на USB-носитель.
MikeyB
Для меня на Fedora Core 23 он запускается, unetbootin guiно с настройками, указанными в командной строке.
Ярослав Никитенко
25

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

Предполагая, что у ISO, который вы хотите, есть загрузчик, который будет работать, тогда он должен быть таким же простым, dd if=filename.iso of=/dev/usbdeviceно он заменит все, что в данный момент находится на USB-диске.

Если вы хотите поместить ISO-образ в существующую файловую систему на USB-накопителе и загрузить его, то его настройка может быть намного более сложной.

Zoredache
источник
Нет, это прекрасно; именно то, что мне было нужно. Благодарность!
Микепурвис
1
Ack ... не совсем. Этот метод загружает файловую систему, но, похоже, он не делает загрузочный диск загрузочным средством Startup Disk Creator (с тем же ISO).
mikepurvis
2
Как я уже говорил, это в некоторой степени зависит от того, какой загрузчик присутствует в ISO и как он настроен. Некоторые изображения будут работать просто, делая дд, другие не будут. Например, Debian Live будет работать нормально, используя метод dd. Чтобы быть уверенным, что вы можете попробовать это, или прочитайте документы по тому, о чем вы говорите, чтобы увидеть, поддерживается ли это.
Zoredache
2
@Zoredache, чтобы проверить, isoзагрузочный ли вы можете использовать file. Если он загрузочный, он будет напечатан bootableв конце строки вывода.
Ярослав Никитенко
10

В Linux есть очень простой способ создать загрузочную карту памяти из ISO-образа - и это должно работать для любой ОС. Предполагая, что карта памяти есть /dev/sdbи изображение есть /home/username/Downloads/system.iso.

Просто сделайте это (как root):

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

Гораздо проще, чем unetbootin или любой другой метод, о котором я слышал.

Павел
источник
Это предполагает, что загрузчик включен в ISO, что, как правило, не так.
Микепурвис
6
Единственный важный шаг - запись / outputfile на устройство, а не в раздел. Т.е. of=/dev/sdbи НЕ of=/dev/sdb1. (Просто хотел прокомментировать эту проблему, с вашим постом все в порядке: o))
sjas
Это сработало для меня, когда я пытался установить Debian 9 на старый нетбук Asus Eee PC. Unetbootin произвел диски, которые вообще не загружались в этом случае.
unfa
0

Я использую следующую процедуру:

1. Чтение размера блока и размера тома:

[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. Запуск дд с параметрами для размера блока и размера тома:

root@testserver ~]# dd if=/path_to_iso of=/dev/your_usb_device bs=block-size-from-above count=volume-size-from-above
mixtou
источник