Windows 8.1 missing font files after restart
Some days ago I rebooted my windows 8.1 system. After the reboot all my system texts were very cryptic - showing only some strange symbols. After some investigation I discovered that my c:\windows\fonts folder was nearly empty. So I copied the font files from another windows 8.1 installation to the nearly empty folder. As soon as I had copied the files the system texts were readable again.
But after another reboot the problem occured again - the systems font folder was empty again. Does anyone know why windows deletes my font files during a restart?
Solution 1:
This has happened to me twice now, both times after a failed font installation. The problem occurs not only after a restart, but also after logging out of and back into a Windows account.
I ended up solving it with a bit of a scattershot approach (mostly out of frustration), but everything seems to be working now after multiple reboots. You'll need a copy of a C:\Windows\Fonts
directory from a PC that is not suffering from this problem.
- Copy the contents of a
C:\Windows\Fonts
directory from a PC that is not suffering from this problem and paste them into the afflictedC:\Windows\Fonts
directory. - Open up
Regedit
. - Navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
- Export (just in case) and then delete the entire Fonts group. I also deleted the groups Font Management, Font Drivers, FontLink, FontMapper, and FontSubstitutes, though I re-added them later and suspect they were unrelated.
- AGAIN copy the contents of a
C:\Windows\Fonts
directory from a PC that is not suffering from this problem and paste them into the afflictedC:\Windows\Fonts
directory. - Reboot.
Solution 2:
Had the same issue and the selected answer didn't work, I just kept getting an endless crash of the UI (Explorer.exe) after logging in from a garbled login screen. So here is what worked off the command line.
On a working Mac/PC/Linux machine ...
- Download the default Windows 8.1 font pack from this post (direct link). The SHA256 hash of the .zip is
openssl dgst -sha256 Windows8.1-Default-Fonts.zip
SHA256(Windows8.1-Default-Fonts.zip)= d2c0cccc8f77f4d8198161cb452c9758608fdb70d64a9347c0b1d911b5d1af49
- Extract the .zip file above to a USB flash drive. Example: to
D:\Fonts
so you'd have something likeD:\Fonts\Arial.ttf
and so on. - Download the powershell scripts from this post (direct link)
- Extract the .zip file to the same USB flash drive, to say
D:\FontScripts\
so you have something likeD:\FontScripts\Add-Font.ps1
On the affected computer ...
- Boot into
Safe Mode with Command Prompt
(see details below) -
cd c:\Windows\Fonts
(enter) anddel /f /s /q *.*
(enter) - type
PowerShell
(enter) into the command prompt - type
Remove-Item "hklm:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"
(enter). We remove this because it's corrupt. - Insert the USB flash drive
- Type
D:
(enter) thencd D:\FontScripts
(enter) - Type
.\Add-Font.ps1 D:\Fonts
(enter). You'll get errors about a missing registry settings. Ignore for now. - Reboot. This will rebuild hklm:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts that we just removed in #4 above
- Boot into
Safe Mode with Command Prompt
(same as step #1) - type
PowerShell
(enter) - Type
D:
(enter) thencd D:\FontScripts
(enter) - Type
.\Add-Font.ps1 D:\Fonts
(enter) - Reboot.
- Get a beer and don't install corrupt fonts.
Booting Windows 8.1 into safe mode
Detailed as option #2 in this blog post, listed here for completeness.
- Reboot the affected computer till you hit the login screen
- Click the power icon in the bottom right corner. If your fonts are REALLY messed up, this will just be a square box :(
- Press the
SHIFT
key and click the last menu option (it readsRestart
on good systems) - Select
Troubleshoot
=>Advanced options
=>Startup Settings
=>Restart
- When it restarts, select #6 i.e.
Safe Mode with Command Prompt