Jump to content











Photo
- - - - -

Windows UEFI Boot Questions?


  • Please log in to reply
7 replies to this topic

#1 misty

misty

    Silver Member

  • Developer
  • 703 posts
  •  
    United Kingdom

Posted 14 May 2015 - 07:01 PM

I still don't have any hardware with UEFI firmware and my test environment is still VMWare Player (with firmware="efi" added to the config file)

I've been playing around with several virtual machines for some tests I'm doing - 64-bit versions of Windows Vista (SP1), Windows 7 (SP1) and Windows 8.1 installed in native UEFI mode. So what do the following files (on the EFI System Partition) actually do?
  • \EFI\Microsoft\boot\bootmgfw.efi
  • \EFI\Microsoft\boot\bootmgr.efi
On the Windows 7 and Windows 8.1 systems I was able to delete them without any obvious consequences - both operating systems booted fine.

On the Windows Vista system I was able to boot without bootmgr.efi - it wouldn't boot without bootmgfw.efi though. Interestingly the Vista install did not actually appear to have a firmware boot loader at all - there was no \EFI\boot\bootx64.efi file. VMWare Player appears to boot the Vista installation via the Windows Boot Manager option in the UEFI Boot Manager menu (accessible by pressing the Esc key during power up - I added bios.bootDelay="5000" to the config file so that I actually had enough time to press it!!!)

I don't really get many aspects of this UEFI!

A simplified explanation of the Windows UEFI boot process would be really helpful. There are various discussions out there that imply that bootmgfw.efi is part of the process - didn't seem to be on two out of my three test systems! Or is it perhaps somehow required for hibernate to work properly?

Regards,

Misty

#2 IAmTheTrueMeaningOfCovfefe

IAmTheTrueMeaningOfCovfefe

    Silver Member

  • Advanced user
  • 560 posts
  • Location:In hiding
  • Interests:An investigation is underway to determine whether Trump has any ties to America.
  •  
    United States

Posted 14 May 2015 - 11:23 PM

I'm not sure, but I think that your 7 and 8.1 OSes probably were able to boot because a /EFI/Boot/bootx64.efi file must have been present, in spite of bootmgr.efi and bootmgfw.efi being deleted/missing.



#3 cdob

cdob

    Gold Member

  • Expert
  • 1344 posts

Posted 15 May 2015 - 06:59 AM

So what do the following files (on the EFI System Partition) actually do?

  • \EFI\Microsoft\boot\bootmgfw.efi
  • \EFI\Microsoft\boot\bootmgr.efi

file sizes matches: \EFI\Microsoft\boot\bootmgfw.efi and \BOOT\bootx64.efi - I assume a file copy.

The files are at %SystemRoot%\boot\efi\ too.

Setup seems to copy %SystemRoot%\boot\efi\ to EFI System Partition.

And adjust the relating boot environment:
local hard disk: copy \EFI\Microsoft\boot\bootmgfw.efi to \boot\bootx64.efi
 

On the Windows Vista system I was able to boot without bootmgr.efi - it wouldn't boot without bootmgfw.efi though. Interestingly the Vista install did not actually appear to have a firmware boot loader at all - there was no \EFI\boot\bootx64.efi file.


UEFI boot settings are stored at NVRAM. Hence stored at the motherboard.
http://www.easyuefi.com/index-us.html
The NVRAM 'Windows Boot Manager' entry is linked to \EFI\Microsoft\boot\bootmgfw.efi

You may boot from the hard disk twice:
The NVRAM 'Windows Boot Manager' or UEFI routine \BOOT\bootx64.efi

Vista seems to support NVRAM only, UEFI recommended approach for local disks.
UEFI backup \EFI\boot\bootx64.efi is not used.

Windows 7 adds \EFI\boot\bootx64.efi as a second chance.


At a multi boot environment the NVRAM entries may link to different partitions with differnt \EFI\Microsoft\boot\bootmgfw.efi.


bootmgr.efi seems to relate to PXE boot
http://reboot.pro/to...fi/#entry181370

Edited by cdob, 15 May 2015 - 07:48 AM.


#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13752 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 15 May 2015 - 08:36 AM

And, just in case:

http://homepage.ntlw...ot-process.html

http://homepage.ntlw...ot-process.html

 

Remember that the good MS guys can throw a 7 any time ;):

http://homepage.ntlw...t-monopoly.html

 

:duff:

Wonko



#5 misty

