
由於複雜的原因,我被迫製作了 cmd.exe 的相同副本並將其重命名為 cmd-2.exe,我在任務欄中放置了它的快捷方式。原因純粹是為了將它們「分組」在不同的「工作列組」中,僅此而已。
有時,我會忘記這一點,要開啟新的 cmd.exe,我只需中鍵點擊該工作列圖示即可開啟新的 cmd.exe。然後我輸入一個命令,例如“dir”,然後它會吐出一堆廢話,包括:
DNS bad key.
只有當我不小心使用 cmd-2.exe 時才會發生這種情況。如果我打開“真正的”cmd.exe,則不會。所以這不是一個“實際”問題。
但是,我想知道為什麼會列印該訊息。它顯然無法進行某種 DNS 查找或其他操作?為什麼我鍵入“dir”來列出本機中的檔案時會涉及到 DNS?我沒有設定網絡,沒有“雲端驅動器”,沒有任何類似的東西。令我害怕的是(顯然)當我輸入“dir”時會進行 DNS 查詢。
或者「DNS 錯誤密鑰」可能指的是與網域名稱系統完全無關的東西?我不知道在這種情況下「壞鑰匙」是什麼...
答案1
該錯誤與 DNS 無關,是從錯誤 DB 檔案讀取錯誤。
發生這種情況是因為第二個 cmd-2.exe 無法從 cmd.exe.mui 資源庫(其錯誤訊息 DB)找到並載入本地化字串。
從 Windows Vista 開始出現此問題。所有文字訊息都會編譯到一個單獨的文件 (.mui) 中,因此 Windows 會搜尋具有您的新 CMD 名稱的訊息文件,但無法找到它。
若要解決此問題:將檔案複製到資料夾%WinDir%\System32\en-US
(或您的語言)中cmd.exe.mui to cmd-2.exe.mui
。
不這樣做會導致奇怪的不相關消息。