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