将内部 HDD 克隆到新的 SSD

jwi*_*ir3 24 configuration partitioning boot ssd 11.04

我最近在我的机器上安装了一个 SSD。机器本身是联想thinkpad W520,之前有内置硬盘。我将内部硬盘移动到扩展托架(更换 CD-ROM),并将新的 SSD 放入内部托架。

我遇到的问题是我完全按照我想要的方式配置了 Ubuntu - 我最初花了很多时间来配置它以使其达到现在的状态。我宁愿不再这样做。但是,我也希望从 SSD 上的操作系统获得的启动收益。

所以,我想做的是将我的 Ubuntu 分区克隆到 SSD 上。问题是标准 HDD 明显大于 SSD。它有一个我不需要在 SSD 上的 Windows 分区(我从不使用 Windows,所以如果它从另一个硬盘驱动器启动,那很好)。我的硬盘布局如下:

/dev/sda (SSD):型号:ATA M4-CT256M4SSD2 (scsi) 磁盘 /dev/sda:256GB 扇区大小(逻辑/物理):512B/512B 分区表:msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot
Run Code Online (Sandbox Code Playgroud)

/dev/sdb (HDD):型号:ATA ST9500420AS (scsi) 磁盘 /dev/sdb:500GB 扇区大小(逻辑/物理):512B/512B 分区表:msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的:

1) 将分区 /dev/sdb5 和 /dev/sda1 调整为相同的大小。2)启动到 Ubuntu 11.04(从 /dev/sdb5)并运行 dd if=/dev/sdb5 of=/dev/sda1(当然这会导致启动问题,所以我不得不重新安装 grub ..我可以让它启动,但随后我遇到了 initrd 找不到某些文件的问题……大概它无法加载我认为的某些分区)。

现在,我认为这两个步骤是错误的方法,因为它会完全克隆 /dev/sdb5 - 包括 fstab 中指向错误硬盘驱动器的引用。我不确定如何解决这个问题。我可以将 Ubuntu 11.04 安装到 SSD 上,然后尝试复制我的所有配置,但我担心我会丢失某些东西,或者我会覆盖诸如 fstab 之类的指向原始的东西硬盘。

请注意,目前,我仍然可以从 HDD 启动,因此我不必立即弄清楚这一点,但我确实希望它与现在完全一样,以便我可以保持当前的生产力水平(这是一台工作笔记本电脑)。

关于我如何能够克服这个困难的建议?

提前致谢!

Mar*_*ied 14

有不止一种方法可以将旧系统安装到新驱动器上,但您并没有真正问它,而是问了如何克隆系统。

我自己会从 live CD 中使用 gparted,所以两个分区都没有安装。您可以将原始分区缩小到您希望它在 SSD 上的大小,然后将该分区复制并粘贴到新驱动器上。如果我没记错的话,这将重用相同的 UUID,但您可以稍后在一个或另一个分区上更改它。这个命令是sudo tune2fs -U random /dev/sdb5为 sdb5 分配 UUID。

如果您不想更改旧系统,并且希望将其挂载一段时间,您可以更改 SSD 分区的 UUID,并编辑您的 fstab。这其实一点也不难,是你应该学习的东西。对于拥有您似乎已经拥有的知识的人来说,这是不言自明的。分配新的 UUID 后,您可以使用以下命令查看所有这些:sudo blkid -c /dev/null- 参数 -c 指定缓存文件,而 /dev/null 表示不使用缓存,因此您始终可以立即获得任何更改。我总是使用这种形式,除非你有很多分区,否则看不到任何缺点。

获得 UUID 后,您可以使用 gedit 或您喜欢的任何文本编辑器将其复制并粘贴到 /etc/fstab 中的旧 UUID 上。

不过,就我个人而言,与其先花时间调整分区大小,不如将旧安装复制到新磁盘。如果您不知道如何将 GRUB 安装到 mbr,您可能想先安装一个基本的 Ubuntu,然后备份 /etc/fstab,将旧安装复制到它上面,然后从新安装中复制 fstab,以便它只有正确的条目。


psu*_*usi 6

从 livecd 启动,挂载两个驱动器,然后用sudo cp -ax /media/source /media/dest. 编辑目标上的 /etc/fstab 以指向正确的 UUID(使用 查找blkid),然后重新安装 grub。

  • @MartyFried,一个快速的谷歌直接跳转到 https://help.ubuntu.com/community/Grub2#Reinstalling_GRUB2,它说它就像在安装后运行 `grub-install --root-directory /mnt /dev/sda` 一样简单/mnt 中的 Ubuntu 分区;) (3认同)