我想将分区复制到另一台笔记本电脑(以进行备份)。我将使用以太网电缆连接并排的笔记本电脑。为了进行备份,我特别想使用“dd”命令。
为了简单起见,我没有在下面显示我将与 dd 一起使用的“netcat”命令(它提供笔记本电脑到笔记本电脑的通信)。下面是我计划运行来进行备份的有效命令:
dd if=/dev/sda6 of=/home/name/sda6.img
为了稍后恢复备份,我计划运行
dd if=/home/name/sda6.img of=/dev/sda6
但我已经读到,为了执行后一个命令(这是第一个命令的相反),目标分区需要比图像文件大,即使我只是将相同的数据放回它来自的地方。
这将涉及我增加原始分区的大小,这可能涉及大量的工作,但我宁愿不这样做。
所以我的问题是,对于恢复,我是否真的需要增加目标分区的大小,或者数据是否会整齐地放回到分区上?
另外,如果我需要在上述情况下增加分区大小,是否可以对 dd 命令进行一些调整,从而无需增加分区大小?
添加了细节
我意识到以下是执行此类备份的替代方法,但我选择不使用它们,原因如下:
tar
:显然不备份某些属性或类似的东西。
cp
:显然不备份某些内容,例如 ACL。
rsync
:这个命令有太多选项,让我感到困惑并使事情变得复杂。而我知道我在 dd 的位置。
答案1
不,您不需要增加原始分区大小。新分区至少与文件系统一样大,这一点至关重要,但没有必要更大。通常,文件系统的大小与您要复制的分区的大小相同。
您可能已经看到过一些建议,这些建议会引导您创建更大的分区,因为如果有疑问,这是安全的选择。例如,请确保不要混淆十的幂(SI 单位)兆字节/千兆字节/太字节和二进制(2 10的幂)单位(MiB/GiB/TiB)。有些软件的标签很差,因此有时不清楚用哪种单位表示大小。要特别警惕显示带有小数点的大小的软件:您必须在那里四舍五入,因此通常会创建更大的分区。
只要您使用能够准确报告大小的软件,就没有理由增大分区。只需使其大小相同(当然,除非您想在移动文件系统后扩大文件系统)。
答案2
你想的事情太多了。让我们尝试以一种简单的方式思考。
.img 文件的大小与分区的大小完全相同,包括其可用空间。就是这样。没有其他秘密。因此,如果您有 50GB 分区,则 .img 的大小将为 50GB,如果分区有 100GB,则 img 的大小将为 100GB。就是这样,要恢复它,只需将其恢复到具有相同大小(或更大!)的分区或设备中,或者在同一分区中即可。
答案到此结束,但这里有一些提示可以帮助您:
1-这将使图像变得非常小,特别是如果分区上有可用空间:
dd if=/dev/sda6 | gzip > sda6.img.gz
2- 恢复操作可以是这样的:
gunzip < sda6.img.gz | dd of=/dev/sda6