#19910 closed defect (fixed)
VirtualBox 6.1.14 fails to boot FreeBSD 12.1 install ISO in EFI mode => fixed in SVN/next maintenance
Reported by: | Thomas Dreibholz | Owned by: | |
---|---|---|---|
Component: | EFI | Version: | VirtualBox 6.1.14 |
Keywords: | Cc: | ||
Guest type: | BSD | Host type: | Linux |
Description
VirtualBox 6.1.14 fails to boot FreeBSD 12.1 install ISO in EFI mode. I am trying VirtualBox 6.1.14 from virtualbox.org. However, with 6.1.10 provided by Ubuntu 20.04, I was able to boot the ISO in EFI mode.
Attachments (10)
Change History (34)
by , 4 years ago
Attachment: | VirtualBox_Minimal-FreeBSD-12.png added |
---|
by , 4 years ago
Attachment: | Minimal-FreeBSD-12.1.config added |
---|
Output of "vboxmanage showvminfo -machinereadable" for the VM
comment:1 by , 4 years ago
same problem here, same configuration, NEW machine created with virtual box 6.1.14 does not boot, with an iso from FreeBSD I'm stuck at efi shell. OLD machines created with a previous version are still working
comment:2 by , 4 years ago
This FreeBSD EFI boot issue may be the same as for the latest Ubuntu beta: https://www.virtualbox.org/ticket/19967 .
comment:3 by , 4 years ago
Trying to boot the same FreeBSD-12.1 ISO with an older VirtualBox 6.1.10-dfsg (as provided by the Ubuntu 20.04 repositories) succeeds. It seems that there has been an EFI booting bug introduced with a VirtualBox version after 6.1.10.
comment:5 by , 4 years ago
The issue is still reproducible, using VirtualBox 6.1.16 (from the VirtualBox repository) under Ubuntu 20.04 with the FreeBSD 12.2 ISO (https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-disc1.iso).
comment:6 by , 4 years ago
I can confirm Thomas's observations. Comparing the log from booting the same FreeBSD 12.1 VM under 6.1.12 vs. 6.1.16, I see an extra EFI module is loaded:
EFI: VBoxDbg> loadimage64 'R:/tinderbox/efi2-6.1/out/win.amd64/release/obj/VBoxEfiFirmware/amd64/RELEASE_VS2010/X64/VBoxPkg/VBoxFsDxe/VBoxIso9660/DEBUG/VBoxIso9600.efi' 0xbee7a000 LB 0x5680
As Thomas also noticed, the issue probably came with the fix of https://www.virtualbox.org/ticket/19682.
comment:7 by , 4 years ago
This is not specific to the FreeBSD ISO - it affects any ISO that uses an El Torito boot record to boot in EFI mode and that doesn't include a fallback bootloader in /EFI/BOOT in the iso9660 filesystem. I am seeing the same issue when testing the Mageia ISOs.
I have fixed this on my system with the following patch (largely based on the code in Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c). This causes the firmware to only load the iso9660 filesystem if it doesn't find an El Torito EFI boot record.
comment:9 by , 4 years ago
Maybe a factor, for some of who are attempting to boot from a FreeBSD 12.2 ISO – and please note, this bug is not limited to virtual machines:
If a patched (or fixed) VirtualBox host can not boot a 12.2 ISO, then please try one from the 12.1 area:
Thank you
comment:10 by , 4 years ago
VirtualBox 6.1.18 also cannot boot a FreeBSD 12.1 in EFI mode. However, the old VirtualBox 6.1.10 from the Ubuntu 20.04 repository was able to boot this ISO some time ago. So, I assume this is a bug of VirtualBox.
by , 4 years ago
Attachment: | VBox.4.log added |
---|
Log file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO
by , 4 years ago
Attachment: | NorNet-FreeBSD-12.1.vbox added |
---|
VBox file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO
comment:11 by , 4 years ago
And, for testing, I also tried the current 13.0-BETA2 ISO. It fails to boot with EFI as well.
That is, I tried the following ISOs:
- https://download.freebsd.org/ftp/releases/ISO-IMAGES/13.0/FreeBSD-13.0-BETA2-amd64-disc1.iso
- https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-disc1.iso
- https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-disc1.iso
All fail to boot with EFI.
comment:13 by , 4 years ago
As a workaround, try:
- at the UEFI shell prompt
exit
- ignore the boot manager
- boot maintenance manager
- boot from file
- browse the file system of the ISO until you find (for example)
bootx64.efi
- select the required file then key Return or Enter.
comment:14 by , 4 years ago
The work-around successfully boots a FreeBSD-13.0-RC3 ISO as well.
But the actual issue remains: VirtualBox 6.1.18 cannot directly boot a FreeBSD ISO in EFI mode. It worked fine with VirtualBox 6.1.10. Since the bug is there since around 7 months now, is Oracle going to provide a fix at any time soon?
comment:15 by , 3 years ago
The bug is still there, in the latest VirtualBox 6.1.20 with the current FreeBSD-13.0-RELEASE ISO.
Note, that the work-around above makes VirtualBox boot from the ISO, but a FreeBSD 13.0-RELEASE installed from the ISO to the virtual HDD does not boot after installation.
comment:16 by , 3 years ago
As noted in comment 6, this is a regression caused by the fix to https://www.virtualbox.org/ticket/19682.
How can we encourage a VirtualBox developer to look at the fix I suggested (patch attached 4 months ago)?
comment:19 by , 3 years ago
Version 6.1.32 does not work as well. If Oracle is interested, I could upload the logs again.
comment:20 by , 3 years ago
If Oracle were interested, they could look at the patch I attached 13 months ago.
comment:21 by , 3 years ago
Summary: | VirtualBox 6.1.14 fails to boot FreeBSD 12.1 install ISO in EFI mode → VirtualBox 6.1.14 fails to boot FreeBSD 12.1 install ISO in EFI mode => fixed in SVN/next maintenance |
---|
Sorry that it took so long to work on this, but there were numerous other things to do. Anyway, this will be fixed in the next maintenance release. We decided to throw out ISO9660 support again as it is not mandated by the UEFI spec (only UDF is) and who knows which corner cases still wouldn't work if we apply the patch.
comment:23 by , 2 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The issue should be fixed in VirtualBox 6.1.34. Closing.
comment:24 by , 2 years ago
6.1.34 broke all of our use-case (testing bootable images). We use VISO files to map the folder and they boot fine in past versions, but we just get stuck in the EFI shell now with 6.1.34. Downgrading back to 6.1.32 and things work again.
We don't particularly need CD-ROM or ISO support, as our main product being tested is distributed as a zip file, which users just unzip onto a FAT32 USB drive and boot from with UEFI. But using VISO files is the quickest way to test an unzipped folder in the past.
Screenshot of boot issue