Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

how to load BCD menu in UEFI mode

- - - - -

  • Please log in to reply
9 replies to this topic

#1
richard

richard

    Newbie

  • Member
  • 20 posts
  • Joined 08-October 11
  • OS:none specified
  • Country: Country Flag
hi there,
as i know in legacy BIOS, pxelinux.0 would load bootmgr.exe and BCD, and then bootmgr.exe read BCD so that we can select different OS to install.
But how to do similar work in UEFI mode? i tried bootx64.efi, but it seems would not auto load bootmgr.efi and BCD as legacy BIOS, anybody could help? thanks in advance!


How to remove advertisement from MSFN

#2
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,958 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

AFAIK, there are no PXE Boot ROMs that support a UEFI boot action. You can only do a UEFI boot from HDD, USB (sometimes) or ODD.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
tpxmsfn1_zps393339c1.jpg

#3
richard

richard

    Newbie

  • Member
  • 20 posts
  • Joined 08-October 11
  • OS:none specified
  • Country: Country Flag
i don't think so. i have set up a RHEL 6.1 server and config UEFI PXE boot, now my client machine could boot from a NIC which support UEFI PXE. My question is how to load windows set up menu like legacy BIOS to load BCD.

#4
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,958 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

Even Server 2008 R2 is capable of accepting a UEFI (Itanium EFI) PXE boot, but no hardware supports it. What hardware are you using that has a UEFI Boot Rom on it? I'd like to know because the lack of such hardware is holding back a couple of my projects.

Edited by Tripredacus, 25 July 2012 - 09:04 AM.
fixed error

MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
tpxmsfn1_zps393339c1.jpg

#5
richard

richard

    Newbie

  • Member
  • 20 posts
  • Joined 08-October 11
  • OS:none specified
  • Country: Country Flag
i used Intel CT Desktop NIC, but this NIC only support PXE by default, you need to flash its rom to support EFI + PXE using bootutil. you can find more info in intel's website

#6
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,958 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

I have that NIC and we did that testing already. Yes it enables the UEFI boot but it still reports an arch of 6 (EFI IA32) which isn't the correct value to for a true UEFI PXE boot. For example, during this testing, I had built a boot image capable of installing Windows to a GPT Disc. This same boot image works as expected from a UEFI boot CD. But even with using both the flashed CT (we also did the GT card also) it still actually did a BIOS based PXE boot. The consequence was that the OS installed properly but a BIOS booted WinPE cannot write the boot-sector to a UEFI enabled disk. We had gone through Quad for this issue as well and Intel had told us they did not currently have any product available that was capable of the proper UEFI PXE boot for this purpose, and to expect it in the next wave (7 series) products.

However, during our testing, we ended up getting the "normal" BIOS type response from the PXE server. So our regular WDS boot menu worked as normal. I am not sure if we tried booting to the Linux server to see if it had worked or not.

I have a topic in the Hardware Hangout when i was working on that project you can check out.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
tpxmsfn1_zps393339c1.jpg

#7
patters

patters

    Newbie

  • Member
  • 36 posts
  • Joined 18-March 04
VMware ESXi 5.0 offers EFI firmware support, including PXE. I've been looking at this just recently because I want to make sure all servers built from now on are legacy free. The EFI firmware correctly IDs itself from what I can see, because I can see from the WDS events that it does successfully TFTP download the file boot\x64\Bootmgfw.efi
However, it crashes and powers off the VM when it is executed, even though I'm on the latest ESXi (5.0U1). I followed the tips here:
http://support.micro....com/kb/2012858

I have been able to work around this for now using a WinPE ISO image with EFI support, while VMware support look into the issue for me. To do this I updated my unified Windows PE build script to support EFI. This single batch script will build x86 and/or x64 versions, will ingest drivers, supports wifi, builds ISOs, and will automatically freshen the WDS boot images when complete. It does not use any third party tools - only Microsoft's WAIK:
http://pcloadletter....g-wifi-support/

