如何将Ubuntu移至SSD


45

我目前的情况是:

  • 一块硬盘
  • 双启动Ubuntu 11.04和Windows7。分区:
    • 100MB Windows系统
    • 144GB主视窗
    • 160GB Ubuntu
    • 4GB交换
    • 12GB系统还原资料

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

  • 将160GB Ubuntu分区缩小到80GB
  • 将其复制到SSD
  • 更改fstab为将SSD挂载为/

我该怎么办第二?而我需要对Grub做什么?


Answers:


56

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/引导修复

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

在此处输入图片说明

最后重新启动,并确保您的BIOS已设置为从SSD引导。


8
我正在从在SSD上完美运行的系统中发布此评论。谢谢
Bart van Heukelom

1
我发现在另一台PC上执行此操作:如果要移动的OS也为64位,则实时CD需要为64位,否则chroot将无法工作。
Bart van Heukelom

2
chroot命令做什么,为什么有必要?
codeape 2011年

7
我发现命令应该是sudo cp -ax --target-directory=/path/to/ssd /path/to/hdd/*或在其他文件复制它,但它转储到SSD上的目录,而不是..
Pwnna

2
@Balthazar:使用chroot时,新的根目录必须是一个足够完整的环境,以便您要运行的任何程序/脚本都可以像正常的根文件系统一样工作。这些安装命令将“ sys”,“ dev”和“ proc”文件系统(具有非磁盘支持的文件的虚拟文件系统,例如/ dev / zero,在读取时返回全零)放置到正确的位置,以便将在chroot监狱中检查时,出现在正确的位置。
azernik

2

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

在新的SSD上安装Grub之后,它仍然无法启动-它正在使用我已删除的旧OS驱动器的UUID查找ramdisk映像。使用--recheck选项可以解决此问题:

$ grub-install --recheck /dev/ssd

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


1

这与2013年的简单操作指南一样好(对于2018年):Markus Sesser的http://www.sesser.eu/howtos/hdd2ssd.php

它描述了无需从实时CD引导即可进行迁移的过程。它还尊重系统目录并使用rsyncnoatimenodiratime。只是不要忘了忽略丢弃选项-自Ubuntu 14.04起它通过cron实现。

文章中的简短计划:

  1. 分区并安装SSD。我建议在gpt上使用单个ext4

  2. 清理源硬盘

  3. 同步数据(rsync

  4. 调整fstab。另外,如果您将HDD保留在系统中,那么我建议将/ home移到SSD上,同时将用户数据(〜/视频,〜/音频等)保留在HDD上

  5. 安装grub


0

考虑到您的HDD为/ dev / sda,SSD为/ dev / sdb,并且分区大小正确,您可以使用简单的cp:

cp /dev/sdaX /dev/sdbY

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

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


听起来很容易,但是最后一句话对我来说意义不大。是还是有问题?
巴特·范·海克洛姆

好吧,这可能会对您的SSD速度产生负面影响(但是,在TRIM支持下,它稍后会恢复)。您可以阅读en.wikipedia.org/wiki/TRIM了解更多信息。但是,您确实应该按照其他答复中所述的路线进行操作(复制文件,而不是分区)。如果仍然决定复制整个分区,则还需要执行grub-install / grup-update。
Vilmantas Baranauskas,2011年

1
我不推荐这种方法,它将复制您在旧分区上可能存在的所有文件系统错误。该cp -ax方法既快捷又安全。
安德烈·索斯宁
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.