我现在的情况是:
- 一个硬盘
- 双启动 Ubuntu 11.04 和 Windows 7。分区:
- 100MB Windows 系统东西
- 144GB 主窗口
- 160GB Ubuntu
- 4GB 交换空间
- 12GB 系统还原的东西
现在我想安装一个 80GB SSD 并将 Ubuntu 移动到它上面。据我所知,我需要:
- 将 160GB 的 Ubuntu 分区缩小到 80GB
- 复制到SSD
- 更改
fstab
以将 SSD 安装为/
我该怎么做第二个?我需要对 Grub 做些什么?
我现在的情况是:
现在我想安装一个 80GB SSD 并将 Ubuntu 移动到它上面。据我所知,我需要:
fstab
以将 SSD 安装为/
我该怎么做第二个?我需要对 Grub 做些什么?
1)复制文件
你想复制文件,而不是整个分区(包括它的可用空间),所以你不需要先调整分区的大小。从 livecd 启动并挂载 HD 和 SSD(当然是在 SSD 上格式化分区之后),然后复制所有文件:
当然,请为 hd 和 ssd 挂载点使用正确的名称。然后您只需要编辑 ssd 上的 /etc/fstab 以指向新的 fs UUID(您可以使用 查找它
blkid
)。最后你需要在 ssd 上安装 grub。2)处理GRUB
一)命令行:
当然,为 /dev/ssd 使用正确的设备。整个磁盘,而不是分区号。
b) Boot-Repair 中的“推荐修复”魔法按钮:
https://help.ubuntu.com/community/Boot-Repair
最后重新启动并确保您的 bios 设置为从 SSD 启动。
这是(2018 年)和 2013 年的简单操作方法一样好:http ://www.sesser.eu/howtos/hdd2ssd.php ,作者:Markus Sesser。但是你应该在这里阅读关于
--exclude "sys"
- 感谢 @em2er 的第一条评论!它描述了无需从 live CD 启动的迁移。它还尊重系统目录并使用rsync、noatime、nodiratime。只是不要忘记省略丢弃选项——它是从 Ubuntu 14.04 开始通过 cron 实现的。
文章的简短计划:
分区并挂载SSD。我在 gpt 上推荐单个 ext4
清理源硬盘
同步数据 ( rsync )
调整fstab。此外,如果您将 HDD 保留在系统中,那么我建议将 /home 移至 SSD,同时将用户数据(~/Video、~/Audio 等)保留在 HDD 上
安装grub
多亏了@psusi 的指示,我才能够成功地进行迁移,但是我发现了一个“陷阱”。
在新的 SSD 上安装 Grub 后,它仍然无法启动 - 它正在使用我已删除的旧操作系统驱动器的 UUID 寻找 ramdisk 映像。使用 --recheck 选项解决了这个问题:
这会促使 grub 重新扫描 BIOS,识别新驱动器,并可能在将“root=”参数传递给内核时使用其 UUID。
考虑到你的 HDD 是 /dev/sda 而 SSD 是 /dev/sdb 并且分区大小合适,你可以使用简单的 cp:
其中 X 和 Y 是相应的分区号。
但是,此方法将复制 80GB 的数据,并且 SSD 上的所有扇区最初都将标记为“已占用”。
我尝试在 Ubuntu 20.04 上(在已安装的版本上,不是实时的)根据这个问题的答案
Boot-Repair
中的说明安装工具,以检查实时版本上的一切是否正常:有错误:
来自这里的指导对我有帮助。
在此说明下方(How to install the Boot-Repair tool in an Ubuntu live disc):
命令时:
正在执行时出现以下警告:
但它并没有阻止安装
boot-repair
. 它已成功安装。