Edited by patters, 10 April 2012 - 05:41 PM.


#8
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,958 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

I am reading that WinPE 4.0 has better EFI support than 3.0... also that hardware with UEFI 2.3.1 should have the PXE support, but figuring out what spec boards use for UEFI is pretty difficult.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
tpxmsfn1_zps393339c1.jpg

#9
patters

patters

    Newbie

  • Member
  • 36 posts
  • Joined 18-March 04
I forgot all about my earlier post in this thread. I did get VMware EFI PXE booting with WDS working. Here's an update which may help someone.

VMware Support's testing made clear to me that the EFI PXE bootrom in vSphere 5.0 does definitely work, so I went back to my WDS server in more detail.

The Microsoft KB (http://support.micro....com/kb/2012858) which comes up while researching this issue is a bit misleading. It suggested that in case of problems, an EFI PXE client should be hard-configured in WDS/DHCP to boot the boot loader boot\x64\Bootmgfw.efi

In my infrastructure the WDS server is also a DHCP server. There are several workarounds for this since port 67 is used for both services. The first Microsoft-recommended method is to tick the boxes in the screenshot below:
Attached File  Clipboard01.png   77.8KB   11 downloads

The downside of this method is that if DHCP option 60 is configured, Windows puts this in for *all* DHCP scopes on the server. With DHCP option 60, DHCP option 67 (Boot File Name) is ignored. This is not ideal because you may need to have different PXE settings for different subnets, say if you had Linux clients, or wanted to use VMware Auto-Deploy for instance.

So, until now in my environment I had ticked the "Do not use port 67" option in that screenshot, but *not* the DHCP option 60. When this is the case, you need to define DHCP option 67 (Boot File Name). This had been set to boot\x86\wdsnbp.com so as to list all boot images on the WDS server as appropriate for both x86 and x64 clients. It worked fine like this for several years. When I was initially testing EFI PXE I consulted Microsoft KB2012858 and saw that I needed the loader boot\x64\bootmgfw.efi instead. But setting it to point to that file was crashing the VM.

It transpires that the *only* way to get EFI PXE working with WDS when that same server is also a DHCP server is in fact to use the DHCP option 60 in that screenshot. I haven't carried out a packet trace, but I can see from the WDS logs that it's a whole lot more complex than just handing the PXE client the bootmgfw.efi loader. What it seems actually happens is that a temporary BCD boot menu is built on the WDS server (the client downloaded \Tmp\x64{25986027-7DF6-4A64-8133-BCE5DCCF5542}.bcd) and the whole thing behaves just like Windows Vista/7/2008's own proper boot loader, with Boot.sdi, and the various fonts being downloaded individually too. Perhaps there's dynamically generated stuff being sent to the client. If it isn't done exactly in the prescribed way, it fails.

So really I think this ought to be made clearer in that Microsoft KB.

Edited by patters, 05 September 2012 - 06:15 PM.


#10
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,958 posts
  • Joined 28-April 06
  • OS:Server 2012
  • Country: Country Flag

Donator

I was able to "kinda" get a physical PC to boot into EFI mode... but by forcing all default boot options to use that EFI rom, which results in client lockup. Here are the main problems... the EFI support in Server 2008 R2 (and earlier) is actually the Itanium-based EFI, not exactly the same as the current UEFI spec.

So Server 2008 R2 can detect clients with either:
-x86
-amd64
-ia64 (efi)

But, Server 2012 can detect these (note that Itanium support is removed)
-x86
-amd64
-x86x64
-arm
-uefi x86
-uefi x64

Note that any client that supports x64 PXE will be detected on Server 2012 as both x86 and x86x64 and may generate an error in Event Viewer.

I am not surprised that you can do an EFI PXE Boot using a VM, but then again it is using the legacy Itanium EFI profile.

Take a look at these I have posted after much (much) testing:
http://www.msfn.org/...ost__p__1000176
http://www.msfn.org/...server-2012-rc/
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
tpxmsfn1_zps393339c1.jpg




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users