将我的 Ubuntu vmware 工作站虚拟机(桌面)复制到我的笔记本电脑作为物理机 - 如何启动它

将我的 Ubuntu vmware 工作站虚拟机(桌面)复制到我的笔记本电脑作为物理机 - 如何启动它

我在桌面 PC 上使用 Ubuntu 15.10(64 位)作为虚拟机(vmware 工作站),并以 Windows 10 Education(64 位)作为主机。由于我的台式电脑有足够的马力,我可以像运行其他应用程序一样运行 Ubuntu。 Windows和vmware Workstation帮忙没有出现兼容性问题,所以我对这个设置很满意。

我的问题是我暂时必须使用 OCaml 进行编程,并且在 Windows 下运行 OCaml 真的没什么乐趣。一些公司已将编译器移植到 Windows(进行了一些调整并删除了 make 文件),但还没有任何真正的文档。对于 cygwin,我会尽可能避免 GPL 问题。

在我的笔记本电脑上运行虚拟机是可能的,偶尔使用也没有问题,但它会耗尽电池,有时会变得很慢。

因此,我在笔记本电脑上创建了第二个分区,并在 Windows 10 上安装了 EsayBCD。

在执行此操作时,我想到将虚拟机的内容复制到外部驱动器,然后从该内部驱动器复制到新创建的分区。这样我就可以省去很多调整、配置、安装的麻烦(Ubuntu 软件中心的软件太过时了,我需要很多额外的软件)。但我还没有尝试过,猜测这行不通。

我知道虽然我可以将 Windows 从一个分区复制到另一个分区,但我无法将 Windows 复制到另一台电脑。谷歌了一下,我发现Ubuntu也是如此。

那么有没有办法实现这一点(无需重写整个操作系统:))?两台电脑都使用英特尔核心处理器(尽管不是同一台)。

答案1

与 Windows 不同,Linux 系统可以轻松地从一台机器或磁盘克隆到另一台机器或磁盘,只是作为文件副本。您唯一需要注意的是确保grub正确安装并且有一个有效的 grub.cfg

如果您可以在虚拟机中安装额外的分区,则应该能够将虚拟机的文件同步到新分区。您可以根据需要多次运行 rsync,直到准备好完成最终设置。

如果虚拟机位于台式电脑上并且分区位于笔记本电脑上,只需在笔记本电脑上启动救援 CD/USB 记忆棒,启动并运行网络和 sshd,格式化并挂载分区,然后通过 ssh 从运行中进行 rsync VM 到笔记本电脑的分区。

要完成克隆,您需要一张救援 CD 或 USB 记忆棒。 gparted、clonezilla 或 systemrescuecd 都可以。

  • os-prober如果尚未安装,请安装。这样 grub 就能找到你的 windows 分区并将其添加到 grub 启动菜单中。

  • 启动救援 USB 或 CD。

  • 进入 root shell
  • 将目标分区挂载为 /target
  • 在 /target 下绑定挂载 /sys、/proc 和 /dev

for i in proc dev sys ; do mount -o bind /$i /target/$i ; done

  • chroot /目标

  • 编辑/etc/fstab以使其引用您的新分区。如果您通过 UUID= 挂载,则可能需要运行blkid以获取分区的 UUID

  • 跑步update-grub

  • 运行grub-install /dev/sdX其中 /dev/sdX 是启动驱动器的设备名称(可能是 /dev/sda`)

  • exit从 chroot

  • 卸载绑定挂载点和 /target

for i in proc dev sys / ; do umount /target/$i ; done

  • 重启。

  • 您现在应该会看到一个 grub 菜单,让您可以选择 Linux 发行版或 Windows。

精明的读者会注意到,这与克隆任何其他系统或修复损坏的 grub 安装的过程基本相同。

答案2

您可以使用dpkg --get-selections > software.txt它来保存已安装的所有软件包的列表,将 Ubuntu 安装到笔记本电脑上,仅复制该文件,然后运行dpkg --set-selections < software.txt以在新系统上重新安装所有相同的应用程序。这可能是最简单的方法。

如果你确实想按原样复制整个系统,那么你需要复制所有文件,然后手动安装 grub。启动安装 CD,挂载新分区,chroot 到其中,然后重新安装 grub 以使其启动:

sudo -s
mount -t ext4 /dev/sdaX /mnt
for f in proc sys dev dev/pts run; do mount --bind /$f /mnt/$f ; done
chroot /mnt
dpkg-reconfigure grub-pc

选择 /dev/sda 作为安装 grub 的位置,并更新 /etc/fstab 中的 UUID(您可以使用 查看当前的 UUID lsblk),现在您应该能够从硬盘重新启动。

相关内容