Ema*_*ele 4 linux usb mount dd
我刚刚将Windows 8.1的还原保存到 U 盘上;现在,我一直在通过执行以下命令在我的硬盘上创建它的低级副本:
sudo dd if=/dev/sdf of=/disk2/Archive/windows8.1-restore.img bs=4M oflag=direct
我想仔细检查我的“dd”命令是否正常,所以我重新运行了两次,同时指定了bs=8M和bs=16M;我检查了大小,它完全相同,但是md5sum为三个文件提供了不同的输出:
c38a2b07b3d473d3f1876331edc2647b windows8.1-restore.img.4M 568e382844431eef63d4ba6dc4c2c5ac windows8.1-restore.img.8M 568e382844431eef63d4ba6dc4c2c5ac windows8.1-restore.img.16M
我相信我已经第二次和第三次卸载了 U 盘。
我应该担心什么吗?
编辑
31024349184在所有情况下,总文件大小都是字节,我的理解bs=xxx是控制速度以防万一有人想转储整个 USB 设备/驱动器。
将少量数据写入驱动器很慢,因此系统缓冲区写入以在以后一次性提交所有数据。当缓冲区包含足够的数据以进行有效的写入操作或某些进程使用sync系统调用时,缓冲区将刷新到设备。
dd执行低级复制,即。它读取物理上存在于设备上的数据。它不考虑缓冲区。
如果在您运行时挂载了驱动器dd bs=4M,则可能已经缓冲了某些写入,但尚未提交。您已在没有缓冲更改的情况下转储驱动器。
umountsync内部调用以确保数据完整性。除非您明确要求某个进程执行此操作,否则通常不会访问已卸载的设备,因此卸载后驱动器不太可能更改。
然后你dd在驱动器上运行了两次,中间没有安装它。这就是为什么bs=8M和bs=16M调用产生相同结果的原因。
但是,驱动器在bs=4M和bs=8M调用之间进行了修改,因此第一个转储是不同的。bs=没关系,打电话umount就行。
在使用之前,您应该始终卸载设备dd,否则其他一些进程可能会在dd执行其工作时修改其内容并破坏文件完整性。
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |