ZFS boot stuck at (initramfs), no root device specified

Ah amazing, i'll give that a go. Im using a very old and cheap gigabyte mobo so i'm also thinking the EFI/BIOS firmware is playing up.

Really appreciate the breakdown, thanks @FourtyTwo !
 
@rearend-dev
Old mobo? Then and also check one little thing:
There was some kind of transition period when HDD's exceeded capabilities of MBR (over 2TB) but new stuff like UEFI+GPT wasn't common.
Gigabyte produced transitional mobos that could manage 2TB+ HDD's using so called Hybrid EFI. It wasn't fully functional UEFI, it was like shitty addon to old BIOS that also required additional labor costs to make it to work.

Check your mobo! Maybe you are just confused like me when i tried to boot to "UEFI" on my old Gigabyte mobo but then i found that it doesn't have any UEFI but only support of Hybrid EFI crap :D. Check official website, this is my previous mobo for example:
https://www.gigabyte.com/Motherboard/GA-Z68AP-D3-rev-10#ov

See, there is info about EFI type in Overview. Also if your BIOS ver. starts with "F" letter then it 99% don't have UEFI. Gigabyte UEFI BIOS code starts from "U" letter.

Have fun :)
 
You hit the nail on the head, It has the hybrid-uefi feature (aka broken UEFI) and gigabyte hasn't provided a patch since 2014.

As i tried both modes with proxmox, i decided to load freenas in bios mode. It loaded with no issues and ZFS is running smoothly. I'm going to park this here but thanks again for your help (gold trophy emoji) :D
 
You welcome.
Unfortunately i didn't made it to work on my old mobo and if you generally have the same kind of mobo and error you maybe just unlucky like me.

Now i'm totally sure that it's a bug in PVE.
 
Hi,

we got this issue on a newly-bought Supermicro board today. After reading the proxinstall script and verifying assumptions on the installed system, I figured that it was caused by GRUB being installed both in EFI and i386-pc modes. This happened due to the machine being set into dual boot mode, which enabled both UEFI and legacy BIOS mode parallely. It seemed that the proxinstall script sets the boot mode variable to efi if the efi directory in sysfs exists, but also installs i386-pc grub unconditionally. Dual boot mode will then prefer legacy boot, which loads GRUB with the unchanged config from before the last update-grub in the installation script.

This sure can be circumvented in the script, but strictly speaking, using that dual boot mode isn't a good idea anyway.

In any case, the installed system is completely functional, and the boot process can be fixed by manually installing and/or removing the irrelevant versions of GRUB.

Cheers,
Nik
 
I hit this same issue with a SuperMicro 2124BT-HNTR as well.

By default, the boot mode is set to "DUAL" - if you try to install Proxmox using ZFS, you will get this error on reboot:

iKVM_capture-10.jpg

However, if you set the boot mode to "UEFI" - and re-run the installation, it works.
 
  • Like
Reactions: devilkin
Thanks for these tips! They saved me. I hit the same issue with AsRock B365 Pro4 motherboard. I was able to fix it by disabling CSM (Compatibility Support Module) from UEFI setup to force UEFI boot and then reinstalling proxmox.
 
Hi.
I had this problem, after install Proxmox 6.2 on non-UEFI BIOS (motherboard GA-PH67A-D3-B3).
I think that this problem arises because, installation do not create /etc/kernel/cmdline.

i solved:
1. On start menu GRUB.
Edit grub command line (press 'e' key )
from
initrd=\EFI\proxmox\5.3.18-3-pve\initrd.img-5.3.18-3-pve BOOT_IMAGE=/boot/linux26 ro ramdisk_size=16777216 rw quiet splash=silent
to
initrd=\EFI\proxmox\5.3.18-3-pve\initrd.img-5.3.18-3-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs
2. After system start:
echo root=ZFS=rpool/ROOT/pve-1 boot=zfs > /etc/kernel/cmdline
pve-efiboot-tool refresh

Reboot and enjoy!
 
Last edited:
  • Like
Reactions: Dzery and huwylphi
same issue here with DEll T420 ... no dual boot (on Proxmox Backup Server)
two 450GB SATA disks : zfs raid1 (operating system) and + 3 x 4TB zPool4, 3 x 1TB zPool1
i need to type :
Code:
/sbin/zpool import -N rpool   (root fs)
/sbin/zpool import -N zPool1
/sbin/zpool import -N zPool4

then exit
How can i solve that ?
 
I think it's an installer issue - it did not create the file /etc/kernel/cmdline when installed in BIOS mode and then switched to UEFI.

To get to Proxmox from initramfs rescue shell:
zpool import rpool
mount -t zfs rpool/ROOT/pve-1 /root
exit

Then do what @xwiser72 said:
echo root=ZFS=rpool/ROOT/pve-1 boot=zfs > /etc/kernel/cmdline
pve-efiboot-tool refresh
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!