如何使用dd将ISO映像复制到USB


17

SliTaz 3.0发行说明的最后一段对 liveCD进行了以下说明

ISO映像现在使用“混合”系统:也可以将其复制到USB记忆棒上,而无需对其进行格式化(使用dd)。

有谁知道如何做到这一点?


3
亲爱的上帝,请小心dd!它被昵称为“磁盘破坏者”是有原因的。
罗布

@Rob可以列出dosdonts吗?我不想浪费我的硬盘来尝试使其可启动。
今村圭(Gui Imamura)2015年

Answers:


25

dd if=/path/to/your/isofile of=/your/usb/disk 尝试这个。


我应该~/在路径中包括吗?

2
@ weis26:可以,~只是替换为当前用户的主目录路径。如果肯定ifof路径位于您的主目录中,请使用它...
Matt Joiner

2
@ weis26取决于您要使用相对路径还是绝对路径。顺便说一句,使用dd将使您的USB设备成为只读设备,并使之成为“正常” USB设备,则应重新分区该设备。
2011年

10
bs=8Mmount/media/83...
约会

@starrify-我无法通过说dd“将使您的USB设备为只读” 来理解您的意思。dd不会改变设备的功能,它只是将数据从输入推向输出。
Florenz Kley

9

如果您希望能够查看进度或获取预计到达时间,则可以将管道视图(pv)添加到混合中,例如:

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

这将给出如下输出:

850MiB 0:05:18 [6.44MiB / s] [===================>]%预计到达时间0:03:16


如果你有pv那么pv /path/to/input/file > /path/to/target/device已经足够了
Dzamo诺顿

1
dd中的选项之一是“ status = progress”,以获取定期的传输统计信息。
user65913 '18

0

注意:这是一种通用的通用方法,几乎​​可以在所有* nix系统上使用。如果您在使用其他建议时遇到麻烦,请尝试一下。因此,您想运行dd(磁盘破坏程序)吗?在连接块设备之前,先执行cat / proc / partitions;。然后连接您的设备,然后再次添加目录/ 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

这是我的优盘的所有详细信息。啊,现在我确信我拥有正确的设备!

但是我连接的设备可能已自动安装。对于dd来说,这是个问题。因此可以肯定,让我们用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命令的选项参数对是of = / 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'

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.