将安装移至新磁盘


10

我目前有一个高清与这些分区:

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

我正在考虑为/分区购买固态硬盘。

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

Answers:


11

我建议不要使用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,使磁盘可启动。

一旦你重新启动(确保你的BIOS配置为启动从SSD代替旧的驱动器),请确保你通过检查的输出运行从SSD而不是从旧的驱动器df和/或mount,你应该很好地吹走了旧的分区。

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

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


1
我认为可行吗?
马丁·乌丁2011年

2
我在使用上述方法安装grub时遇到问题。最终,我做了这个线程的建议:askubuntu.com/a/3409/8152,以便将grub设置并安装到其他磁盘上。其余答案很好。
MladenJablanović,2012年

1

该命令:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

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

编辑:这仅在您的分区与驱动器大小相同时才起作用。如果它们的大小不相同,则可以使用partimage

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

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

请按照以下说明进行操作,直到此答案有几个建议为止。我不是这些事情的专家,所以我可能错过了一些重要信息。任何发现此缺陷的人,请添加评论以解释这些缺陷。您应该采取此类预防措施,因为如果出现问题,可能会导致计算机无法启动。


(-1)此解决方案则更危险。特别是在设备大小不匹配的情况下。
拉斐尔·博塞克

如果使用dd,它还将复制源驱动器的UUID。
2014年

0

首先阅读如何迁移,是否有一种简单的方法可以将操作系统从一个硬盘驱动器转移到另一个硬盘驱动器?

从您的SSD引导并将以下行添加到/etc/fstab(仅是绑定):

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

开始mount -a使更改生效。

提示:请勿mount /dev/yourhd /home因为失去了将更多目录移动到硬盘的灵活性。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.