Linux DD图像大于源
我在磁盘/dev/sda上使用dd创建了一个映像文件,fdisk说它的大小是500107862016字节。生成的图像文件为500108886016字节,比原来大1024000字节Linux DD图像大于源,linux,backup,cloning,dd,Linux,Backup,Cloning,Dd,我在磁盘/dev/sda上使用dd创建了一个映像文件,fdisk说它的大小是500107862016字节。生成的图像文件为500108886016字节,比原来大1024000字节 为什么映像文件比源磁盘大1MB?我在dd命令中指定了bs=1M,这与此有关吗 当我将映像文件恢复到另一个相同的磁盘上时,会出现“dd:error writing'/dev/sda':设备上没有剩余空间”错误。这是个问题吗?我的新磁盘会损坏吗 conv=noerror使dd(1)在读取错误后继续,这不是您想要的。另外,c
conv=noerror
使dd(1)
在读取错误后继续,这不是您想要的。另外,conv=sync
用零填充不完整的块(主要是最后一个块)以填充完整的块,因此,在最后一个块中添加零可能会使文件大于实际磁盘大小
您不需要使用所使用的任何conv
选项。不进行任何转换,dd(1)
将在图像没有完整块大小的情况下写入不完整的最后一个块(这种情况下)
只需使用以下命令重试您的命令:
dd if=/dev/sda of=yourfile.img
然后
dd if=yourfile.img of=/dev/sdb
如果您计划使用更大的缓冲区大小(不需要,因为您使用的是块设备,内核没有为读取块设备设置块大小),只需使用扇区大小的倍数,即整个磁盘大小的除数(有点像一个完整的磁道——荒谬,因为今天的磁盘磁道完全是逻辑的,与实际磁盘几何结构没有任何关系)这是一个有趣的问题,但并不是真正的主题。您能给我们提供准确的命令行吗?例如,指定
conv=sync
,将填充短输入记录,给出一个大小为块大小整数倍的输出文件。500108886016是1024*1024的整数倍;500107862016不是。我做了:dd if=/dev/sda of=imagefile.iso bs=1M conv=noerror,sync为什么对块设备使用bs
参数?缓冲缓存处理磁盘的所有缓冲,不需要大于正常扇区(512字节)的缓冲区大小。还有,为什么conv=noerror,sync
你不需要任何参数就可以将磁盘映像复制到文件中,只要dd if=/dev/sda of=imagefile.iso
就可以了。顺便问一下,你的dd命令的输出是什么?这应该会有帮助,而不是让我们去修改。你能帮我创建一个.img文件(在哪个ubuntu操作系统中)我已经恢复到磁盘,但没有启动ubuntu?你知道吗?