This sometimes happen when a certain app takes over icons cache in Windows, such as some antivirus software. Here’s how to reset that:

Run PowerShell or CMD as Administrator:

function fixWindowsIcons{
    Stop-Process -ProcessName explorer -force
    remove-item "$env:localappdata\IconCache.db" -force
    remove-item "$env:localappdata\Microsoft\Windows\Explorer\iconcache*" -force    
    $keyname='IconHandler'
    $iconHandlerKey="REGISTRY::HKLM\SOFTWARE\Classes\lnkfile\shellex\$keyname"
    $iconHandlerExpectedValue='{00021401-0000-0000-C000-000000000046}'
    $defaultIconHandler=(get-itemproperty $iconHandlerKey).'(default)'
    if($iconHandlerExpectedValue -ne $defaultIconHandler){
        New-ItemProperty -path $iconHandlerKey -name $keyname -value $iconHandlerExpectedValue
    }
    start-process -processName explorer.exe
    write-warning 'Please restart the computer to finish resetting Windows Icons cache...'
    }
fixWindowsIcons