SCCM PXE Windows 7 Image - \boot\BCD\ and 0xc000000f error

randy915
randy915 used Ask the Experts™
on
I have SCCM 2007 R3 on Win 2008 R2 SP1 server and built a WIM image using IMAGEX.exe which I use to deploy new servers.  When doing a test deployment on the same subnet as the SCCM+DHCP everything works fine and I boot into OSD without issue.

But when I try a real world scenario where client machines are on a different subnet, I get the infamous:

"Windows failed to start.  A recent hardware or software change might be the cause...."

File:  \Boot\BCD
Status:  0xc000000f




Configuration:
DHCP Server (Win 2008 R2 SP1)
- Scope Option 066 - (SCCM's IP)
- Scope Option 067 - \boot\x64\pxeboot.com

SCCM 2007 R3 w/ MDT 2010 Update 1  Server (Win 2008 R2 SP1)
-Windows Firewall in/outbound opened:  UDP/67,68,69,4011

-HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\BINLSVC\netbootAnswerOnlyValidClients   (String set to False)

-HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\BINLSVC\netbootAnswerRequests   (String set to True)

-HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP\MaximumBlockSize   (DWORD set to 512 decimal)

-HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP\ReadFilter
Set to:
\boot\*
\tmp\*
/boot/*
/tmp/*
boot\*
tmp\*
\SMSBoot\*
\SMSTemp\*
\SMSImages\*

-HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP\RootFolder
C:\RemoteInstall

-Modified the ramdisktftpblocksize to 512 via CMD:
bcdedit /enum all /store C:\RemoteInstall\boot\x64\default.bcd

Windows Boot Manager
--------------------
identifier              {bootmgr}
fontpath                \boot\fonts
inherit                 {dbgsettings}
timeout                 30

Debugger Settings
-----------------
identifier              {dbgsettings}
debugtype               Serial
debugport               1
baudrate                115200

Device options
--------------
identifier              {68d9e51c-a129-4ee1-9725-2ab00a957daf}
ramdisksdidevice        boot
ramdisksdipath          \Boot\Boot.SDI
ramdisktftpblocksize    512
ramdisktftpwindowsize   4

Switch
- IP helper-address set to SCCM's IP


Tested:
- Windows Deployment Services Server (Service) is started and restarted
- Stopped the service, renamed C:\Windows\Temp\PXEBootFiles   to another name, start the service to have it recreate it.
- Deleted and redeployed the computer in SCCM's Computer Management > Collections > (Collection Name)

Any ideas?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
The bug check code you get is:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff560412%28v=vs.85%29.aspx

SPIN_LOCK_ALREADY_OWNED

This is a driver error.

I guess that you get this error in one of the drivers of the network stack or in bootmgr itself

Since everything works OK on the same subnet, I would at first check the network configuration. Routing in particular.
Note that TFTP and/or PXE mlight sometimes have troubles with NAT, but I assume that you do not cross a NAT service between your clients and your SCCM server

Also, I am not sure you need to specify DHCP Opt 66 and 67. A PXE service should handle that correctly.
For more details, check my article:
http://www.experts-exchange.com/Networking/Misc/A_2978-PXEClient-what-is-it-for-Can-I-use-PXE-without-it.html

What you do not specify in your post is whether the PXE service and DHCP service run on the same host. If so, you need the DHCP option 60 to be set to "PXEClient". And you need to forward DHCP requests to DHCP server AND the PXE requests on UDP 4011 to the PXE/SCCM Server (same host, so same IP)
If not, you need not to have "PXEClient" in DHCP opt 60 and to forward DHCP/PXE requests to both the DHCP server and the PXE/SCCM server (two iphelper commands, one per server/service, should do the trick)

If nothing changes after having reviewed your configuration in these manners, use MS NetMon 3.4 and check the network traffic between the client and the server (filter on IP addresses for instance). You may find interesting leads by comparing a non working sequence with a working one.

Also, check this thread, it seems that some users have had the same issue as you and were able to solve them:
http://social.technet.microsoft.com/Forums/en-CA/configmgrosd/thread/8677d9f3-ea24-4586-94b3-80eda4bb8a18

Author

Commented:
Thanks vivigatt

1.  There's no NAT between the subnets.
2.  DHCP is on the (domain controller), separate from the PXE boot server (SCCM).
3.  We have both the DC and SCCM IP's in the IP helper-address.

I tried removing both 66 & 67 and got the same error.  I'm going to attempt some of the recommendations in your last link and revert back once I find out more.
Hello. Please help.
I have error thet PXS start boot.
Error on attach
On DP have two images boot_x86 and boot_x64
Error-boot.bmp

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial