MDT Litetouch startup -Super Flow- help; November 11, 2010Posted by keithga in MDT 2010, Troubleshooting, Windows 7.
Someone posted a question on a MDT forum recently:
I´m courious about what is happening when you boot your client on the WinPE iso image that is generated when you update the deploymentshare in MDT.
So, does a “superflow” or other documentation like that exist ?
Interesting question, thought I’d write down some of the basics (Things that are interesting to people in the deployment field):
- The Computer starts up and the BIOS is responsible for selecting which device to boot from. This can be either:
Network (PXE), Hard Disk, USB Flash Drive, or CD-ROM (El-Torito)
- When booting off a hard disk or USB Flash Drive, the BIOS will look for an “Active” partition, and run the code in the Master Boot Record.
- PXE Booting is a different topic… :^)
- When booting from the CD-ROM, the BIOS will kick off the EtfsBoot.com program running in El-Torito No-emulation mode. ETFSBoot.com does two things:
- Runs the BootFix.bin program – This program will test for the existence of any “Active” hard disk partitions on the machine, if found, it will prompt the user to “Press Any Key to boot from CD or DVD.” If no “Active” partition is found, or the user presses a key, then the next “BootMgr” program is run.
- Bootmgr – ( In windows XP it was ntldr) Is responsible for management of the other Operating Systems, it reads the \boot\bcd file (a registry hive), and displays a menu to the user. It can launch Windows, WinPE, other Real Mode programs, and even boot Windows from VHD files (for premium versions of windows like Windows Ultimate or Enterprise).
- Once the OS has been selected, BootMgr then starts the process of loading all the OS components into memory, when ready it will pass control from Real Mode into the Windows Kernel. The OS will then take over the boot up process and continue loading the rest of the drivers and components. If at this point it can’t find the hard disk from where it came from, it will Stop BugCheckEx(), with error code 0x0000007B, typically this means the Storage Driver wasn’t loaded.
- In WinPE the process continues by calling WinPEShl.exe. If WinPEShl.exe finds the file WinPEShl.ini, it will parse it. For MDT 2010, the WinPEShl.ini file looks like:
- BddRun.exe – Will launch wpeinit.exe. It will also remain in memory and monitor the keyboard for F8 (See: http://deployment.xtremeconsulting.com/2009/10/29/78/ )
- WpeInit.exe will start up the network, and other services and parse the unattend.xml file for commands to run. For MDT 2010, the Unattend.xml file looks like:
<?xml version="1.0" encoding="utf-8"?> … <Path>wscript.exe X:\Deploy\Scripts\LiteTouch.wsf</Path>
- Litetouch.wsf will then check to see if there are any Task Sequences in progress (is there a c:\minint and/or c:\_SMSTaskSequence\TSEnv.dat file present), and if so execute.
- If Litetouch can’t find any in-progress Task Sequences (NewComputer), it will:
- Parse the Bootstrap.ini file
- Display the Welcome Wizard (unless SkipBDDWelcome is defined)
- Parse the CustomSettings.ini file (Typically from the DeployRoot found in the Bootstrap.ini file).
- Display the Deployment Wizard (Unless SkipWIzard is defined)
- Run the full Task Sequence…