![如何将具有多个可启动分区的硬盘移动/迁移到更大的尺寸?](https://linux22.com/image/1492441/%E5%A6%82%E4%BD%95%E5%B0%86%E5%85%B7%E6%9C%89%E5%A4%9A%E4%B8%AA%E5%8F%AF%E5%90%AF%E5%8A%A8%E5%88%86%E5%8C%BA%E7%9A%84%E7%A1%AC%E7%9B%98%E7%A7%BB%E5%8A%A8%2F%E8%BF%81%E7%A7%BB%E5%88%B0%E6%9B%B4%E5%A4%A7%E7%9A%84%E5%B0%BA%E5%AF%B8%EF%BC%9F.png)
目前,我在笔记本电脑上使用 320gb 硬盘。我有一个较新的 500gb 硬盘。我决定将 320gb HDD 及其内容迁移到 500gb 硬盘中。
问题是我的 320gb 硬盘有多个分区,每个分区都有可启动的操作系统。
sda1 primary Windows ntfs
sda3 primary Linux ext4
sda2 extended
L sda5 logical Linux ext4
sda4 primary Linux ext4
我计划使用带有 2 个 SATA 连接器的台式机主板和 Lubuntu 14.04 USB 驱动器来启动并进行克隆。
我计划使用 Gparted 在新的 500gb 驱动器上创建我想要的分区,该分区大于 320gb 中的当前分区,然后对每个分区执行 dd。这样可以保留文件和操作系统,对吗?但这样启动就完蛋了?如何从这里修复启动问题,我可以从 USB 启动中恢复 grub 吗?
或者
第二个选项是 dd if=sda of=sdb,对整个驱动器执行此操作,而不是单个分区,然后使用 Gparted 调整分区大小?
这些能起作用吗?
附言:我可能要等到明天才能回复你,谢谢
答案1
是的。一切都顺利。我主要使用 gparted 和 dd 将我的 4 个硬盘分区全部移到了更大的硬盘上。
- 我使用 2 根 SATA 线将 2 个 HDD 连接到 PC Mobo。
在 USB 上启动 Lubuntu 14.04(或任何可以运行的 Linux/更新版本)。
我打开了 GParted,在新的更大的 HDD 上创建了新的更大的分区,其布局与我的小 HDD 相对应/类似(我认为任何顺序都可以,但为了更容易/减少人为错误我以类似的方式进行了操作)
对于每个分区,我使用
sudo dd if=/dev/sda1 of=/dev/sdb1 bs=8M
if(输入文件/源) 和 of(输出/目标),/dev/sdax 或 sdby 对应于您的每个分区。我使用的块大小 (bs) 为 8Mb,速度达到 100Mb/s 以上。我发现它是我的硬盘上最快的,缓存为 8Mb。
我使用了方法 1,先创建新的较大分区,然后使用 dd 进行传输。没有使用方法 2,即先使用 dd 进行传输,然后使用 gparted 来扩大分区,因为在 Gparted 中移动操作很慢,所以时间大约是原来的 2 倍。
在新硬盘上恢复 grub。谷歌搜索如何恢复 grub,或者在我的情况下,我使用了这个:https://askubuntu.com/questions/6317/how-can-i-install-windows-after-ive-installed-ubuntu/6321#6321
现在 grub 应该在新硬盘的 mbr 上,我能够启动我的 Linux 分区了。对于 Windows 7,我在启动时遇到错误。但解决方案在上面的评论中。
差不多就是这样了。我只需使用基本的 Linux 实用程序就能迁移到更大的硬盘。
如果您的 Windows 7 仍然在 C:/ 属性中识别出它的旧大小,而我的情况就是如此。我使用 Win 7 安装 DVD 或任何 Windows 10 修复了它。我调整了它的分区大小(我猜是在高级选项安装上)首先缩小它(在最后...),然后再将其放大回原来的大小(但要小心,不要超出其他分区)。
谢谢大家,抱歉更新延迟了。