Windows  ·  medium  ·  Applications & Microsoft 365

Windows Search finds nothing, or the Start menu does not open

The shell components that draw Start and Search have failed, or the search index has been damaged.

What you see

Typing in Search returns nothing at all, Start does not respond to a click, or "Critical Error — Your Start menu isn't working" appears at sign-in.

What is actually wrong

A corrupt search index, a shell package that failed to register for this user, or a damaged user profile. On a machine where it affects every user, the packages themselves are damaged.

Codes and articles

Search not workingWindows.edbShellExperienceHostStartMenuExperienceHostCritical Error start menu

Fixes (3)

Rebuild the search index
Elevated PowerShell20 minutes plus rebuild timelow riskreversible

Search returns nothing but Start opens normally.

  1. Check the service and the index size.

    PowerShell
    Get-Service WSearch | Format-List Status,StartTypeGet-Item "$env:ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb" -ErrorAction SilentlyContinue | Format-List Length,LastWriteTime
  2. Stop the service and delete the index database.

    PowerShell
    Stop-Service WSearch -ForceRemove-Item "$env:ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb" -ForceStart-Service WSearch

    A rebuild is the only reliable repair for a damaged index. It takes a few hours on a large profile and the machine should be left on, but it does not touch any of the files being indexed.

  3. Check what is included. Indexing Options → Modify — if Outlook or a data folder is missing from the list, results for it will never appear.

    Command Prompt
    control srchadmin.dll
  4. Leave it to finish. Search results are incomplete until the rebuild completes.

Confirm it workedIndexing Options reports indexing complete, and searches return results.
Command Prompt
control srchadmin.dll
If you need to undo itNothing to roll back — the index is derived data.
Re-register the shell packages for this user
PowerShell as the affected user, elevated25 minutesmedium riskreversible

One account only. The packages are fine; this user's registration is not.

  1. Confirm the packages are installed and check their status.

    PowerShell
    Get-AppxPackage -Name Microsoft.Windows.ShellExperienceHost,Microsoft.Windows.StartMenuExperienceHost,Microsoft.Windows.Search | Format-Table Name,Version,Status
  2. Re-register them for the current user only.

    PowerShell
    Get-AppxPackage -Name Microsoft.Windows.ShellExperienceHost,Microsoft.Windows.StartMenuExperienceHost,Microsoft.Windows.Search |  ForEach-Object { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }

    The widely-copied one-liner that re-registers every package for every user is far more disruptive than this and regularly breaks Store apps that were working. Naming the three packages that draw Start and Search is enough.

  3. Restart Explorer.

    PowerShell
    Stop-Process -Name explorer -Force
  4. If it fails only for this user, test with a new local account. If the new account is fine, the profile is damaged and rebuilding it is the reliable answer.

Confirm it workedStart opens and Search returns results after a sign-out and back in.
If you need to undo itRe-registering does not remove anything; the previous state is restored by a restart if it made no difference.
Repair the system image behind the shell
Elevated PowerShell60 minutesmedium riskreversible

Every account is affected — the component store is damaged rather than a single registration.

  1. Check the component store first.

    PowerShell
    DISM /Online /Cleanup-Image /ScanHealth
  2. Repair it if damage is reported.

    PowerShell
    DISM /Online /Cleanup-Image /RestoreHealth
  3. Then run the file check, which relies on a healthy store.

    PowerShell
    sfc /scannow

    Running sfc first on a machine with a damaged component store produces "found corrupt files but was unable to fix some of them", because the source it repairs from is itself broken. The order matters.

  4. If both come back clean and the shell is still broken, an in-place upgrade repair install — running setup.exe from a matching ISO and choosing to keep files and apps — rebuilds the shell without touching data or applications.

Confirm it workedsfc reports no integrity violations and the shell works for a newly created account.
If you need to undo itAn in-place upgrade can be uninstalled within ten days from Settings → Recovery → Go back.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.