misty

    Silver Member

  • Developer
  • 703 posts
  •  
    United Kingdom

Posted 15 May 2015 - 01:21 PM

Thanks everyone for the responses.

So Windows will automatically add an entry to the UEFI boot manager in NVRAM to create an option for Windows Boot Manager - default path is \EFI\Microsoft\boot\bootmgfw.efi. Hence Windows Vista booting fine without the existence of \EFI\boot\bootx64.efi on the EFI System Partition.

And based on the articles Wonko kindly linked to :thumbsup: it looks like Microsoft tries to surpress the display of the UEFI boot menu stored in NVRAM by only displaying it for 2 seconds before loading the Windows Boot Manager (\EFI\Microsoft\boot\bootmgfw.efi), which in turn reads the BCD file and displays any menu options in it. If \EFI\Microsoft\boot\bootmgfw.efi is not present then (on Windows 7 and 8.1) it's likely that \EFI\boot\bootx64.efi will be loaded anyway as this is the default file/path on the EFI System Partition. And as bootx64.efi is anyway a renamed bootmgfw.efi it serves the same function - loading the BCD store, etc.

And UEFI is replacing BIOS :frusty: - to be fair I can see some advantages - lets hope that there's some consistency applied by vendors :play_ball:
 

So what do the following files (on the EFI System Partition) actually do?

  • \EFI\Microsoft\boot\bootmgfw.efi
  • \EFI\Microsoft\boot\bootmgr.efi
file sizes matches: \EFI\Microsoft\boot\bootmgfw.efi and \BOOT\bootx64.efi - I assume a file copy.

Checked using a hex editor just to be sure - TinyHexer reports that these files are identical on each system - i.e. The files \EFI\Microsoft\boot\bootmgfw.efi and \BOOT\bootx64.efi on the Windows 8.1 system are identical to each other.

Regards,

Misty

#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13752 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 15 May 2015 - 06:50 PM

And UEFI is replacing BIOS :frusty: - to be fair I can see some advantages - lets hope that there's some consistency applied by vendors :play_ball:
 

You must be kidding :w00t: (or you are living in a much more logical world :) than the real one :( ), JFYI (as a side note):

http://reboot.pro/to...ticks/?p=187728

 

The whole point with UEFI (besides the intentional botching or misusing by the good MS guys, by the good Linux guys and practically by anyone else) is the actual SIZE of the specifications, noone on earth can make anything fully compliant with more than 2000 (two thousand) pages of (sometimes "vague" or prone to different interpretation) specifications.

To be exact, it was 2180 (twothousandsonehundredandeighty :ph34r:) pages last time I checked :frusty::

http://www.msfn.org/...d/#entry1043628

 

:duff:

Wonko



#7 genetix

genetix

    Frequent Member

  • Advanced user
  • 132 posts
  •  
    Finland

Posted 26 March 2017 - 02:46 PM

If I were you and needed to understand (U)EFI.

1. I'd start by trying VMWare (version 12.x and above) and try the EFI Shell / Tools one by one (to get ground understanding of what there is).

 

However, currently situation seems to be that original shell tools supports way better functionality than something like 'Grub 2' or Clover, even arch linux shell (and so forth) for example you can use memmap and/or native support to iso9660 support 'hint: easier with grub 2 again insmod filesystems -> load kernel.efi and initrd'.

 

Testing myself personally has made very clear actually that EFI is pain the rear.

 

It's an OEM way to block users doing things not an "helpful fast new system" as they tend to tell us. Specially while some systems just doesn't boot even with bootmgr.efi and you actually need bootmgrfw.efi to get and restore the image at "UEFI setup'BIOS w/e you like to call it". In fact EFI is way less capable in most ways and in child shoes compared to BIOS and is missing a lot since no one gives a damn about it.

 

Yes, it can and has to directly load drivers before actual OS is loaded and is capable of anything regular OS is almost, but I see it as a huge security risk to anyone using it as you could load and send thru network anything you like below operating system and user/anyone wouldn't know a thing about it.



#8 wanker_the_insane

wanker_the_insane
  • Members
  • 4 posts
  •  
    United Kingdom

Posted 29 March 2017 - 12:35 PM

My favorite thing about UEFI is it can be disabled along with Secure Boot allowing dual booting of legacy or non-M$ OS's which means the aforementioned files do ... sit in the trash.


Edited by wanker_the_insane, 29 March 2017 - 12:39 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users