Hello!
I imported a VMWare ESXi VM via ovftool and qm importovf. The VM is setup using UEFI, GPT disk scheme, ESP and so on.
When trying to start the VM I got a message saying that it tried booting from hard disk. Then I changed the firmware to UEFI. It seems like qm-importovf did not recognize the VM as UEFI. However.
I changed to UEFI and got the message that I needed a UEFI disk. Being new to PVE, I was confused and first tried to verify that my disk image had an ESP (which it has). Only after some websearch I found out that the EFI disk is needed to store the EFI vars.
Well, after creating the EFI disk it still didn't boot. Of course not. The EFI disk lacked the necessary boot entries. I decided to boot a Ubuntu live ISO and set them manually. Which doesn't survive reboots. I losetup the EFI disk device and dd if=<…> | hexdump -C | less it. Only after a second attempt I could find in the hexdump the entries I created. I want to emphasize, the VM disk was accessible from Ubuntu.
But still, booting didn't work. I booted into the internal UEFI shell.
My mapping table consists of two entries blk0 and blk1 which are aliases respectively to an ATA and an SCSI device. But I cannot mount anything there. I tried map blk0 aaa but I only get the error message that aaa was an invalid argument.
I cannot rule out that grub installed itself into what it expected to be the MBR but at least VMWare's UEFI implementation didn't had any problems booting this image. And the first few sectors look unsuspiciously.
So, any hints?
Bests,
MasinAD
I imported a VMWare ESXi VM via ovftool and qm importovf. The VM is setup using UEFI, GPT disk scheme, ESP and so on.
When trying to start the VM I got a message saying that it tried booting from hard disk. Then I changed the firmware to UEFI. It seems like qm-importovf did not recognize the VM as UEFI. However.
I changed to UEFI and got the message that I needed a UEFI disk. Being new to PVE, I was confused and first tried to verify that my disk image had an ESP (which it has). Only after some websearch I found out that the EFI disk is needed to store the EFI vars.
Well, after creating the EFI disk it still didn't boot. Of course not. The EFI disk lacked the necessary boot entries. I decided to boot a Ubuntu live ISO and set them manually. Which doesn't survive reboots. I losetup the EFI disk device and dd if=<…> | hexdump -C | less it. Only after a second attempt I could find in the hexdump the entries I created. I want to emphasize, the VM disk was accessible from Ubuntu.
But still, booting didn't work. I booted into the internal UEFI shell.
My mapping table consists of two entries blk0 and blk1 which are aliases respectively to an ATA and an SCSI device. But I cannot mount anything there. I tried map blk0 aaa but I only get the error message that aaa was an invalid argument.
I cannot rule out that grub installed itself into what it expected to be the MBR but at least VMWare's UEFI implementation didn't had any problems booting this image. And the first few sectors look unsuspiciously.
Code:
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001c0 01 00 ee fe ff ff 01 00 00 00 ff ff ff 01 00 00 |................|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200 45 46 49 20 50 41 52 54 00 00 01 00 5c 00 00 00 |EFI PART....\...|
So, any hints?
Bests,
MasinAD