将安装移动到新磁盘

将安装移动到新磁盘

我目前有一个包含以下分区的硬盘:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

我正在考虑为我的/分区购买一个 SSD。

现在我的问题是:是否可以将我当前的配置移动/转换为新配置(两个磁盘,/home 保留)?最好是在正在运行的系统内?

答案1

我不建议使用dd。它只是进行愚蠢的逐扇区复制,这意味着如果目标分区较小,它将失败,并且会浪费大量时间复制可用空间,而如果目标分区较大,则在您运行resize2fs扩展文件系统之前,额外的空间将不可用。

最好从实时 CD 执行此操作,因为如果在文件正在被修改时复制文件,最终将得到损坏的结果。

格式化 ssd 并挂载新的 ssd 分区和原始根分区,然后运行sudo cp -ax /media/old-partition/* /media/new-partition​​,其中 old-partition 和 new-partition 被替换为其实际挂载点。这将复制每个文件,保留所有权、权限和时间戳。

然后运行sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE,在将 new-partition 和 SSD_DEVICE 替换为正确的值后。这将安装 grub,使磁盘可启动。

df重新启动后(确保您的 BIOS 配置为从 ssd 而不是旧驱动器启动),通过检查和/或 的输出确保您是从 ssd 运行而不是从旧驱动器运行mount,然后您就可以清除旧分区了。

哦,复制并更新根分区的 UUID 后,您需要编辑/etc/fstab新分区上的文件,使其与新 SSD 分区的 UUID 匹配,而不是与旧分区匹配。您可以通过运行 找到该 UUID sudo blkid

编辑:在上面的副本中添加了 /*,但需要编辑以超过 6 个字符。现在是 101 个字符!

答案2

此命令:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

应该可以将/分区克隆到 SSD 驱动器。

编辑:仅当您的分区与驱动器大小相同时,这才会起作用。如果它们大小不一样,你可以使用部分图像

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

此方法的一个注意事项是,您需要在驱动器上有足够的空间来存放包含 所有内容的图像/。如果您有 >10GB 的可用空间,那么应该没问题。否则,您可以使用-z1而不是-z0来压缩图像。要获得更大的压缩率,请使用-z2。此外,partimage 不支持 ext4 文件系统

完成这些之后,你应该安装 SSD 并检查数据是否已正确复制:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

替换ext4为您已使用的文件系统/

您可能需要在此驱动器上安装 GRUB 引导加载程序:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

然后,您将需要编辑文件,将安装到的条目中的 SSD 驱动器的设备路径/etc/fstab替换为。()/dev/sdb1/sudo $EDITOR /etc/fstab

请等到这个答案获得一些赞同后再按照这些说明操作。我不是这方面的专家,所以我可能错过了一些重要信息。如果有人发现其中有任何缺陷,请添加评论解释。你应该采取这样的预防措施,因为如果出现问题,可能会导致你的电脑无法启动。

答案3

首先阅读如何迁移,有没有简单的方法将操作系统从一个硬盘转移到另一个硬盘?

从您的 SSD 启动并添加以下行/etc/fstab(这只是一个绑定):

/media/slowhd/home /home none rw,bind 0 0

开始mount -a使更改生效。

提示:不要这样做,mount /dev/yourhd /home因为你失去了将更多目录移动到你的老的高清。

更技术性的解决方案是使用LVM(逻辑卷管理器)

相关内容