How to Disable Windows Fast Startup via Group Policy for Proper System Behavior and Policy Application


2 views

Windows' Fast Startup (also called hybrid boot) has been causing headaches for sysadmins since its introduction in Windows 8. While it reduces boot times by saving kernel session data to hiberfil.sys, it creates three major technical issues:

// Common symptoms when Fast Startup causes problems:
1. Group Policy updates failing to apply properly
2. Wake-on-LAN functionality breaking
3. Driver compatibility issues leading to BSODs
4. Filesystem inconsistencies (especially with RAID/NAS)

The built-in Group Policy option (Computer Configuration\Policies\Administrative Templates\System\Shutdown\Require use of fast startup) only enforces Fast Startup - it can't disable it. This leaves enterprises needing a proper solution.

Since there's no direct GPO, we'll create a custom ADMX template to control the underlying registry key:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power]
"HiberbootEnabled"=dword:00000000

Create a new Group Policy Preference to deploy this registry change:

  1. Open Group Policy Management Console
  2. Create/edit a GPO
  3. Navigate to: Computer Configuration\Preferences\Windows Settings\Registry
  4. Right-click → New → Registry Item
  5. Configure:
    • Action: Replace
    • Hive: HKEY_LOCAL_MACHINE
    • Key Path: SYSTEM\CurrentControlSet\Control\Session Manager\Power
    • Value name: HiberbootEnabled
    • Value type: REG_DWORD
    • Value data: 0

After applying the policy, verify with PowerShell:

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" -Name "HiberbootEnabled"

Expected output: HiberbootEnabled : 0

For non-domain joined machines, deploy via PowerShell script:

# Disable Fast Startup via PowerShell
try {
    $Path = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
    if (-not (Test-Path $Path)) {
        New-Item -Path $Path -Force
    }
    Set-ItemProperty -Path $Path -Name "HiberbootEnabled" -Value 0 -Type DWord -Force
    
    # Also disable the setting in power options
    powercfg /h off
    Write-Output "Fast Startup disabled successfully"
}
catch {
    Write-Error "Failed to disable Fast Startup: $_"
}

While disabling Fast Startup will increase boot times by 10-30 seconds on most systems, the benefits outweigh the costs:

Metric With Fast Startup Without Fast Startup
Cold boot time 15s 35s
GPupdate consistency 85% 100%
WOL success rate 60% 98%

Windows Fast Startup (also called hybrid shutdown) creates significant challenges for system administrators managing Windows 10/11 deployments. While designed to reduce boot times by saving kernel session data to hiberfil.sys, this feature often conflicts with:

  • Group Policy processing cycles (particularly computer policies requiring full restarts)
  • Wake-on-LAN functionality
  • Driver compatibility with older hardware
  • Disk synchronization in RAID configurations

The built-in GPO setting (Computer Configuration\Policies\Administrative Templates\System\Shutdown\Require use of fast startup) only enforces Fast Startup but doesn't provide a disable option. The policy description clearly states: "If you disable or do not configure this policy setting, the local setting is used."

To properly disable Fast Startup across your domain, create a Group Policy Preference targeting this registry key:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power]
"HiberbootEnabled"=dword:00000000

Method 1: Group Policy Management Console

  1. Open Group Policy Management (gpmc.msc)
  2. Create/edit a GPO targeting your computer OUs
  3. Navigate to: Computer Configuration → Preferences → Windows Settings → Registry
  4. Right-click → New → Registry Item
  5. Configure:
    • Action: Update
    • Hive: HKEY_LOCAL_MACHINE
    • Key Path: SYSTEM\CurrentControlSet\Control\Session Manager\Power
    • Value name: HiberbootEnabled
    • Value type: REG_DWORD
    • Value data: 0

Method 2: PowerShell Deployment Script

# Apply registry change locally
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" -Name "HiberbootEnabled" -Value 0 -Type DWord -Force

# Optional: Disable Hibernation completely (frees disk space)
powercfg /h off

After GP refresh (gpupdate /force), verify the setting:

# Check current Fast Startup status
powercfg /a

# Verify registry value
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" -Name "HiberbootEnabled"

For systems with existing hibernation files, manually delete hiberfil.sys after disabling:

# Requires admin command prompt
powercfg /h off
del /f /q %systemdrive%\hiberfil.sys
  • Combine with a WMI filter to target only Windows 10/11 systems
  • For BIOS-based systems, ensure "Fast Boot" is also disabled in firmware settings
  • Document the change in your Group Policy Change Management system