Share via

unable to upgrade to Windows 11 - PC check says Meets requirements - no upgrade option in Settings

Patty Abdenour 0 Reputation points
2025-10-08T20:14:29.2433333+00:00

I am unable to upgrade to Windows 11 - PC check says Meets requirements - but no upgrade option in Settings.

I was previously offered opportunity to upgrade to Windows 11 but deferred - now what?

Surface | Surface Go | Install and update

3 answers

Sort by: Most helpful
  1. Patty Abdenour 0 Reputation points
    2025-10-09T20:21:58.3566667+00:00

    I downloaded and installed the Windows 11 Install assistant a 3rd time but before doing so - I turned off Microsoft Defender and my Express VPN and the download worked. I am now on Windows 11.

    Thanks everyone for your responses and suggestions


  2. Barb Bowman 80,700 Reputation points MVP Volunteer Moderator
    2025-10-09T11:44:08.64+00:00

    Patty,

    I see you have the original Surface Go.

    After running Windows Update to insure you have all available updates, are you able to upgrade using the upgrade assistant https://www.microsoft.com/en-us/software-download/windows11 ? If not, what is the error message?


  3. BryceSor 4,925 Reputation points Volunteer Moderator
    2025-10-08T20:18:47.5966667+00:00

    Hi Patty Abdenour,

    Can you run this in PowerShell Admin, once finished it will list your hardware in notepad, so you can copy and pastes that info here.

    # Output file
    $report = "$env:USERPROFILE\Desktop\SystemInfo_Report.txt"
    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
    function Write-Report($text) {
        $text | Out-File -FilePath $report -Encoding UTF8 -Append
    }
    # Header
    "🖥️ System Details Report" | Out-File -FilePath $report -Encoding UTF8
    "Generated: $(Get-Date)" | Write-Report
    "" | Write-Report
    # Device Make & Model
    $cs = Get-CimInstance Win32_ComputerSystem
    Write-Report "• Device Make & Model: $($cs.Manufacturer) $($cs.Model)"
    # Processor
    $cpu = Get-CimInstance Win32_Processor
    Write-Report "• Processor: $($cpu.Name)"
    # RAM
    $ramGB = [math]::Round($cs.TotalPhysicalMemory / 1GB, 2)
    Write-Report "• RAM: $ramGB GB"
    # Storage
    $drives = Get-CimInstance Win32_DiskDrive | Where-Object { $_.MediaType -ne $null }
    foreach ($drive in $drives) {
        $sizeGB = [math]::Round($drive.Size / 1GB, 2)
        Write-Report "• Storage: $($drive.Model) — $sizeGB GB ($($drive.MediaType))"
    }
    # Graphics
    $gpu = Get-CimInstance Win32_VideoController | Where-Object { $_.Name -ne $null }
    foreach ($g in $gpu) {
        Write-Report "• Graphics Card: $($g.Name)"
    }
    # OS Info
    $os = Get-CimInstance Win32_OperatingSystem
    Write-Report "• Windows Edition: $($os.Caption)"
    Write-Report "• Windows Build & Version: $($os.Version) (Build $($os.BuildNumber))"
    Write-Report "• OS Architecture: $($os.OSArchitecture)"
    # Antivirus
    $av = Get-CimInstance -Namespace "root/SecurityCenter2" -ClassName "AntiVirusProduct" -ErrorAction SilentlyContinue
    if ($av) {
        foreach ($a in $av) {
            Write-Report "• Antivirus: $($a.displayName)"
        }
    } else {
        Write-Report "• Antivirus: Windows Security (Default)"
    }
    # BIOS
    $bios = Get-CimInstance Win32_BIOS
    Write-Report "• BIOS/UEFI Version: $($bios.SMBIOSBIOSVersion)"
    # TPM Status
    $tpm = Get-WmiObject -Namespace "Root\\CIMv2\\Security\\MicrosoftTpm" -Class Win32_Tpm -ErrorAction SilentlyContinue
    if ($tpm) {
        Write-Report "• TPM Present: Yes"
        Write-Report "• TPM Enabled: $($tpm.IsEnabled() -eq $true)"
        Write-Report "• TPM Activated: $($tpm.IsActivated() -eq $true)"
        Write-Report "• TPM Version: $($tpm.SpecVersion)"
    } else {
        Write-Report "• TPM Present: No"
    }
    # Secure Boot
    $secureBoot = Confirm-SecureBootUEFI -ErrorAction SilentlyContinue
    if ($secureBoot -eq $true) {
        Write-Report "• Secure Boot: Enabled"
    } elseif ($secureBoot -eq $false) {
        Write-Report "• Secure Boot: Disabled"
    } else {
        Write-Report "• Secure Boot: Unsupported or Legacy BIOS"
    }
    # Activation Status
    $activation = (Get-CimInstance SoftwareLicensingProduct | Where-Object { $_.PartialProductKey -and $_.LicenseStatus -eq 1 })
    if ($activation) {
        Write-Report "• Windows Activation: Activated"
    } else {
        Write-Report "• Windows Activation: Not Activated"
    }
    # Done
    Write-Report ""
    Write-Report "Report saved to: $report"
    Start-Process notepad.exe $report
    
    

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.