Как скопировать ISO-образ на USB с помощью dd

17

В последнем абзаце заметок о выпуске SliTaz 3.0 говорится о liveCD:

Образ ISO теперь использует «гибридную» систему: его также можно скопировать на USB-накопитель, не форматируя его (используя dd).

Кто-нибудь знает как это сделать?

weis26
источник
3
ДОРОГОЙ БОГ БУДЬТЕ ОСТОРОЖНЫ С ДД! Это прозвище разрушитель диска по причине.
Роб
@Rob Можете ли вы перечислить dosи, dontsпожалуйста? Я не хотел бы тратить мой диск, пытаясь сделать его загрузочным.
Ги Имамура

Ответы:

25

dd if=/path/to/your/isofile of=/your/usb/disk попробуй это.

Я Чжуан
источник
я должен включить ~/в путь?
2
@ weis26: Вы можете ~просто заменить текущий путь к домашнему каталогу пользователя. Используйте его, если в вашем домашнем каталоге указаны пути ifили of:
Matt Joiner
2
@ weis26 Зависит от того, хотите ли вы использовать относительный или абсолютный путь. Кстати, использование ddсделает ваше usb-устройство доступным только для чтения, а для того, чтобы сделать его «нормальным» usb-устройством, вы должны переразметить устройство.
Звездный путь
10
bs=8Mили что-то еще mount/media/83...
ускорило
@starrify - я не могу понять, что ты имеешь в виду, говоря dd"сделало бы ваше устройство USB доступным только для чтения". ddне меняет возможности устройств, он просто перетаскивает данные со входа на выход.
Флоренц Клей
9

Если вы хотите, чтобы иметь возможность просматривать прогресс или получить ETA, вы можете добавить Pipe View (pv) в микс, например:

dd if=<path to input file> | pv -s <size e.g. 1377M> | dd of=<path to target device>

Это даст вывод как:

850MB 0:05:18 [6.44MiB / s] [===================>] 61% ETA 0:03:16

Оуэн Полинг
источник
Если у вас есть pvто pv /path/to/input/file > /path/to/target/deviceуже достаточно
Дзамо Нортон
1
Одна из опций в dd - это «status = progress» для получения статистики периодических переводов.
user65913
0

Примечание. Это универсальный универсальный подход, который должен работать практически на любой системе * nix. Если у вас возникли проблемы с другими рекомендациями, попробуйте эту. Итак, вы хотите запустить dd (разрушитель диска)? Перед подключением вашего блочного устройства cat / proc / partitions; затем подключите ваше устройство и снова cat / proc / partitions. Разница будет указывать ваше целевое устройство. Если нет никакой разницы, то вам не хватает правильного драйвера, чтобы распознать его или иметь аппаратный сбой.

Вот как мой выглядит на моем ноутбуке, до и после, соответственно:

jcholsap@T430s:~$ cat /proc/partitions 

major minor  #blocks  name
8        0  117220824 sda
8        1  117219328 sda1
11       0    1048575 sr0
253      0  109109248 dm-0
253      1    8077312 dm-1

jcholsap@T430s:~$ cat /proc/partitions 

major minor  #blocks  name
8        0  117220824 sda
8        1  117219328 sda1
11       0    1048575 sr0
253      0  109109248 dm-0
253      1    8077312 dm-1
8       16   30670848 sdb

Используйте третий столбец размером в килобайты, чтобы проверить свое блочное устройство. Если вы нервничаете, и вам следует это сделать, вы можете дополнительно проверить свое устройство с помощью dmesg. Вот это на моем ноутбуке:

jcholsap@T430s:~$ dmesg | tail -30
[   10.197383] thinkpad_acpi: EC reports that Thermal Table has changed
[   34.599234] random: crng init done
[   35.133277] rfkill: input handler disabled
[ 9737.190954] usb 4-2: new SuperSpeed USB device number 2 using xhci_hcd
[ 9737.211756] usb 4-2: New USB device found, idVendor=0781, idProduct=5580
[ 9737.211762] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9737.211765] usb 4-2: Product: Extreme
[ 9737.211768] usb 4-2: Manufacturer: SanDisk
[ 9737.211770] usb 4-2: SerialNumber: AA010507161254310422
[ 9737.244492] usb-storage 4-2:1.0: USB Mass Storage device detected
[ 9737.245540] scsi host6: usb-storage 4-2:1.0
[ 9737.245746] usbcore: registered new interface driver usb-storage
[ 9737.247465] usbcore: registered new interface driver uas
[ 9738.259485] scsi 6:0:0:0: Direct-Access     SanDisk  Extreme          0001 PQ: 0 ANSI: 6
[ 9738.260340] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 9738.260698] sd 6:0:0:0: [sdb] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)
[ 9738.260919] sd 6:0:0:0: [sdb] Write Protect is off
[ 9738.260925] sd 6:0:0:0: [sdb] Mode Sense: 53 00 00 08
[ 9738.261142] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 9738.267727] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[ 9738.496445] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.496450] UDF-fs: Scanning with blocksize 512 failed
[ 9738.505586] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.505589] UDF-fs: Scanning with blocksize 1024 failed
[ 9738.519311] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.519324] UDF-fs: Scanning with blocksize 512 failed
[ 9738.528153] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.528157] UDF-fs: Scanning with blocksize 1024 failed
[ 9738.533493] UDF-fs: INFO Mounting volume 'UDF Volume', timestamp 2011/04/12 09:38 (1000)
[10100.854101] perf: interrupt took too long (2519 > 2500), lowering kernel.perf_event_max_sample_rate to 79250

Там есть все детали моего флешки. Ах, теперь я убежден, что у меня есть правильное устройство!

Но мое подключенное устройство может быть установлено автоматически. Для дд это проблема. Чтобы быть уверенным, давайте размонтируем его с помощью команды umount (обратите внимание на разницу в написании). Я выполню команду дважды, потому что сообщение об ошибке дало мне знать, что оно прошло успешно:

jcholsap@T430s:~$ sudo umount /dev/sdb
jcholsap@T430s:~$
jcholsap@T430s:~$ sudo umount /dev/sdb
umount: /dev/sdb: not mounted.

Теперь, поскольку все в Linux рассматривается как файл, dd вызывает целевое блочное устройство, в моем случае / dev / sdb, выходной файл. Таким образом, пара опций-аргументов, которая будет использоваться здесь для моего большого пальца с командой dd, имеет вид = / dev / sdb. Вы хотите сделать это правильно, иначе dd может означать для вас уничтожитель дисков. Вот это на моем ноутбуке:

jcholsap@T430s:~$ sudo dd of=/dev/sdb if=/home/jcholsap/centos7.iso bs=4M

Нет выходных данных из запущенной команды dd. Вы просто получите мигающий курсор, пока он не закончится, что может занять много времени. Если вы прервете процесс, у вас будет частичная копия изображения - вероятно, не то, что вы хотели.

СМОТРИ ТАКЖЕ Полная документация по адресу: http://www.gnu.org/software/coreutils/dd или доступна локально по адресу : info '(coreutils) dd invocation'

сойка
источник