首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制的"dd“Utillity比预期的多

复制的"dd“Utillity比预期的多
EN

Unix & Linux用户
提问于 2016-12-29 10:09:20
回答 2查看 759关注 0票数 0

我刚买了一个ssd来改变现在的硬盘。因此,我决定使用"dd“实用程序来复制整个750 gb的分区(当然使用了其中的一部分,大约为76 gb)。但是,我输入了以下命令:

代码语言:javascript
复制
sudo dd if=/dev/sda5 of=/dev/sdb1

(因为我提到的分区被定义为“sda5”.)我原以为它会完全复制这76个GBs,但是它完成了对这个部分的复制;而且,is's仍然维护复制其他674 GBs null。我没想到会有这样的结果。当我输入sudo pkill -USR1 -n -x dd命令时,它写着:"505029097+0记录中的505029096+0记录复制出258574897152字节(259GB),39871,3 s,6,5 MB/s“,所以,如果有人能向我解释这种情况,我会非常满意的。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2016-12-29 11:17:37

如果不指定bs和count选项,dd将复制整个分区/dev/sda5。这是因为dd是一个非常低级的工具,它无法区分文件和空空间。因此,要只复制分区的全部部分,dd不是您需要的工具,因为即使指定了大小,实际数据也没有理由出现在可用空间的开头。

如果只想复制已使用的数据,则应调整分区/dev/sda5的大小。首先,将750分区调整为另一个略高于76 to的分区,该分区几乎已满。要调整分区的大小,可以使用gpartedfdisk命令。调整大小后,可以在新分区上以标准方式使用dd。

您还可以通过gzip运行分区/dev/sda5来压缩它。之后,您可以使用dd复制复制图像,如下所示

代码语言:javascript
复制
dd if=/dev/sda5 | gzip > sda5.gz

然后

代码语言:javascript
复制
dd if=sda5.gz | gunzip > /dev/sdb1 
票数 2
EN

Unix & Linux用户

发布于 2016-12-29 10:12:06

dd实用程序将指定的输入文件复制到指定的输出文件,并使用特定的输入和输出块大小进行可能的转换。

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/dd.html

因此,dd会完全复制您的文件或驱动器,并且无法检测哪些段被使用,哪些段没有使用。为此,我建议使用(G)分家之类的内容。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/333504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档