我正在寻找一种在 Ubuntu 操作系统中克隆硬盘(主要是 Windows 分区)的方法。我不想在硬盘上创建分区来启动,也不想使用启动 CD。我能想到的唯一接近的方法就是 32 位版本的 ghost,它可以从 Windows 桌面运行。
不一定非要用 clonezilla,但这是我用过的唯一一款 Linux 克隆软件,自从我发现它以来,我几乎只用它。如果没有办法从桌面使用 clonezilla,那么我会接受一个替代程序。最主要的是它可以克隆驱动器并从 Ubuntu 内部运行。
提前感谢您的时间
答案1
Clonezilladd
在幕后使用。
关于磁盘和分区
整个磁盘是一个设备,例如/dev/sda
。这是第一个磁盘,第二个磁盘是/dev/sdb
,第三个磁盘是/dev/sdc
,等等。通过 IDE 电缆连接的旧磁盘的名称为hda
、hdb
、... 磁盘可以有多个分区,例如/dev/sda1
。磁盘上的第二个分区/dev/sda
是 ,/dev/sda2
等等。分区和磁盘都可以制作映像(字节的文字副本)。请注意,磁盘的前 512 个字节包含 MBR(主引导记录)。
在创建或恢复映像时不应安装分区,否则在从中读取(创建映像)时可能会发生数据丢失,或者在写入(从映像恢复)时可能会出现意外行为和数据损坏。
在下面的例子中,/dev/sda1
是应该从中创建图像的分区。
中的分区和磁盘设备/dev
仅可由超级用户 (root) 和组内用户写入disk
。我不喜欢以 root 身份运行所有操作,因此出于安全考虑(例如,以防您输入错误),我将组临时更改为我自己,这样我就可以对其进行读写:
sudo chgrp my_user_name /dev/sda1
如果跳过上述命令,则必须dd
在以下命令前加上前缀sudo
。
基本
从分区创建映像的基本命令是:
dd if=/dev/sda1 of=disk.img
if
表示“输入文件”,of
表示“输出文件”。Linux 中的一切都是文件,甚至设备也是如此。
要恢复此类图像,请运行:
dd if=disk.img of=/dev/sda1
顺序并不重要,您dd of=/dev/sda1 if=disk.img
也可以将上述内容写成。
压缩图像
由于分区通常很大,因此建议在将数据写入映像之前对其进行压缩:
dd if=/dev/sda1 | gzip > disk.img.gz
这是可行的,因为如果of
省略,则输出将写入“标准输出”,即压缩程序的管道gzip
。 它的输出将写入disk.img
。
要恢复此类压缩图像,请运行:
gunzip -c disk.img.gz | dd of=/dev/sda1
这里,gunzip
是 gzip 的反向命令。-c
导致输出被写入标准输出,即命令的管道dd
。 由于if
上省略了dd
,因此输入从“标准输入”读取,即 的输出gunzip
。
读取图像但不恢复
可以装载未压缩的映像,以便您从中读取。如果您已压缩分区映像,请先解压缩它们(disk.img.gz
将被删除,disk.img
将被创建。确保有足够的空间!):
gunzip disk.img.gz
或者,在不触及图像本身的情况下解压缩图像:
gunzip -c disk.img.gz > disk.img
现在创建一个可以挂载磁盘的目录并以只读方式挂载映像(ro
):
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
您现在可以在 中查看文件/mnt/wind
。完成后,卸载它并删除过时的挂载点:
sudo umount /mnt/wind
sudo rmdir /mnt/wind
尺寸更小、CPU 使用率更高、备份和恢复持续时间更长
如果时间不是问题,而且您没有太多存储空间,则可以使用bzip2
压缩格式。只需将上面的替换gzip
为。对于 bzip2 压缩文件,bzip2
通常使用扩展名,因此请这样做。.bz2
答案2
您想将一个硬盘克隆到另一个硬盘吗?有几种方法可以做到这一点。我通常更喜欢 dd 命令。请注意,要使用此命令,您需要 sudo 权限。
将硬盘 1 克隆到硬盘 2。请注意,硬盘 2 的大小必须大于硬盘 1。如果源硬盘是 sda 而目标硬盘是 sdb,那么您可以使用以下命令将 sda 的所有内容复制到 sdb。
dd if=/dev/sda of=/dev/sdb
要将整个硬盘 1 克隆到映像中,请使用以下命令。请注意,~/disk1.img 应位于不同的磁盘上
dd if=/dev/sda of=~/disk1.img
要将单个分区克隆到映像中,请使用以下命令。请注意,映像文件不应驻留在同一个分区上。
dd if=/dev/sda1 of=~/drive1.img
要恢复图像,请使用以下命令。
dd if=drive1.img of=/dev/sda1 - For Partition dd if=disk1.img of=/dev/sda - For whole hard disk
您还可以通过压缩图像文件来节省空间。
gzip disk1.img - This will generate disk1.img.gz bzip2 disk1.img - This will generate disk1.img.bz2