Hello Goodluck, thank you for posting in the Microsoft Q&A community.
This behavior typically occurs due to a race condition or service timeout during the initial profile creation phase (oobeSystem configuration pass). When oobe\bypassnro modifies the registry key HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE setting BypassNRO to 1, it allows the user to proceed through OOBE offline. However, newer builds of Windows 11 initiate background services—such as CloudExperienceHost, UserOOBEBroker.exe, WpnUserService, and CDPSvc—that attempt to query online endpoints, check for Microsoft Account provisioning, and download AppX packages during the First Logon Animation sequence. When offline, these background initialization threads wait on network stack socket timeouts before handing execution off to explorer.exe. A hard reboot terminates these hanging OOBE setup tasks and forces Windows to load the newly created local profile under standard startup parameters.
To resolve or work around this issue effectively during deployment, you can use one of the following approaches:
Disable First Logon Animation
- On the OOBE network screen, press Shift + F10 (or Shift + Fn + F10) to open the Command Prompt.
- Execute the following commands to set the bypass registry flag and disable the initial logon animation:
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v BypassNRO /t REG_DWORD /d 1 /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableFirstLogonAnimation /t REG_DWORD /d 0 /f
shutdown /r /t 0
Disabling the animation forces Windows to directly load the desktop environment rather than rendering the waiting screen while background services complete their timeout cycle.
Audit Mode or Unattend Provisioning
- Boot into Audit Mode: At the initial OOBE screen, press Ctrl + Shift + F3.
- Windows will automatically reboot into the built-in Administrator account in Audit Mode.
- From Audit Mode, install necessary drivers and applications, then execute Sysprep to generalize or prepare the machine for deployment.
Alternatively, you can supply an unattend.xml answer file containing the <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> setting under Microsoft-Windows-Shell-Setup.
References & Official Microsoft Documentation: