VirtualBox

Ticket #7702 (new enhancement)

Opened 5 years ago

Last modified 5 months ago

UEFI support for Windows guests

Reported by: Eagle Owned by:
Priority: major Component: EFI
Version: VirtualBox 3.2.10 Keywords: UEFI
Cc: Guest type: Windows
Host type: other

Description

VirtualBox currently does not support booting of Windows guests using UEFI firmware. UEFI is required for booting drives larger than 2 TB (recently introduced by WD).

Change History

comment:1 Changed 5 years ago by Technologov

AFAIK the only thing lacking here is VirtualBox's EFI support module for UDF -- the new CD filesystem.

-Technologov

comment:2 Changed 4 years ago by frank

  • Component changed from other to EFI

comment:3 Changed 4 years ago by tyrelh

This would be really nice to have now for Windows 8 as well to make its faster booting capabilities, well, faster.

comment:4 Changed 3 years ago by d3vi1

Nope. It's not UDF. The Windows ISO has the bootmgfw.efi file in the El-Torrito image which Tiano Core can read. The bootmgfw.efi file understands UDF/iso9660. If you want to test, make your own FAT32 USB stick by copying all the files from the DVD and add bootmgfw.efi to /EFI/boot/boox64.efi and /EFI/Microsoft/Boot/bootmgfw.efi on the USB Stick. Windows 7 doesn't work because it requires a VGA Option ROM to be POST-ed (yes, Windows wants a BIOS component, the int10h in a BIOS-less firmware) and a GOP/UGA driver that also supports 1024x768 and 800x600 next to the native resolutions for the wavy flag part (before the accelerated graphics driver is used).

comment:5 Changed 2 years ago by coderforlife

I know this is an old ticket, but it still hasn't been addressed. According to d3vi1 the problem is because Windows requires VGA video (from PCAT BIOS) in addition to GOP/UGA (from [U]EFI). Since VGA video is already implemented in VirtualBox (when using BIOS) and UEFI already supports multiple video systems (GOP and UGA), wouldn't it be easy (for someone with knowledge about them) to simply allow VGA to be accessed while in EFI?

If desired, to make it so this unofficial "addition" to EFI is not always on, it could be selectable if it is available or not (like changing between GOP and UGA is right now, but this would be in addition to those and not one or the other).

If this will never be implemented, is it possible to circumvent this using techniques outlined in  http://forums.macrumors.com/showthread.php?t=696523&page=16 (basically, creating the memory dumps of the VGA bios code and then loading it before the OS loads). If so, I section should be added to the help manual. Even better if it could be made automatic in VirtualBox (basically, a pseudo-VGA system).

comment:6 Changed 2 years ago by coderforlife

I can confirm that UDF is a problem as well. Without UDF support you cannot read the DVD. Moving to a USB flash drive and a raw VMDK at least lets you access the files (which is a bit of a ridiculous workaround, but works just fine). However, now the cdboot.efi does not work (crashes with no messages - except for "Press any key to boot from CD or DVD..."). So will try those int10.bin/vbios.bin workarounds to get installed.

comment:7 Changed 16 months ago by coderforlife

I have ruled out the VGA problem as the only problem. It may still be a problem, but if I put a fake INT 10h handler in (and have verified other EFI programs can use it) the bootmgr.efi crashes before ever triggering that interrupt.

According to "Hachiman" the problem is:

That happens because WinX loader can't build right page table basing on Memory map provided by Vbox/EFI. We're in working on this and hope soon we'll able to make you happy with Windows UEFI guests. ( https://forums.virtualbox.org/viewtopic.php?f=3&t=25547#p114765)

He promised they were fixing it soon, in 2009. My guess is it will never be fixed at this point.

comment:8 Changed 16 months ago by frank

Windows UEFI support will come eventually but I cannot provide any ETA, sorry.

comment:9 Changed 14 months ago by RushPL

Are there any workarounds for this issue? I already have Windows 7 installed natively with UEFI but what I would like to do is boot it from a Linux host using the physical partition. Somebody on the forums said that it is possible but requires some deep knowledge of UEFI ...

comment:10 Changed 14 months ago by coderforlife

You can use DUET to emulate a UEFI system on top of the VirtualBox BIOS and then use a UEFI Windows. See  http://www.rodsbooks.com/bios2uefi/. I have successfully done this (although it wasn't the easiest thing) and the one bad thing is that the boot is SLOW, but once booted, everything is regular speed.

comment:11 Changed 8 months ago by frank

VBox 4.3.20 is now able to boot Windows 8.1 in UEFI mode. Certain features are not supported but normal installations work.

comment:12 Changed 8 months ago by coderforlife

Any news on Windows 7? I know that its UEFI is bad in that it does require the BIOS graphics during boot even if not supposed to be available in true UEFI systems while Windows 8 does it properly.

comment:13 Changed 8 months ago by frank

Windows 7 guests depend on proper int10 support and are not supported. We might change this eventually but this has low priority.

comment:14 Changed 5 months ago by frank

Deleted the last inappropriate comment.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use