I am trying to setup proxmox on Dell r720xd, which does have UEFI boot option but can not boot from PCIe nvme drives.

If I install proxmox (or any os) on a usb flash, it boots fine.

For testing, I installed CentOS with advanced partitioning, and used USB flash as /boot partition, and nvme for all other partitions and that too works flawlessly.

With proxmox, there is no custom partitioning option during the setup, so I was unable to set usb key as /boot partition during install.

Other option listed in proxmox forums are

  • use clover as bootloader on a USB key, described here
  • install debian first with custom partition and then install proxmox over it and remove debian kernel.

Obviously clover is adding a boot partition on usb and then forwarding the control to nvme.

My question is, how to install proxmox on nvme and then migrate the /boot partition to the usb flash?

Seems like a very straight forward process and I followed this guide to handle it, however, I could not get it to work. grub2 always complained with messages like

  • not matching UUID
  • you need to load kernel first
  • and so on

any hints please. P.S. I also tried to edit the centos /boot installed on flash drive, by using grub2-mkconfig which found the proxmox and updated the grub.cfg but still got errors during boot like

  • error: cant't find command linux
  • error: cant't find command initrd fixed these errors (ref) by linuxefi and initrdefi but then it could not find the drive with given UUID
  • Do not know Clover nor Proxmox. But with grub that error is if grub.cfg does not have correct UUID or drive like (hd0,1) in its settings. When I boot from USB, my system changes drive order. My flash drive becomes hd0, and every other drive moves up one. And my internal NVMe when installed was not hd0 but hd1 and with flash drive becomes hd2. I use grub to loopmount, but often have to manually edit a working grub stanza with different hdX if flash drive also plugged in.
    – oldfred
    May 17 at 13:48

Turns out it is very simple to achieve. the only problem is it is kind of confusingly documented.

here are the steps that you need to perform

  1. install proxmox (using DEBUG mode) on your nvme drive (which may not be bootable due to legacy BIOS)
  2. once the install is complete, do not exit the install wizard, but start the command terminal. (Selecting debug mode in first step will make it easy to open the terminal)
  3. chroot (check link in the question, i think it is optional)
  4. run proxmox-boot-tool format /dev/sda2 where /dev/sda2 is your usb drive that you want to use as boot drive.
  5. run proxmox-boot-tool init /dev/sda2 and wait for the setup to complete.

in my system I used chroot step and it works flawlessly, but you may or may not need the chroot step

ref: https://pve.proxmox.com/wiki/Host_Bootloader

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.