我以最简单的形式使用 dd 来克隆硬盘:
dd if=INPUT of=OUTPUT
Run Code Online (Sandbox Code Playgroud)
但是,我在联机帮助页中读到 dd 知道一个 blocksize 参数。是否有可以加快克隆过程的 blocksize 参数的最佳值?
将conv=sync,noerror整个硬盘备份到映像文件时添加有什么影响?
是conv=sync,noerror做司法鉴定的东西时,一个要求吗?如果是这样,为什么参考 Linux Fedora 会出现这种情况?
编辑:
好的,如果我dd没有这样做conv=sync,noerror并且dd在读取块时遇到读取错误(假设是 100M),是否dd只是跳过 100M 块并读取下一个块而不写入任何内容(dd conv=sync,noerror将零写入 100M 的输出 - 这种情况怎么样?)?
如果没有,原始硬盘和输出文件的哈希值是否不同conv=sync,noerror?还是只有在发生读取错误时才会这样?
我想生成一个 1 GB 的随机文件,所以我使用了以下命令。
dd if=/dev/urandom of=output bs=1G count=1
Run Code Online (Sandbox Code Playgroud)
但是每次我启动这个命令时,我都会得到一个 32 MB 的文件:
<11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s
Run Code Online (Sandbox Code Playgroud)
怎么了?
编辑:
感谢本主题中的出色答案,我提供了读取 32 个 32 MB 大块的解决方案,这使得 1GB:
dd if=/dev/urandom of=output bs=32M count=32
Run Code Online (Sandbox Code Playgroud)
给出了其他解决方案,将 1 GB 直接读取到内存,然后写入磁盘。此解决方案需要大量内存,因此不推荐使用:
dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock
Run Code Online (Sandbox Code Playgroud) 我可以使用 dd、rsync、clonezilla 或任何工具在 Linux 中仅克隆硬盘中正在使用的空间吗?我需要从 1 TB 硬盘(仅使用 2 GB 空间)备份到 500 GB 硬盘。