Windows System Troubleshooting
Diagnose and fix recurring Windows OS-level problems: credential/key-selection popups, disconnected network drives, service failures, event log analysis.
When to use
- "암호 키 선택창이 계속 떠" / credential prompt keeps appearing
- Network drive disconnected / reconnecting
- Mysterious recurring Windows dialogs or notifications
- Service or startup program misbehaving
Diagnostic sequence (credential / key-selection popups)
The #1 cause of recurring "암호 키 선택" or credential dialogs is a disconnected mapped network drive whose target (NAS, file server) is offline. Windows retries the connection periodically and pops a credential prompt each time.
Step 1 — Check mapped drives
net use
Look for entries with status "연결 끊김" (Disconnected). Note the remote path (e.g. \\192.168.0.22\NASfolder).
Step 2 — Check if target is reachable
ping -n 2 -w 2000 <IP>
If ping fails → target is offline → that's the cause.
Step 3 — Fix
Immediate stop: delete the stale mapping
net use Z: /delete
Permanent fix (when target is back online): store credentials so reconnect is silent
cmdkey /add:<IP-or-hostname> /user:<username> /pass:<password>
Step 4 — Verify
net use
Confirm the drive is gone or shows "연결됨".
Other diagnostic tools
| Symptom | Command |
|---|---|
| What windows are open | tasklist /V (filter non-empty window titles) |
| Stored credentials | cmdkey /list |
| Event logs (system) | wevtutil qe "System" /c:20 /rd:true /f:text |
| Event logs (application) | wevtutil qe "Application" /c:20 /rd:true /f:text |
| BitLocker status | manage-bde -status (needs admin) |
| TPM status | Get-Tpm (PowerShell, needs admin) |
| Certificates (personal) | Get-ChildItem Cert:\CurrentUser\My |
| Startup programs | Get-CimInstance Win32_StartupCommand |
| Scheduled tasks (non-MS) | Get-ScheduledTask | Where {$_.TaskPath -notlike "\Microsoft\*"} |
| USB/smartcard devices | Get-PnpDevice | Where {$_.Class -match "SmartCard|SecurityDevices"} |
| Services | Get-Service -Name "SCardSvr","CertPropSvc" |
Non-ASCII (Korean) paths break npm / node tooling
npm install and any node tar extraction fail on paths containing Korean (or other non-ASCII) characters — e.g. the NAS mount G:\내 드라이브\NAS폴더\.... Symptom is a wall of npm warn tar TAR_ENTRY_ERROR UNKNOWN / EBADF: bad file descriptor followed by npm error EBADF, plus EPERM rmdir during cleanup. The install never completes.
Fix: do the build in an ASCII path under the user home, then copy the finished artifact to the NAS destination.
mkdir -p /c/Users/okya1/<build-dir> && cd /c/Users/okya1/<build-dir>
npm init -y && npm install <pkg> # works fine here
# ...build...
cp <artifact> "/g/내 드라이브/NAS폴더/NASfolder/Hermes/<task>/" # copy at the end
This generalizes: any tool that extracts tars or writes many small files (npm, some pip builds, unzip of large archives) can choke on the Korean NAS path. Build local, copy once.
Pitfalls
manage-bde,Get-BitLockerVolume,Get-Tpmall require admin elevation — they silently return empty or error in a non-admin shell. Don't waste time retrying; note "needs admin" and move on.wevtutilchannel names are exact —Microsoft-Windows-BitLocker-Driver/Operationalmay not exist if BitLocker was never enabled. "채널을 찾을 수 없습니다" = channel doesn't exist, not an error.- PowerShell
$_inside bash terminal gets mangled (bash interprets$_as a path). Useexecute_codewithsubprocess.run(['powershell', '-NoProfile', '-Command', ...])for complex PS commands, or write a.ps1file and run it. - Korean Windows output is EUC-KR/CP949 — terminal output will be garbled mojibake. Use structure (numbers, paths, English tokens) to parse, not the Korean text.
net useoutput IS readable even with mojibake — drive letters, UNC paths, and status columns are ASCII.
References
references/credential-popup-diagnosis.md— full diagnostic transcript from the NAS credential popup case