如何将 Ubuntu 移动到 SSD

Bar*_*lom 48 filesystem partitioning ssd hard-drive

我现在的情况是:

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

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

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

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

psu*_*usi 60

1) 复制文件

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

sudo cp -Tax /media/hd /media/ssd
Run Code Online (Sandbox Code Playgroud)

当然,为 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
Run Code Online (Sandbox Code Playgroud)

当然,为 /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
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

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

  • 我正在从我在 SSD 上完美运行的系统中发布此评论。谢谢 (10认同)
  • 我发现命令应该是`sudo cp -ax --target-directory=/path/to/ssd /path/to/hdd/*` 否则它会复制文件但将其转储到ssd上的目录中。 . (7认同)
  • ``chroot`` 命令有什么作用,为什么需要它? (3认同)
  • @Balthazar:使用 chroot 时,新的根目录需要是一个足够完整的环境,以便您要运行的任何程序/脚本都可以像普通的根文件系统一样运行。这些挂载命令将“sys”、“dev”和“proc”文件系统(具有非磁盘支持文件的虚拟文件系统,例如 /dev/zero,读取时返回全零)放入正确的位置,以便它们从 chroot jail 中检查时,它们会出现在正确的位置。 (2认同)