我正在使用 Linux(Fedora 21),并且有一个 500GB 的 SSHD,它显示一些故障错误。我买了一个 480GB 的新 SSD 磁盘,我想将 SSHD 克隆到 SSD。有足够的可用空间,所以稍微小一点的磁盘应该没问题。我尝试使用 CloneZilla 来实现这一点,但它放弃了,抱怨目标磁盘太小。
我的分区布局如下:
Command (m for help): p
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xf215ba27
Device Boot Start End Sectors Size Id Type
/dev/sda1 63 80324 80262 39.2M de Dell Utility
/dev/sda2 * 81920 32935935 32854016 15.7G 7 HPFS/NTFS/exFAT
/dev/sda3 32935936 434964442 402028507 191.7G 7 HPFS/NTFS/exFAT
/dev/sda4 434964480 976773167 541808688 258.4G 5 Extended
/dev/sda5 434966528 435990527 1024000 500M 83 Linux
/dev/sda6 435992576 976773119 540780544 257.9G 8e Linux LVM
这些是已挂载的文件系统:
[bf@laptop-bf ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 4027292 0 4027292 0% /dev
tmpfs 4039452 220 4039232 1% /dev/shm
tmpfs 4039452 1832 4037620 1% /run
tmpfs 4039452 0 4039452 0% /sys/fs/cgroup
/dev/mapper/fedora_localhost-root 51475068 13636828 35200416 28% /
tmpfs 4039452 40 4039412 1% /tmp
/dev/sda3 201014248 93952 200920296 1% /mnt/windows7
/dev/sda5 487652 174469 283487 39% /boot
/dev/mapper/fedora_localhost-home 206394032 172686096 23200672 89% /home
tmpfs 807892 12 807880 1% /run/user/42
tmpfs 807892 28 807864 1% /run/user/1000
我可以使用什么工具来克隆我的磁盘?
答案1
最明显的要缩小的分区是/dev/sda3
(Win7)。如果上面有正在运行的 W7,最安全的做法是从那里缩小。由于它有这么多未使用的空间,我会缩小 20GB 以上,这样随后就可以在几乎已满的 Linux 分区中腾出更多空间。
然后使用 Linux 进行复制。最好使用 LiveCD,以阻止复制过程中的任何磁盘更改。我推荐 Ubuntu live,它具有出色的功能gparted
。
当出现磁盘错误时,我使用dd conv=noerrror,sync ...
,使用默认的 512 字节缓冲区,虽然速度很慢,但可以复制最大数量的好扇区。
我会用 复制整个磁盘dd
,在将所有可以容纳的扇区复制到 SSD 后会出错。如果目标是/dev/sdb
,则使用:
dd conv=noerrror,sync if=/dev/sda of=/dev/sdb
您可以使用count=435992576
来停止之前的复制/dev/sda6
,该复制将在下一阶段写入。
如果您使用,gparted
现在可以轻松删除目标驱动器上的扩展分区,并将旧驱动器的扩展分区复制到新驱动器上的可用空间,然后扩展扩展分区和 LVM 分区以使用新驱动器上的剩余空间。
您可以使用 进行此复制dd skip=... seek=... ...
,但您需要确保偏移量,而 则会gparted
为您完成所有算术运算。
重要的是,不要在旧驱动器上执行任何操作,直到在新驱动器上成功创建可启动副本,其中所有分区都通过磁盘检查(fsck
或chkdsk.exe
)
这不是一个简单的解决方案,但通过采取非常保守的方法,可以最大限度地将数据恢复到新驱动器。
答案2
其他答案指向有效的开源解决方案,您可以缩小源磁盘上的分区(使用 gparted)并使用“dd”命令或“clonezilla”在目标磁盘上克隆磁盘。
但是,我想提出一个非开放的替代解决方案。
EaseUS Backup 免费版是一款适用于 Microsoft Windows 的非常出色的专有软件,它还可以执行磁盘克隆和自动即时压缩。这对于 HD 到 SSD 的迁移非常理想。
如果你需要在另一台仅运行 Linux 的机器上执行 EaseUS,使用 EaseUS Backup Free 软件,你还可以创建一个可启动的 WinPE DVD/USB 驱动器。 你可以创建可启动的紧急磁盘直接从 EasyUS,从菜单“工具”>“创建紧急磁盘”,然后选择 WinPE 选项(它是提供更多功能的选择)。
使用 EaseUS Emergency Disk 启动时,您将执行功能齐全的 EaseUS Backup Free 实例,并且可以执行所需的所有磁盘克隆操作。EasyUS 图形界面非常直观。
答案3
使用 gparted 将磁盘缩小到目标磁盘的大小以下。然后,当使用 clonezilla 时,我相信有一个选项可以在复制分区时扩展分区。
话虽如此,您也可能遇到坏扇区问题。如果遇到这种情况,您可能必须在复制所有内容时使用救援标志,否则 clonezilla 会在第一次出错时退出。我已经有一段时间没有这样做了,所以我不确定它在哪里,但如果您边走边阅读选项,应该很明显。