如何将Ubuntu移动到SSD

我目前的情况是:

  • 一个硬盘
  • 双启动Ubuntu 11.04和Windows 7.分区:
    • 100MB Windows系统
    • 144GB主窗口
    • 160GB Ubuntu
    • 4GB交换
    • 12GB系统还原的东西

现在我想安装一个80GB的SSD并将Ubuntu移动到它。 AFAIK我需要:

  • 将160GB的Ubuntu分区缩小到80GB
  • 将其复制到SSD
  • 更改fstab以将SSD安装为/

我怎么做第二个? 关于Grub,我需要做些什么?

1)复制文件

您希望复制FILES,而不是整个分区(包括其可用空间),因此您无需先调整分区大小。 从livecd启动并安装HD和SSD(当然在格式化SSD上的分区之后),然后复制所有文件:

 sudo cp -Tax /media/hd /media/ssd 

当然,请为hd和ssd挂载点使用正确的名称。 然后你只需要编辑ssd上的/ etc / fstab指向新的fs UUID(你可以用blkid查找)。 最后你需要在ssd上安装grub。

2)处理GRUB

a)命令行:

 sudo -s for f in sys dev proc ; do mount --bind /$f /media/ssd/$f ; done chroot /media/ssd grub-install /dev/ssd update-grub 

当然,为/ dev / ssd使用正确的设备。 整个磁盘,而不是分区号。

b)引导修复中的“推荐修复”魔术按钮:

https://help.ubuntu.com/community/Boot-Repair

 sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair && boot-repair 

在此处输入图像描述

最后重启并确保您的BIOS设置为从SSD启动。

由于@ psusi的指示,我能够成功完成此迁移,但是我发现了一个“陷阱”。

在新SSD上安装Grub之后,它仍然无法启动 – 它正在使用我已删除的旧操作系统驱动器的UUID来查找ramdisk映像。 使用–recheck选项修复了这个:

 $ grub-install --recheck /dev/ssd 

这鼓励grub重新扫描BIOS,识别新驱动器,并在将“root =”参数传递给内核时可能使用其UUID。

考虑到您的硬盘是/ dev / sda而SSD是/ dev / sdb并且分区大小合适,您可以使用简单的cp:

 cp /dev/sdaX /dev/sdbY 

其中X和Y是对应的分区号。

但是,此方法将复制80GB的数据,并且SSD上的所有扇区最初都将标记为“已占用”。