在物理系统和虚拟机上启动相同的 Linux 安装以供双重使用时出现问题

在物理系统和虚拟机上启动相同的 Linux 安装以供双重使用时出现问题

这个问题基本上可以归结为“需要如何设置 Linux 安装才能从虚拟机和物理机启动?”

我尝试用这个实现两个目标,它们基本上都有类似的问题:

  1. 我希望能够以 UEFI 模式将最常见的发行版从虚拟机安装到物理磁盘,而不是制作可引导的安装程序 USB,因为这样更方便,也更安全(安装程序只能访问我经过的那个驱动器) )。
  2. 我想使用在物理机上启动并在 Windows 虚拟机内启动的操作系统。

设置:我使用 Vboxmanage 命令在 Virtualbox 中传递了带有 GPT 的 NVMe 硬盘,并在 Windows 磁盘管理中禁用了该硬盘,这样它在 VM 内部分区时就不会崩溃,然后从 ISO 安装。在 Hyper-V 中尝试了相同的操作,结果相同,实际上设置起来更容易。

在某些情况下,这可以开箱即用:Ubuntu/Kubuntu 在 BIOS 和 UEFI 模式下安装良好,并且在选择自动分区时可以轻松地以两种方式启动。 EndavourOS Cassini 在 BIOS 模式下在 SATA 固态硬盘上安装良好,并且可以两种方式使用。

我更喜欢使用 UEFI 模式,因为我想安装多个具有手动分区和共享主目录的操作系统,并假设使用 EFI 系统分区 + rEFInd 效果更好。

我试图解决的问题: 手动指定 ESP 时,Kubuntu 不会在虚拟机外部启动,因为它无法挂载根驱动器,尝试使用 rEFInd 启动时也是如此。无论在 UEFI 模式下如何选择分区,EndeavourOS Artemis Nova 都无法在虚拟机外部找到根驱动器,看起来与 openSUSE tumbleweed 相同。我可以使用这里的说明:Archwiki 将现有安装移出虚拟机,但它不会再在虚拟机内启动,目的失败了......

以 BIOS 模式安装的 EndeavourOS 永远卡在a starting job is running for /dev/disk/by-UUID/{root drive UUID}虚拟机外部,fstab 中的 UUID 是正确的,我在虚拟机和工作物理安装中都进行了检查这里的设备命名是否存在问题,因为安装程序将 NVMe 视为 sda但在真实系统上它是 nvme1n1? Ubuntu 好像没有这个问题。

如果您认为提供更多测试/信息可能有帮助,请告诉我。非常感谢您对此事提出的任何意见!

相关内容