Ticket #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
Change History
Changed 3 years ago by Thomas Dreibholz
-
attachment
VirtualBox_Minimal-FreeBSD-12.png
added
Changed 3 years ago by Thomas Dreibholz
-
attachment
Minimal-FreeBSD-12.1.config
added
Output of "vboxmanage showvminfo -machinereadable" for the VM
comment:1 Changed 3 years ago by kiokoman
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 Changed 3 years ago by Thomas Dreibholz
This FreeBSD EFI boot issue may be the same as for the latest Ubuntu beta: https://www.virtualbox.org/ticket/19967 .
comment:3 Changed 3 years ago by Thomas Dreibholz
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:4 Changed 3 years ago by Thomas Dreibholz
The issue still exists in the latest VirtualBox 6.1.16.
comment:5 Changed 3 years ago by Thomas Dreibholz
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).
Changed 3 years ago by Thomas Dreibholz
-
attachment
Minimal-FreeBSD-12.2.vbox
added
FreeBSD 12.2 VM configuration
comment:6 Changed 3 years ago by Andrew 1717
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 Changed 2 years ago by martinw
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.
Changed 2 years ago by martinw
-
attachment
vbox-el-torito-boot-fix.patch
added
Patch that fixes this bug for me
comment:8 Changed 2 years ago by Thomas Dreibholz
The EFI boot issue is still occurring in the latest VirtualBox 6.1.18.
Changed 2 years ago by Thomas Dreibholz
-
attachment
Minimal-FreeBSD-12.2.2.vbox
added
VBOX file from VirtualBox 6.1.18
Changed 2 years ago by Thomas Dreibholz
-
attachment
VBox.3.log
added
VBox log file for VirtualBox 6.1.18
comment:9 Changed 2 years ago by grahamperrin
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 Changed 2 years ago by Thomas Dreibholz
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.
Changed 2 years ago by Thomas Dreibholz
-
attachment
VBox.4.log
added
Log file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO
Changed 2 years ago by Thomas Dreibholz
-
attachment
NorNet-FreeBSD-12.1.vbox
added
VBox file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO
comment:11 Changed 2 years ago by Thomas Dreibholz
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:12 Changed 2 years ago by grahamperrin
Cc: grahamperrin
comment:13 Changed 2 years ago by grahamperrin
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 Changed 2 years ago by Thomas Dreibholz
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 Changed 2 years ago by Thomas Dreibholz
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 Changed 2 years ago by martinw
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:17 Changed 19 months ago by Thomas Dreibholz
The problem still exists in VirtualBox 6.1.26.
comment:18 Changed 18 months ago by Thomas Dreibholz
The problem still exists in VirtualBox 6.1.30.
comment:19 Changed 17 months ago by Thomas Dreibholz
Version 6.1.32 does not work as well. If Oracle is interested, I could upload the logs again.
comment:20 Changed 17 months ago by martinw
If Oracle were interested, they could look at the patch I attached 13 months ago.
comment:21 Changed 16 months ago by aeichner
- Summary changed from VirtualBox 6.1.14 fails to boot FreeBSD 12.1 install ISO in EFI mode to 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:22 Changed 16 months ago by LucasRizzini
Same here with ArchLinux Iso.
Virtual box 6.1.32 r149290
comment:23 Changed 14 months ago by galitsyn
- Status changed from new to closed
- Resolution set to fixed
The issue should be fixed in VirtualBox 6.1.34. Closing.
comment:24 Changed 13 months ago by Ryan@…
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