答案1
dd if=/path/to/your/isofile of=/your/usb/disk bs=8M status=progress
尝试这个。
根据@Kimvais 和@Kelly Bang 的建议进行更新
答案2
如果您希望能够查看进度或获取预计到达时间 (ETA),则可以将管道视图 (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/秒] [===================> ] 61% 预计到达时间 0:03:16
答案3
注意:这是一种通用的方法,适用于几乎所有 *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
这里有我的 U 盘的所有详细信息。啊,现在我确信我找到了正确的设备!
但是我连接的设备可能已自动挂载。对于 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'
答案4
嗨,这个有帮助!
- 卸载
- 只是这个 !
运行以下命令之一,将 /dev/disk/by-id/usb-My_flash_drive 替换为您的驱动器,例如 /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0
NO ! NO ! NO! this - /dev/sdb
https://wiki.archlinux.org/title/USB_flash_installation_medium
使用基本命令行实用程序由于此方法简单且通用,因此建议使用此方法,因为这些工具是 coreutils 的一部分(由基础元包引入)。
使用 ls -l /dev/disk/by-id/usb-* 找出您的 USB 驱动器的名称,并使用 lsblk 检查以确保它未被安装。
运行以下命令之一,将 /dev/disk/by-id/usb-My_flash_drive 替换为您的驱动器,例如 /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0。(不要附加分区号,因此不要使用类似 /dev/disk/by-id/usb-Kingston_DataTraveler_2.0_408D5C1654FDB471E98BED5C-0:0-part1 或 /dev/sdb1 的内容):# cat path/to/archlinux-version-x86_64.iso > /dev/disk/by-id/usb-My_flash_drive
使用 cp(1):
cp 路径/到/archlinux-version-x86_64.iso /dev/disk/by-id/usb-My_flash_drive
使用 dd:
dd bs=4M if=path/to/archlinux-version-x86_64.iso of=/dev/disk/by-id/usb-My_flash_drive conv=fsync oflag=direct status=progress
使用 tee:
tee < 路径/到/archlinux-version-x86_64.iso > /dev/disk/by-id/usb-My_flash_drive
使用 pv:
pv 路径/到/archlinux-version-x86_64.iso > /dev/disk/by-id/usb-My_flash_drive