我想备份一个更大的硬盘 (1000GB),但遗憾的是,我只有一个较小的硬盘 (750GB) 可用。在这种特殊情况下,我做不是想要复制文件,我想要备份硬盘一点点地:
dd if=/dev/sda of=/dev/sdb
显然会发生的情况是,在复制了 750GB 的数据后,dd
将放弃并告诉我 thaget 驱动器上没有足够的存储空间。这可以;我希望我唯一需要恢复的信息将在前 500GB 中,但我更愿意复制尽可能多的信息,因为这 500GB 的数量只是一个估计值。
我的问题是,我是否仍然能够/dev/sdb
稍后挂载并打开或恢复它能够保存的任何数据,即使只有部分75%
数据存在,并且dd
在复制过程中停止?
答案1
如果较大磁盘上有足够的可用空间或者可以将已用空间压缩到较小磁盘的大小以下,则较小的磁盘可能有足够的存储空间。
通常我建议在制作压缩扇区副本之前用零覆盖所有空白空间,但当驱动器出现故障时,这不是一个好主意。
我建议在较小的磁盘上创建一个文件系统(如果还没有),安装它并写入(对于要保存的每个分区)一个压缩的(例如)tar 文件:
tar -cjf /mnt/smalldisk/bigdisk.tbz /bigdisk/partition
如果 tar 文件需要的空间多于可用空间,您应该能够恢复几乎所有可写入的空间(最后一个未完成的文件除外)。
答案2
我只会使用一些简单的方法,例如删除不需要的垃圾,然后使用 gparted 缩小硬盘分区,然后将其复制过来。
答案3
不,不要这样做。正如您所估计的,这样做可能会丢失驱动器上高达 25% 的数据,并且很难恢复剩下的数据。只要您能够挂载磁盘并复制文件,您就应该这样做,而不是尝试使用dd
.
即使您无法安装驱动器,您的下一个策略是使用dump
(假设您使用的是 ext[234] )来尝试备份它。它很可能能够恢复从驱动器中可以恢复的大部分内容(除非它已被标记为故意删除),并将其以可以轻松地逐段提取或完全恢复的形式存储在较小的驱动器上,并且备份可以被压缩,因此即使源驱动器几乎已满,它仍然可以压缩在较小的驱动器上。