问题描述
我目前的情况是:
-
一个硬盘
-
双启动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)Boot-Repair中的”Recommended 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的说明,我能够成功完成此迁移,但我观察到一个”gotcha.”
在新SSD上安装Grub之后,它仍然无法启动 – 它正在使用我已删除的旧操作系统驱动器的UUID来查找ramdisk映像。使用–recheck选项修复了这个:
$ grub-install --recheck /dev/ssd
这鼓励grub到re-scan BIOS,识别新驱动器,并且可能在将”root=”参数传递给内核时使用其UUID。