# 從老舊或損毀的系統中取回Putty設定
Reference: Putty: Import settings from old HDD or crashed system (opens new window)
Putty只有單一一個exe檔即可執行,不需要外掛dll等附加檔案,但是Putty的設定檔卻都存在Windows的登錄檔(Registry)裡面,不但造成可攜性(portability)降低、也讓系統損毀或更換時轉移設定的麻煩。
一般轉移Putty設定檔,只匯出匯入登錄檔即可,但如果發生硬碟故障或系統損毀,造成舊系統無法開機,這時候要拿設定檔就沒辦法直接操作。本篇步驟可幫助你在無法啟動舊系統的情況下,直接從新系統撈回Putty設定檔!
# 適用條件
- 系統或硬碟損毀,但狀況輕微或有備份,仍可存取資料
- 舊系統登錄檔檔案(NTUSER.DAT)仍然完整可存取
# 救援步驟
以下步驟需按照順序不可跳過或省略
- 在新系統上先執行一次Putty,讓Putty在新系統的Registry內建立entry
- 關閉Putty
- 點選「開始_(Start)」>「執行(Run)_」(Win + R),輸入「regedit」開啟登錄檔編輯器(Registry Editor)
- 登錄檔編輯器左邊,點選「HKEY_LOCAL_MACHINE」
- 點選「檔案_(File)」>「載入 Hive 控制檔(Load Hive)_」
- 接下來需要找到舊系統登錄檔的位置,請到舊的使用者設定資料夾內,例如:
D:\Users\myusername\NTUSER.DAT
注意,這邊如果找不到檔案,先檢查是否有開啟顯示隱藏系統檔:
1. 開啟「我的電腦_(My Computer)」
2. 工具列點選「工具(Tools)」>「資料夾選項(Folder Options)」
3. 標籤「檢視(View)」>「進階設定(Advanced Settings)」
4. 不要勾選「隱藏保護的系統檔案(Hide protected operating system files)」
5. 按「確定(OK)_」後即可
如果這邊找不到或無法存取NTUSER.DAT可能就沒救了
- 找到檔案後點選,會跳出一個詢問對話框,要求輸入一個名字,例如:
old-registry
- 現在在「HKEY_LOCAL_MACHINE」底下可以看到剛剛新增的entry
old-registry
- 展開
HKEY_LOCAL_MACHINE\old-registry\Software\SimonTatham
- 右鍵點選「SimonTatham」選擇「匯出_(Export)_」
- 選擇匯出存檔位置與名稱,例如:
putty-config.reg
- 剛剛的
old-registry
已經用不到了,點選old-registry
,注意務必要選對old-registry
,然後選「檔案_(File)」>「卸除 Hive 控制檔(Unload Hive)_」 - 成功卸載後,關閉登錄檔編輯器_(Registry Editor)_
- 找到剛剛匯出的登錄檔
putty-config.reg
,按右鍵「編輯_(Edit)_」,用記事本(或文字編輯器)開啟 - 將所有「HKEY_LOCAL_MACHINE\old-registry」取代為「HKEY_CURRENT_USER」
- 儲存檔案並關閉
putty-config.reg
- 點兩下
putty-config.reg
跳出登錄檔合併確認視窗,點選確定開始合併 - 合併成功後,開啟Putty就會發現舊的設定檔都回來了!
# 後記
Putty用Registry存設定真的很麻煩,所以也有網友自行重新編譯Putty,將存檔機制重寫,讓Putty的設定改存在一個檔案中,如果有需要可以參考使用: PuTTY for win32 storing configuration into file (opens new window)
Written with StackEdit (opens new window).