如何将安装从内部USB HDD传输到外部USB HDD

我开始在从外部USB硬盘启动的笔记本电脑上使用Ubuntu 10.04,经过一些调整后它运行得很好(不得不使用单独的1GB启动分区等)。

经过一段时间在我的外置硬盘上运行后,我决定擦拭内置硬盘(例如,摆脱无用的瘫痪和缓慢的公司WinXP安装)并将我的Ubuntu安装从外部移植到内部硬盘。 在经过一些调整之后,这很好,我使用“cp -a”复制了整个磁盘而没有任何重大问题。

在内部硬盘驱动器运行一段时间后,我需要暂时将系统移回外部硬盘驱动器,因为我正在交换笔记本电脑。 我最初做的是在运行的系统上使用rsync简单地将内部HDD传输到外部,只是为了测试。 我将在从USB闪存启动后进行真正的传输,因此两个HDD都没有使用。

我在chroot到外部硬盘驱动器后尝试使用grub-install设置外部硬盘驱动器,但每次启动笔记本电脑并选择外部硬盘驱动器作为启动设备时,它总是从内部硬盘启动。 我知道我可以将外置硬盘复制到新笔记本电脑的内部并稍后进行修复,但我真的想测试从外置硬盘启动,然后再换回我的笔记本电脑以换取新笔记本电脑。

TL; DR:

  • 在外置硬盘上安装Ubuntu 10.04并启动,好的!
  • 将Ubuntu 10.04从外部硬盘迁移到内置硬盘并启动,好的!
  • 试图将内部硬盘镜像到外部硬盘并从外部硬盘启动,失败!

编辑

即使我在Bios Boot菜单中选择了外置硬盘,似乎笔记本电脑也在内置硬盘上启动,例如,BIOS无法在外置硬盘上找到可启动分区并回落到内置硬盘。

我将深入研究grub cli的奥秘,以研究已安装分区的状态,我有(hd0)内部和(hd1)外部可见grub。 两者都有子分区1,5和6.(1是/ boot分区1GB,5个主根/分区,6是交换)。

启动到live cd。

然后:

 sudo mount /dev/sdXY /mnt 

例:

 sudo mount /dev/sda1 

注意:如果用户具有单独的/boot分区,则必须将其挂载到/mnt/boot

注意:如果用户有一个单独的/home分区,则必须将其挂载到/mnt/home 。 加密的主分区应该工作。

运行grub-install命令,如下所述。 这会将已安装分区上的GRUB 2文件重新安装到正确的位置和指定设备的MBR。

 sudo grub-install --root-directory=/mnt /dev/sdX 

例:

 sudo grub-install --root-directory=/mnt /dev/sda 

重启

使用sudo update-grub刷新GRUB 2菜单。

您可以使用dd命令将硬盘克隆到外部硬盘中。

 dd if=/dev/sda of=/dev/sdb 

其中sda是内部的,sdb是外部的。 这会将sda驱动器克隆到sdb设备中。只需根据需要调整设备。 它还会镜像分区表。 所以它将保留交换或/ home分区。