Tag: Windows

  • How to Disable Fast Startup in Windows Using PowerShell

    How to Disable Fast Startup in Windows Using PowerShell

    Fast Startup is a Windows feature designed to reduce boot times by partially hibernating the operating system when shutting down. While this can improve startup performance, it may also cause unexpected issues with updates, device initialization, remote management, and troubleshooting activities.

    For IT administrators and power users, disabling Fast Startup is often recommended to ensure a clean shutdown and startup cycle.

    What Is Fast Startup?

    Introduced in Windows 8 and available in Windows 10 and Windows 11, Fast Startup combines elements of a traditional shutdown and hibernation.

    Instead of fully closing the Windows kernel during shutdown, the operating system stores the kernel session in the hibernation file (hiberfil.sys). During the next startup, Windows reloads this file instead of performing a complete boot process.

    Benefits

    • Faster boot times
    • Reduced startup delays on traditional hard drives
    • Improved user experience for home users

    Potential Issues

    In enterprise environments, Fast Startup can sometimes create problems such as:

    • Windows Updates not applying correctly
    • Wake-on-LAN inconsistencies
    • BitLocker recovery prompts
    • Dual-boot operating system issues
    • Network adapter initialization problems
    • Inaccurate uptime reporting
    • Troubleshooting complications when a full restart is required

    Disable Fast Startup Using PowerShell

    The Fast Startup setting is controlled through the following registry value:

    HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power\HiberbootEnabled

    Value meanings:

    ValueDescription
    1Fast Startup Enabled
    0Fast Startup Disabled

    The following PowerShell script disables Fast Startup by setting the value to 0.

    $Path = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power"
    2
    $Name = "HiberbootEnabled"
    3
    $value = "0"
    4
     
    5
    If (!(Test-Path $Path))
    6
    {
    7
    New-Item -Path $Path -Force | Out-Null
    8
    New-ItemProperty -Path $Path -Name $Name -Value $value -PropertyType DWORD -Force | Out-Null
    9
    }
    10
    Else
    11
    {
    12
    New-ItemProperty -Path $Path -Name $Name -Value $value -PropertyType DWORD -Force | Out-Null
    13
    }

    This can be deployed through:

    • Microsoft Intune
    • Configuration Manager (SCCM/MECM)
    • Group Policy startup scripts
    • Remote PowerShell sessions

    Deploying Through Intune

    If you’re managing Windows devices with Microsoft Intune, you can deploy the PowerShell script as:

    1. Devices
    2. Scripts and Remediations
    3. Platform Scripts
    4. Upload the script
    5. Assign it to the required device group

    This provides a simple and scalable way to disable Fast Startup across an entire organization.

    Final Thoughts

    Fast Startup can reduce boot times for end users, but in managed environments it may introduce unnecessary complexity when dealing with updates, encryption, remote administration, and troubleshooting.

    For organizations that prioritize stability and predictable system behavior, disabling Fast Startup is often a recommended best practice. PowerShell provides a quick and reliable method to apply the configuration locally or at scale through enterprise management tools such as Intune or Configuration Manager.