Windows Image Hangs on Boot
-
@joe-schmitt Okay. Back to the drawing board. Thanks for pointing me in the right direction. Time to go do research. Hopefully I’m smart enough to figure it out.
Philip
-
To add to the drama… The laptop I just tried installing a fresh windows onto hung on the blue windows symbol when booting from the bootable USB… WTF?
-
@flipwalker who’s bootable USB?
Maybe you need to check into/for a firmware update?
-
@george1421 Not sure if that was the problem but there was a BIOS update last month that I just pushed.
Some places I’m seeing say I need two unattend files? Is that true? I’m currently in Windows System Image Manager trying to build one. Do I just need to focus on the OOBE pass? Some places are talking about the specialize pass.
Philip
-
@flipwalker A single unattend goes through all the different passes. So what you’re reading, might sound like two unattends, but ultimately deals with a single unattend handling each of the individual passes.
I don’t know if windows 10 has the Automated Installation Kit readily available. I did a quick google search. I’m sure there’s a TON of information on it though.
Here’s a link describing what I think you’re thinking is multiple unattends:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-configuration-passes -
@flipwalker As Tom said, only a single unattend.xml file is used. If you look at my sysprep command in the link below, there is only one option to provide a path you can provide to the unattend.xml file. Save your self some grief too, place the unattend.xml file in C:\Windows\Panther for windows 10.
And to add on to Tom’s comment about AIK, you need to get/use the current version of the OS you are deploying. There are typically updates to AIK with each new release of Win10.
-
So I’ve got a basic unattend file. It’s much shorter then yours. I’m depending on the FOGClient to domain the laptops. Is there a reason I shouldn’t do that? One question that I have is we want our computer names to match the SN, I’ve done a bunch of googling and I’m not sure the command I’ve got in the unattend will do it or not. Seems like there’s mixed opinions on it.
I’m about to run sysprep and do a test deployment.
Do you see anything on my unattend that obviously won’t work? Or something critical that I’m missing? My intent is for the computer to boot straight to login screen with 0 hands on from image.
<?xml version="1.0" encoding="UTF-8"?> -<unattend xmlns="urn:schemas-microsoft-com:unattend"> -<settings pass="specialize"> -<component language="neutral" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" versionScope="nonSxS" publicKeyToken="31bf3856ad364e35" processorArchitecture="amd64" name="Microsoft-Windows-Shell-Setup"> -<OEMInformation> <Manufacturer>Dell</Manufacturer> <Model>Precision 7710</Model> </OEMInformation> <CopyProfile>true</CopyProfile> <OEMName/> <RegisteredOrganization>****************</RegisteredOrganization> <RegisteredOwner>******************</RegisteredOwner> <TimeZone>U.S. Mountain Standard Time</TimeZone> <ComputerName>%SerialNumber%</ComputerName> </component> </settings> -<settings pass="oobeSystem"> -<component language="neutral" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" versionScope="nonSxS" publicKeyToken="31bf3856ad364e35" processorArchitecture="amd64" name="Microsoft-Windows-International-Core"> <SystemLocale>en-US</SystemLocale> <UILanguage>en-US</UILanguage> <UserLocale>en-US</UserLocale> <UILanguageFallback>en-US</UILanguageFallback> <InputLocale>0409:00000409</InputLocale> </component> -<component language="neutral" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" versionScope="nonSxS" publicKeyToken="31bf3856ad364e35" processorArchitecture="amd64" name="Microsoft-Windows-Shell-Setup"> -<OOBE> <HideEULAPage>true</HideEULAPage> <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> <HideOnlineAccountScreens>true</HideOnlineAccountScreens> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> <ProtectYourPC>1</ProtectYourPC> <UnattendEnableRetailDemo>false</UnattendEnableRetailDemo> <HideLocalAccountScreen>true</HideLocalAccountScreen> <NetworkLocation>Work</NetworkLocation> </OOBE> -<UserAccounts> -<LocalAccounts> -<LocalAccount wcm:action="add"> -<Password> <Value>**********************</Value> <PlainText>false</PlainText> </Password> <Description> Admin Account</Description> <DisplayName>Admin</DisplayName> <Group>Administrators</Group> <Name>admin</Name> </LocalAccount> </LocalAccounts> </UserAccounts> <RegisteredOrganization>**********************</RegisteredOrganization> <RegisteredOwner>********************</RegisteredOwner> <TimeZone>U.S. Mountain Standard Time</TimeZone> </component> </settings> <cpi:offlineImage xmlns:cpi="urn:schemas-microsoft-com:cpi" cpi:source="wim:c:/wim/install.wim#Windows 10 Pro"/> </unattend>
-
@flipwalker said in Windows Image Hangs on Boot:
<ComputerName>%SerialNumber%</ComputerName>
I’m not sure that will work outside of MDT/WDS/SCCM. The %SerialNumber% is a MDT variable. Anyway, what ever you name it in the unattend.xml file, the FOG client will change it to what matches in the fog database. In my unattend.xml I think I have something like DEFAULT64 or something like that, again it doesn’t matter since the FOG client can and will change the host name to match how you have the system registered in FOG.
In my unattend.xml file I also have the windows system log in as a local admin and run a few commands and then reboot. This is all done in a hands off or also called lite touch method.
-
@george1421 So for future reference it doesn’t work. However when I removed it I now have a functional product. What part of your xml causes the login? Do you just put your additional commands in the windows\setup\scripts\setupcomplete.cmd file?
One of the things I’m trying to get implemented is autojoining a WAP without having to provide students with the password. I have found a script that will hypothetically work, but getting it implemented is worrying me.
-
@george1421 I found the autologin I think.
-
@flipwalker Sorry working on a work project after hours.
Yes the firstlogon section is for activities you need to do that requires a command shell.
The setupcomplete.cmd file we do stuff like create admin user accounts (I know you can do that in the unattend.xml but we don’t) also we start the fog client in the setupcomplete.cmd so that the fog client doesn’t kick in too soon and botch OOBE (review the requirements for the FOG client in the wiki).
Connecting to a WAP and setting the preferred settings are easily done by GPO and is the preferred method.
Another point, don’t connect the reference image to AD before you sysprep it. If you need to execute things that need AD, do that in the setupcomplete.cmd or the first run.
-
@george1421 So hypothetically speaking, if the reference image got joined to a domain by FOG(bad FOG, you should read my mind and only do that when I want you to), do I need to scrap it and start over?
I did find the WAP GPO, so that should be good to go now. The only thing I have in setupcomplete right now is the FOG restart.
-
@flipwalker said in Windows Image Hangs on Boot:
So hypothetically speaking, if the reference image got joined to a domain by FOG(bad FOG, you should read my mind and only do that when I want you to), do I need to scrap it and start over?
Sorry to tell you this, but yes you must scrap that image. Because connecting your reference image to AD before sysprep will tattoo that machine in AD. Plus you may have GPO policies (that would be applied) that may interact with your system during OOBE. So its better off not to connect the reference image to AD then unconnect it before sysprep. It never ends well.
Now when you install the FOG client in the reference image, you need to set the service to disabled before your computer is rebooted (for any reason). This will keep the service from running and doing not so helpful things to your reference image. And you are right for the setupcomplete.cmd, use the sc command in there to set the FOG service to auto, and start it if you need. Here is a wiki article on the fog client with sysprep: https://wiki.fogproject.org/wiki/index.php?title=FOG_Client#FOG_Client_with_Sysprep
-
@flipwalker Are you using sysprep generalized and shutdown when you capture?
-
@george1421 Well I’ll be a son of a… Oh well. Ok. I went ahead and tried it anyway. Most of it seems to be ok, however my stepupcomplete.cmd doesn’t seem to want to run on its own. Is this because of the AD problem on the reference image? Or did I screw something else up? It worked previously on another test I did.
-
@imagingmaster21 That’s what I’m working on now. Previously I wasn’t syspreping because I was scared of unattend. But others have convinced me I need to stop being a wuss and try to learn myself real good. I’m almost there. In fact as we speak I just sysprepped a reference image machine and I’m about to capture and test deploy it.
-
@george1421 SetupComplete still isn’t executing. I can manually execute and it seems to work, but it doesn’t automatically. Any ideas?
-
@flipwalker What version of windows?
(Not just 10, but education, pro, etc…?)
-
@tom-elliott Pro, I’ll have to wait until tomorrow to tell you the version number, I don’t have a machine at home tonight.
-
@flipwalker As long as its not Win10 OEM then setupcomplete.cmd should execute as long as if its in the right location and you sysprep’d the image.