VirtualBox

Ticket #19910 (closed defect: fixed)

Opened 20 months ago

Last modified 3 weeks ago

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

VirtualBox_Minimal-FreeBSD-12.png Download (13.4 KB) - added by Thomas Dreibholz 20 months ago.
Screenshot of boot issue
Minimal-FreeBSD-12.1.config Download (3.3 KB) - added by Thomas Dreibholz 20 months ago.
Output of "vboxmanage showvminfo -machinereadable" for the VM
VBox.log Download (173.0 KB) - added by Thomas Dreibholz 20 months ago.
VBox.log
Minimal-FreeBSD-12.2.vbox Download (4.5 KB) - added by Thomas Dreibholz 19 months ago.
FreeBSD 12.2 VM configuration
VBox.2.log Download (174.5 KB) - added by Thomas Dreibholz 19 months ago.
FreeBSD 12.2 VM log file
vbox-el-torito-boot-fix.patch Download (6.5 KB) - added by martinw 17 months ago.
Patch that fixes this bug for me
Minimal-FreeBSD-12.2.2.vbox Download (4.9 KB) - added by Thomas Dreibholz 16 months ago.
VBOX file from VirtualBox 6.1.18
VBox.3.log Download (173.0 KB) - added by Thomas Dreibholz 16 months ago.
VBox log file for VirtualBox 6.1.18
VBox.4.log Download (171.9 KB) - added by Thomas Dreibholz 16 months ago.
Log file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO
NorNet-FreeBSD-12.1.vbox Download (4.9 KB) - added by Thomas Dreibholz 16 months ago.
VBox file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO

Change History

Changed 20 months ago by Thomas Dreibholz

Screenshot of boot issue

Changed 20 months ago by Thomas Dreibholz

Output of "vboxmanage showvminfo -machinereadable" for the VM

Changed 20 months ago by Thomas Dreibholz

VBox.log

comment:1 Changed 20 months 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 20 months 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 20 months 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 20 months ago by Thomas Dreibholz

The issue still exists in the latest VirtualBox 6.1.16.

comment:5 Changed 19 months 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 19 months ago by Thomas Dreibholz

FreeBSD 12.2 VM configuration

Changed 19 months ago by Thomas Dreibholz

FreeBSD 12.2 VM log file

comment:6 Changed 19 months 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 17 months 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 17 months ago by martinw

Patch that fixes this bug for me

comment:8 Changed 16 months ago by Thomas Dreibholz

The EFI boot issue is still occurring in the latest VirtualBox 6.1.18.

Changed 16 months ago by Thomas Dreibholz

VBOX file from VirtualBox 6.1.18

Changed 16 months ago by Thomas Dreibholz

VBox log file for VirtualBox 6.1.18

comment:9 Changed 16 months 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

Last edited 16 months ago by grahamperrin (previous) (diff)

comment:10 Changed 16 months 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 16 months ago by Thomas Dreibholz

Log file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO

Changed 16 months ago by Thomas Dreibholz

VBox file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO

comment:12 Changed 15 months ago by grahamperrin

Cc: grahamperrin

comment:13 Changed 15 months ago by grahamperrin

As a workaround, try:

  1. at the UEFI shell prompt
  2. exit
  3. ignore the boot manager
  4. boot maintenance manager
  5. boot from file
  6. browse the file system of the ISO until you find (for example) bootx64.efi
  7. select the required file then key Return or Enter.

comment:14 Changed 14 months 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 13 months 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 13 months 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 7 months ago by Thomas Dreibholz

The problem still exists in VirtualBox 6.1.26.

comment:18 Changed 6 months ago by Thomas Dreibholz

The problem still exists in VirtualBox 6.1.30.

comment:19 Changed 4 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 4 months ago by martinw

If Oracle were interested, they could look at the patch I attached 13 months ago.

comment:21 Changed 4 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 4 months ago by LucasRizzini

Same here with ArchLinux Iso.

Virtual box 6.1.32 r149290

Last edited 4 months ago by LucasRizzini (previous) (diff)

comment:23 Changed 6 weeks 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 3 weeks 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.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use