VirtualBox

Opened 3 years ago

Closed 23 months ago

Last modified 22 months ago

#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)

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

Download all attachments as: .zip

Change History (34)

by Thomas Dreibholz, 3 years ago

Screenshot of boot issue

by Thomas Dreibholz, 3 years ago

Attachment: Minimal-FreeBSD-12.1.config added

Output of "vboxmanage showvminfo -machinereadable" for the VM

by Thomas Dreibholz, 3 years ago

Attachment: VBox.log added

VBox.log

comment:1 by kiokoman, 3 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 Thomas Dreibholz, 3 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 Thomas Dreibholz, 3 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:4 by Thomas Dreibholz, 3 years ago

The issue still exists in the latest VirtualBox 6.1.16.

comment:5 by Thomas Dreibholz, 3 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).

by Thomas Dreibholz, 3 years ago

Attachment: Minimal-FreeBSD-12.2.vbox added

FreeBSD 12.2 VM configuration

by Thomas Dreibholz, 3 years ago

Attachment: VBox.2.log added

FreeBSD 12.2 VM log file

comment:6 by Andrew 1717, 3 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 Martin Whitaker, 3 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.

by Martin Whitaker, 3 years ago

Patch that fixes this bug for me

comment:8 by Thomas Dreibholz, 3 years ago

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

by Thomas Dreibholz, 3 years ago

Attachment: Minimal-FreeBSD-12.2.2.vbox added

VBOX file from VirtualBox 6.1.18

by Thomas Dreibholz, 3 years ago

Attachment: VBox.3.log added

VBox log file for VirtualBox 6.1.18

comment:9 by Graham Perrin, 3 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

Last edited 3 years ago by Graham Perrin (previous) (diff)

comment:10 by Thomas Dreibholz, 3 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 Thomas Dreibholz, 3 years ago

Attachment: VBox.4.log added

Log file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO

by Thomas Dreibholz, 3 years ago

Attachment: NorNet-FreeBSD-12.1.vbox added

VBox file of VirtualBox 6.1.18 failing to boot FreeBSD 12.1 ISO

comment:12 by Graham Perrin, 3 years ago

Cc: grahamperrin

comment:13 by Graham Perrin, 3 years ago

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 by Thomas Dreibholz, 3 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 Thomas Dreibholz, 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 Martin Whitaker, 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:17 by Thomas Dreibholz, 2 years ago

The problem still exists in VirtualBox 6.1.26.

comment:18 by Thomas Dreibholz, 2 years ago

The problem still exists in VirtualBox 6.1.30.

comment:19 by Thomas Dreibholz, 2 years ago

Version 6.1.32 does not work as well. If Oracle is interested, I could upload the logs again.

comment:20 by Martin Whitaker, 2 years ago

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

comment:21 by aeichner, 2 years ago

Summary: VirtualBox 6.1.14 fails to boot FreeBSD 12.1 install ISO in EFI modeVirtualBox 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 by LucasRizzini, 2 years ago

Same here with ArchLinux Iso.

Virtual box 6.1.32 r149290

Last edited 2 years ago by LucasRizzini (previous) (diff)

comment:23 by galitsyn, 23 months ago

Resolution: fixed
Status: newclosed

The issue should be fixed in VirtualBox 6.1.34. Closing.

comment:24 by Ryan@…, 22 months 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.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use