Can't EFI-boot a VDI from usb-controller? (EFI 'map' output doesn't "see" USB-VDI)

This is for discussing general topics about how to use VirtualBox.
Post Reply
jasonbuechler
Posts: 1
Joined: 26. Mar 2018, 23:51

Can't EFI-boot a VDI from usb-controller? (EFI 'map' output doesn't "see" USB-VDI)

Post by jasonbuechler »

To summarize: I successfully installed a uefi-booting OS to a VDI which was hung as a usb-controller-hdd, but cannot boot from it.
...unless I hang it as a sata-controller-hdd instead. In which case, it boots perfectly.
(Why do I care? I wanted to document the FreeNAS install process as authentically as possible, including device nomenclature.)

Can someone tell me either what I'm doing wrong, or show me some kinda detailed documentation about how this isn't supported?? THANKS!

Maybe this is well known and I'm the millionth guy to ask about it -- in which case, I apologize! I did try to do a decent amount of searching/researching but didn't find anything that stuck out as incredibly helpful due to the extremely general terms that comprise the issue. I did find virtualbox ticket #2935 (I can't post URLs yet) ...in which, 16 months ago, "Frank" said: "Booting from USB should be possible with VBox 5.1.x when using the EFI boot mechanism (enable EFI in the VM settings)."
This sounds like it applies to physical USBs though, and perhaps not USB-controller-based disk images???

What I done did:
  1. I created a 64-bit BSD virtual machine with an IDE-cdrom and a vdi as hdd-on-a-USB-controller (live-usb.vdi)
  2. I booted up the latest FreeNAS installer iso-image as the cdrom
  3. I installed FreeNAS onto the "usb drive" (/dev/da0) without any issue (as a uefi booter)
  4. Shutdown, remove cdrom, start machine: FAILURE. Fails-over to EFI shell without any mapping.
  5. Double-checked that live-usb.vdi was GPT disk with FAT16 partition0, with \EFI\BOOT\BOOTX64.EFI present
  6. I duplicated the live-usb.vdi, to new live-sata.vdi
  7. Shutdown, remove usb-controller, release/remove live-usb.vdi...
  8. Add sata-controller hdd: live-sata.vdi, start machine: SUCCESS.
Attachments
2018-03-26 15_30_49-UIMachineViewNormalClassWindow.png
2018-03-26 15_30_49-UIMachineViewNormalClassWindow.png (52.62 KiB) Viewed 2758 times
2018-03-26 15_28_24-arg [Running] - Oracle VM VirtualBox.png
2018-03-26 15_28_24-arg [Running] - Oracle VM VirtualBox.png (64.98 KiB) Viewed 2758 times
2018-03-26 15_27_52-arg - Settings.png
2018-03-26 15_27_52-arg - Settings.png (25.96 KiB) Viewed 2758 times
Last edited by socratis on 10. Apr 2018, 14:46, edited 1 time in total.
Reason: Added missing URL.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Can't EFI-boot a VDI from usb-controller? (EFI 'map' output doesn't "see" USB-VDI)

Post by socratis »

jasonbuechler wrote:"Booting from USB should be possible with VBox 5.1.x when using the EFI boot mechanism (enable EFI in the VM settings)."
This sounds like it applies to physical USBs though, and perhaps not USB-controller-based disk images???
Exactly true. Neither the BIOS nor the EFI implementations allow for a USB controller based disk to boot. Not too much you can do about it, unless you know how to fix/patch the BIOS/EFI implementation in the VirtualBox source.

Oh, BTW, booting from USB means that you have to create a rawdisk access to that USB and boot it like that. More details in the User Manual for starters...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply