我正在尝试在 Dell r720xd 上设置 proxmox,它有 UEFI 启动选项,但无法从 PCIe nvme 驱动器启动。
如果我在 USB 闪存上安装 proxmox (或任何操作系统),它可以正常启动。
为了进行测试,我安装了具有高级分区的 CentOS,并使用 USB 闪存作为/boot
分区,并使用 nvme 作为所有其他分区,这也可以完美运行。
使用 proxmox,安装过程中没有自定义分区选项,因此我无法/boot
在安装过程中将 USB 密钥设置为分区。
proxmox 论坛中列出的其他选项是
- 使用 clover 作为 USB 闪存盘上的引导加载程序,如下所述这里
- 首先使用自定义分区安装 debian,然后在其上安装 proxmox 并删除 debian 内核。
显然clover是在usb上添加一个启动分区,然后将控制权转发给nvme。
我的问题是,如何在nvme上安装proxmox,然后将/boot
分区迁移到USB闪存?
看起来是一个非常直接的过程,我遵循了本指南然而,为了处理它,我无法让它工作。 grub2 总是抱怨类似的消息
- 不匹配 UUID
- 你需要先加载内核
- 等等
请任何提示。 PS我还尝试编辑安装在闪存驱动器上的centos /boot
,通过使用grub2-mkconfig
它找到proxmox并更新grub.cfg
但在启动过程中仍然出现错误,例如
- 错误:找不到命令 linux
- 错误:找不到命令 initrd 修复了这些错误(参考)
linuxefi and initrdefi
但是随后它无法找到具有给定 UUID 的驱动器
答案1
事实证明,实现起来非常简单。唯一的问题是它的记录有点混乱。
这是您需要执行的步骤
- 在您的 nvme 驱动器上安装 proxmox(使用 DEBUG 模式)(由于旧版 BIOS 可能无法启动)
- 安装完成后,不要退出安装向导,而是启动命令终端。 (第一步选择调试模式可以方便打开终端)
- chroot(检查问题中的链接,我认为它是可选的)
- 运行
proxmox-boot-tool format /dev/sda2
其中 /dev/sda2 是您要用作启动驱动器的 USB 驱动器。 - 运行
proxmox-boot-tool init /dev/sda2
并等待设置完成。
在我的系统中,我使用了 chroot 步骤,它工作完美,但您可能需要也可能不需要 chroot 步骤
答案2
这个答案一开始是对 @nexlin 原始答案的评论,但它有点超出了评论的大小和功能(链接),所以我把它作为一个答案。
请注意,原始问答的作者是同一个人,并且答案是在问题提出约 1 个月后发布的。感谢作者回来分享他们的解决方案,这对他们的具体情况很有洞察力……在 proxmox 安装过程中需要/找到解决方案。值得分享的是,更改引导驱动器可以在 proxmox 安装步骤中完成,并且调试模式下的 proxmox 安装程序提供了此功能。
我认为分享以下内容很有帮助:无论 proxmox 安装是否可以启动,安装后移动 proxmox 启动驱动器也可以解决,方法是在控制台模式下从 proxmox 安装程序启动并使用快捷方式进入 root shell:CTRL+ ALT+ ,并运行配置可启动驱动器F3所需的步骤。proxmox-boot-tool
我在旧版 (v4) proxmox 安装中遇到了类似的情况。
我的灵感来自:
- @nexlin对此问题的回答
- Proxmox 论坛用户为什么。谁发布了使用 USB 引导 proxmox 安装的解决方案这里。
这启发我写了我的指南,标题为:Proxmox:当 ESP 分区没有空间时从传统启动切换。
我这个答案的目的是提供更多背景信息和其他一些信息更一般解决方案(请参阅链接)来回答原始问题。我希望它对将来的人有所帮助。
虽然可以复制/粘贴重新托管此答案中的解决方案,但我认为这会使它们脱离上下文或降低保真度,因此我选择不在这里重新托管内容。这个答案应该是一个评论,但它不合适。