我正在使用以下 cmdsda(500GB)是我的笔记本电脑硬盘(未安装)并且SDDC(500GB) 是我的外部 USB 硬盘
dd if=/dev/sda of=/dev/sdc bs=4096
完成后返回
122096647+0 records in
122096646+0 records out
50010782016 bytes (500GB) copied, 10975. 5 s, 45.6 MB/s
由此可见记录输入!= 记录输出
fdisk -l
回报
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 718847 358407 7 HPFS/NTFS/exFAT
/dev/sda2 718848 977102847 488192000 7 HPFS/NTFS/exFAT
/dev/sdc1 * 2048 718847 358407 7 HPFS/NTFS/exFAT
/dev/sdc2 718848 977102847 976384000 7 HPFS/NTFS/exFAT
这也说明了两者之间的差异堵塞尺寸
另一个问题是正常的DD复制 500GB 需要 3 小时。(笔记本电脑 SSD 到普通非 SSD USB 硬盘)
我在 Windows 上的物理扇区是4096而逻辑扇区是第512章
答案1
目标磁盘必须比源磁盘小几 kB。 “500 GB”作为磁盘大小意味着“至少 500,000,000,000 字节”;您不能指望所有 500 GB 磁盘都具有完全相同的字节数。由于所有分区都具有相同的大小和位置,因此末端不适合的部分无论如何都不会被使用,所以这不是问题。
对于 USB 硬盘来说 45 MB/s 已经相当不错了。但是,如果您使用更合适的工具,您可能会获得稍快的速度:dd
强制使用固定的缓冲区大小,这很少是最佳的,并且 4096 确实偏小。我运行基准测试(当然,它们可能与您的系统不匹配)并发现它cat
比 更快dd
,但如果您获得正确的块大小(通常约为几 MB),则dd
可以接近性能。cat
但是由于使用dd
很棘手,可能会导致数据丢失,最好用简单的cat
。
cat /dev/sda >/dev/sdc
任何“扇区大小”在这里都是无关紧要的,这对于数据访问性能很重要,但对于进行整个磁盘复制并不重要。