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
,则可能已经缓冲了某些写入,但尚未提交。您已在没有缓冲更改的情况下转储驱动器。
umount
sync
内部调用以确保数据完整性。除非您明确要求某个进程执行此操作,否则通常不会访问已卸载的设备,因此卸载后驱动器不太可能更改。
然后你dd
在驱动器上运行了两次,中间没有安装它。这就是为什么bs=8M
和bs=16M
调用产生相同结果的原因。
但是,驱动器在bs=4M
和bs=8M
调用之间进行了修改,因此第一个转储是不同的。bs=
没关系,打电话umount
就行。
在使用之前,您应该始终卸载设备dd
,否则其他一些进程可能会在dd
执行其工作时修改其内容并破坏文件完整性。
归档时间: |
|
查看次数: |
910 次 |
最近记录: |