![`dd` 是否缓冲了整个 ~700MB iso 映像?](https://linux22.com/image/201076/%60dd%60%20%E6%98%AF%E5%90%A6%E7%BC%93%E5%86%B2%E4%BA%86%E6%95%B4%E4%B8%AA%20~700MB%20iso%20%E6%98%A0%E5%83%8F%EF%BC%9F.png)
我读到要将 iso 映像传输到随身碟并打印进度,我应该执行下面的管道。
$ dd if=$IMG bs=4M | pv -s 668M | sudo dd of=/dev/sdc bs=4M
pv
应该在终端中打印并更新进度条。然而,我的进度条跳到了 100%,命令挂起。我无法取消dd
对随身碟的写入,所以我查看了引擎盖下的内容。
杂志
Jan 13 01:57:32 nixos systemd[1]: systemd-udevd.service: Watchdog timeout (limit 3min)!
Jan 13 01:57:32 nixos systemd[1]: systemd-udevd.service: Killing process 1830 (systemd-udevd) with signal SIGABRT.
Jan 13 01:57:54 nixos sudo[3787]: pam_unix(sudo:session): session closed for user root
Jan 13 01:57:54 nixos kernel: sdc: sdc1 sdc2
奥托普
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1830 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % systemd-udevd
3788 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % dd of=/dev/sdc bs=4M
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % [kworker/u64:0+flush-8:32]
我尝试使用 sudo 或 root 身份。效果一样。pv
立即显示 100%,但dd of=...
会阻塞约 3 分钟。这与我在互联网上读到的以及在其他机器上看到的内容不一致。发生了什么?
附言。
$ sudo hdparm -W /dev/sdc
/dev/sdc:
write-caching = not supported
聚苯硫醚。尝试过status=progress
- 相同的效果(100%并挂起直到写入完成)。