为什么在 FreeNAS 上安装虚拟机后我无法启动它们?

为什么在 FreeNAS 上安装虚拟机后我无法启动它们?

我正在使用 FreeNAS-11.3-U2。我尝试过 3 次在我的计算机上安装 Archlinux 虚拟机。安装完成后重新启动时,我可以启动虚拟机,但每次重新启动虚拟机时,我只能看到“UEFI 交互式 Shell”。其他人也遇到过这种情况吗?

在此处输入图片描述

答案1

显然,EFI 实现缺乏持久加载器存储。这是 VirtualBox 等的已知限制,但我不确定 FreeNAS 是否在后台使用了它。无论如何,操作系统的加载器是在安装期间配置的,但 EFI 会“忘记”它并返回到 EFI shell。

您可以通过安装 rEFInd 或类似的引导程序并确保其在 EFI 系统分区上的可执行文件名为 来解决此问题EFI\BOOT\BOOTX64.EFI。当 EFI 中没有保存任何加载程序时,这是 x64 系统的默认加载程序路径。

您还可以摆弄内核的 EFI 存根并尝试将内核本身放在该路径下。initramfs也需要去那里。更新会很棘手,我将把它留给您(自己或在 Arch wiki 的帮助下)作为练习。

第三个选项是创建一个startup.nsh启动适当加载器的 EFI shell 脚本。除非被中断,否则 Shell 将在启动时解释此脚本。

答案2

问:还有人经历过这样的事吗?

答:是的。我读过TrueNAS-12.0-U2.1 CORETrueNAS VM 使用 bhyve 虚拟机软件。未找到安装介质时启动了 UEFI 交互式 shell。我已将安装介质放入系统磁盘上的目录中

/export/ISO/images/freebsd/12.2/FreeBSD-12.2-RELEASE-amd64-dvd1.iso

然后将这个路径复制粘贴到虚拟机的配置中。显然这不是正确的方法。安装介质的路径应该在配置窗口的点击菜单中可用。但是,系统磁盘(即/export我示例中的目录)在点击菜单中不可用。只有/mnt和选定的 ZFS 池可用。

当我在选定的池中创建一个新的 ZFS 数据集时,问题就解决了,例如

pool1/ISO    1047828875  3881541 1043947334     0%    /mnt/pool1/ISO

并将安装介质放入此目录,例如

/mnt/pool1/ISO/FreeBSD-12.2-RELEASE-amd64-dvd1.iso

然后,这个 ISO 路径在点击菜单中可用,选择后,VM 会启动它。在 VM 设备中,change device order当然需要从 CD 启动(安装后将其更改为磁盘)。

相关内容