常見問題
以下各節討論當您執行使用者狀態移轉工具 (USMT) 10.0 時可能會遇到的常見問題。USMT 會產生記錄檔,進一步說明在移轉時所發生的任何錯誤。這些記錄可以用來疑難排解移轉失敗。
在本主題中
使用者帳戶問題
命令列問題
XML 檔案問題
移轉問題
離線移轉問題
永久連結移轉問題
識別移轉問題的一般指導方針
移轉期間發現問題或錯誤訊息時,可以使用下列一般指導方針來協助判斷問題來源:
檢查 ScanState、LoadState 以及 UsmtUtils 記錄,以取得確切的 USMT 錯誤訊息以及 Windows® 應用程式設計介面 (API) 錯誤訊息。如需 USMT 傳回碼和錯誤訊息的詳細資訊,請參閱傳回碼。如需 Windows API 錯誤訊息的詳細資訊,請在命令提示字元中輸入 nethelpmsg。
在大多數的情況下,ScanState 和 LoadState 記錄都會指出 USMT 移轉失敗的原因。測試移轉時,建議您使用 /v*:5* 選項。生產移轉中可以調整詳細資訊等級;不過,降低詳細資訊等級可能會造成診斷生產移轉期間所發現的失敗更顯困難。如果希望將記錄檔輸出至偵錯工具,可以使用比 5 更高的詳細資訊等級。
注意
搭配 /v*:5* 選項執行 ScanState 和 LoadState 工具則會建立詳細的記錄檔。雖然這個選項會使記錄檔變大,不過額外的詳細資訊可以幫助您判斷發生移轉錯誤的位置。
在 UsmtUtils 工具中使用 /Verify 選項,以判斷壓縮移轉存放區中是否有任何檔案損毀。如需詳細資訊,請參閱驗證壓縮移轉存放區的狀況。
在 UsmtUtils 工具中使用 /Extract 選項,從壓縮移轉存放區擷取檔案。如需詳細資訊,請參閱從壓縮 USMT 移轉存放區擷取檔案。
使用 /Progress 選項建立進度記錄,可監視您的移轉作業。
如果是來源與目的電腦,請取得作業系統資訊與應用程式版本,例如 Internet Explorer 與其他任何相關的程式,然後驗證重現問題所需的確切步驟。此資訊可協助您了解問題所在,並在測試環境中重現問題。
執行 LoadState 工具後請登出。下一次使用者登入之前,有些設定 (例如字型、桌面背景和螢幕保護裝置設定) 不會生效。
執行 ScanState 或 LoadState 工具前先關閉所有應用程式。如果某些應用程式在 ScanState 或 LoadState 程序期間仍在執行,USMT 可能不會移轉部分資料。例如,如果開啟 Microsoft Outlook®,USMT 可能不會移轉 PST 檔案。
注意
除非您指定 /c 選項,否則 USMT 在無法移轉檔案或設定時就會失敗。指定 /c 選項時,USMT 會忽略錯誤。不過,發現未移轉使用中的檔案時,就會記錄錯誤。
使用者帳戶問題
下列小節描述常見的使用者帳戶問題。展開區段,查看建議的解決方法。
我在目的電腦上建立本機帳戶時發生問題。
解決方法:如需建立帳戶及移轉本機帳戶的詳細資訊,請參閱移轉使用者帳戶。
並非所有使用者帳戶都會移轉到目的電腦。
原因/解決方法:這個問題有兩個可能的原因:
在 Windows Vista 上執行 ScanState 工具時,或者在 Windows 7、Windows 8 或 Windows 10 上執行 ScanState 和 LoadState 工具時,必須使用具有系統管理認證的帳戶,在系統管理員模式中執行這些工具,以確保會移轉所有指定的使用者。 在系統管理員模式中執行:
按一下 [開始]。
按一下 [所有程式]****。
按一下 [附屬應用程式]。
在 [命令提示字元]**** 按一下滑鼠右鍵。
按一下 [以系統管理員身分執行]。
然後指定 LoadState 或 ScanState 命令。如果沒有在系統管理員模式中執行 USMT,移轉中只會包含登入的使用者設定檔。
不會移轉電腦中尚未使用的任何使用者帳戶。例如,如果將 User1 新增至電腦,但 User1 從未登入,則 USMT 不會移轉 User1 帳戶。
排除的使用者帳戶已移轉到目的電腦。
原因:您所指定的命令可能具有衝突的 /ui 和 /ue 選項。如果透過 /ui 選項指定使用者,並也透過 /ue 或 /uel 選項指定排除該使用者,則移轉中會包含該使用者。例如,如果指定 /ui:domain1\* /ue:domain1\user1
,將會移轉 User1,因為 /ui 選項的優先順序較高。
解決方法:如需如何一起使用 /ui 和 /ue 選項的詳細資訊,請參閱 ScanState 語法主題中的範例。
我使用 /uel 選項,但許多帳戶仍包含在移轉中。
原因:/uel 選項是根據使用者的 NTUser.dat 檔案的上次修改日期而定。在一些案例中,這個上次修改日期可能與使用者的上次登入日期不相符。
解決方法:這是 /uel 選項的限制。您可能需要使用 /ue 選項手動排除這些使用者。
LoadState 工具以傳回碼 71 報告錯誤,而且在移轉測試期間無法還原使用者設定檔。
原因:在移轉測試期間,如果在測試電腦上執行 ScanState 工具,然後刪除使用者設定檔以便在同一部電腦上測試 LoadState 工具,則登錄中可能會出現衝突的機碼。使用 net use 命令移除使用者設定檔,將會刪除與該設定檔相關聯的資料夾與檔案,但不會移除登錄機碼。
解決方法:若要刪除使用者設定檔,請使用 [控制台] 中的 [使用者帳戶] 項目。若要更正不完整的使用者設定檔刪除作業:
在提升權限的命令提示字元中輸入
regedit
,以開啟登錄編輯程式。瀏覽至
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
。每一個使用者設定檔都是儲存在
ProfileList
下的 System Identifier 機碼中。刪除您正嘗試移除的使用者設定檔的機碼。
移轉之前未加密的檔案,現在已透過用來執行 LoadState 工具的帳戶進行加密。
原因:使用 /EFS: copyraw 選項執行 ScanState 工具,以移轉加密檔案與加密檔案系統 (EFS) 憑證。已在移轉的資料夾上設定加密屬性,但在移轉之前已從該資料夾的檔案內容中移除屬性。
解決方法:針對包含加密檔案和 EFS 憑證的移轉使用 ScanState 工具之前,可以先在命令提示字元中執行 Cipher 工具,以檢閱及變更檔案與資料夾的加密設定。您必須從包含未加密檔案的資料夾中移除加密屬性,或者在加密資料夾內加密所有檔案的內容。
若要從不正確移轉的檔案中移除加密,您必須透過用來執行 LoadState 工具的帳戶登入電腦,然後移除受影響檔案的加密。
LoadState 工具在記錄檔中報告錯誤為傳回碼 71 和 Windows 錯誤 2202。
原因:離線移轉本機使用者設定檔時,電腦名稱遭到變更。
解決方法:您可以在執行 LoadState 工具時,使用 /mu 選項,為使用者指定新名稱。例如,
loadstate /i:migapp.xml /i:migdocs.xml \\server\share\migration\mystore
/progress:prog.log /l:load.log /mu:fareast\user1:farwest\user1
命令列問題
下列小節描述常見的命令列問題。展開區段,查看建議的解決方法。
我收到下列錯誤訊息:「Usage Error: You cannot specify a file path with any of the command-line options that exceeds 256 characters.」
原因:即使未指定很長的存放區或檔案路徑,在某些情況下還是可能收到此錯誤訊息。這是因為路徑長度是根據絕對路徑來計算的。例如,如果從 C:\Program Files\USMT40 執行 scanstate.exe /o store 命令,"C:\Program Files\USMT40
" 中的每個字元都會加入「存放區」的長度,進而取得路徑的長度。
解決方法:請確保總路徑長度 (存放區路徑加上目前的目錄) 不超過 256 個字元。
我收到下列錯誤訊息:「USMT was unable to create the log file(s).Ensure that you have write access to the log directory.」
原因:如果從共用的網路資源執行 ScanState 或 LoadState 工具,當沒有指定 /l 時就會收到此錯誤訊息。
解決方法:若要修正此案例中的這個問題,請指定 /l:scan.log 或 /l:load.log 選項。
XML 檔案問題
下列小節描述常見的 XML 檔案問題。展開區段,查看建議的解決方法。
我已使用 /genconfig 選項來建立 Config.xml 檔案,但只看到少數在 MigApp.xml 檔案中的應用程式與元件。為何 Config.xml 未包含所有相同的應用程式?
原因:Config.xml 只會包含同時在兩個 .xml 檔案,且在執行 /genconfig 選項時安裝到電腦上的作業系統元件、應用程式和使用者文件區段。否則,這些應用程式和元件不會出現在 Config.xml 檔案中。
解決方法:執行 /genconfig 選項之前,請先在電腦上安裝所有需要的應用程式。然後,執行 ScanState 並包含所有 .xml 檔案。例如,執行下列命令:
scanstate /genconfig:config.xml /i:migdocs.xml /i:migapp.xml /v:5 /l:scanstate.log
我所編寫的自訂 .xml 檔案出現問題,但我無法確認語法是否正確。
解決方法:您可以將 USMT 所含的 XML 結構描述 (MigXML.xsd) 載入至 XML 製作工具中。如需範例,請參閱 Visual Studio 開發中心。然後,在製作工具中載入 .xml 檔案,查看是否有語法錯誤。此外,如需使用 XML 元素的詳細資訊,請參閱 USMT XML 參考資料。
我正在使用 MigXML Helper 函式,但移轉無法如預期般運作。 我該如何疑難排解這個問題呢?
原因:一般來說,這個問題是因為 Helper 函式中使用了不正確的語法所造成。您收到「成功」傳回碼,但未收集或套用要移轉的檔案,或者未如預期的方式收集或套用。
解決方法:您應該搜尋 ScanState 或 LoadState 記錄中包含 MigXML Helper 函式的元件名稱或者 MigXML Helper 函式標題,以便在記錄檔中找出相關的警告。
移轉問題
下列小節描述常見的移轉問題。展開區段,查看建議的解決方法。
我已指定要排除的檔案仍進行移轉。
原因:可能有另一個包含檔案的規則。如果有更為明確的規則或衝突的規則,則檔案會包含在移轉中。
解決方法:如需詳細資訊,請參閱衝突與優先順序與記錄檔中的<診斷記錄>一節。
我已指定規則要將資料夾移到目的電腦上的特定位置,但未正確移轉。
原因:XML 語法中可能有錯誤。
解決方法:您可以使用 USMT XML 結構描述 (MigXML.xsd) 撰寫並驗證移轉 .xml 檔案。另請參閱下列主題中的 XML 範例:
LoadState 完成之後,目的電腦上未出現新的桌面背景。
這個問題有三個典型原因。
原因 #1:在重新啟動目的電腦之後,LoadState 才會套用某些設定 (例如,字型、桌面背景與螢幕保護裝置設定)。
解決方法:若要修正此問題,請先登出再登入,以查看移轉的桌面背景。
原因 #2:如果來源電腦執行 Windows® XP 且桌面背景儲存在 Drive:\WINDOWS\Web\Wallpaper 資料夾中 (Windows XP 儲存桌面背景的預設資料夾),則不會移轉桌面背景。目的電腦會顯示預設的 Windows® 桌面背景。即使桌面背景是新增至 \WINDOWS\Web\Wallpaper 資料夾的自訂圖片,也會發生同樣的情況。但是,如果使用者使用儲存在其他位置 (例如,我的圖片) 的圖片做為桌面背景,則會移轉桌面背景。
解決方法:確定您要移轉的桌面背景影像不在來源電腦的 \WINDOWS\Web\Wallpaper 資料夾中。
原因 #3:如果未使用具有系統管理認證的帳戶在 Windows XP 上執行 ScanState,將不會移轉某些作業系統設定。例如,不會移轉桌面背景設定、螢幕保護裝置選取項目、數據機選項、媒體播放程式設定與遠端存取服務 (RAS) 連線電話簿 (.pbk) 檔案及設定。
解決方法:使用具有系統管理認證的帳戶執行 ScanState 與 LoadState 工具。
我已在移轉中加入 MigApp.xml,但並未移轉某些 PST 檔案。
原因:MigApp.xml 檔案只會移轉已連結至 Outlook 設定檔的 PST 檔案。
解決方法:若要移轉未連結至 Outlook 設定檔的 PST 檔案,您必須建立個別的移轉規則以擷取這些檔案。
離線移轉問題
下列小節描述常見的離線移轉問題。展開區段,查看建議的解決方法。
離線移轉時,部分系統設定無法移轉。
原因:離線移轉不支援部分系統設定,例如桌面背景和網路印表機。如需詳細資訊,請參閱 USMT 移轉哪些項目?
解決方法:在離線移轉中,必須手動還原這些系統設定。
ScanState 工具失敗並有傳回碼 26。
原因:發生傳回碼 26 的常見原因是來源電腦上有一個暫時的設定檔在使用中。這個設定檔會對應至 c:\users\temp。ScanState 記錄會顯示 MigStartupOfflineCaught 例外,其中包含「使用者設定檔重複 SID 錯誤」訊息。
解決方法:您可以重新開機,刪除暫時設定檔,或者您可以設定 MIG_FAIL_ON_PROFILE_ERROR=0,略過錯誤並排除暫時設定檔。
移轉使用者設定檔時使用的包含和排除規則,在離線和線上移轉時的作用不同。
原因:離線時,無法查詢 DNS 伺服器,以解析使用者名稱和 SID 對應。
解決方法:執行 ScanState 工具時,使用安全識別碼 (SID) 來包含使用者。例如:
Scanstate /ui:S1-5-21-124525095-708259637-1543119021*
SID 結尾的萬用字元 (*) 也會移轉 SID_Classes 機碼。
您也可以使用 SID 中的各種模式,識別泛型使用者或群組。例如,您可以使用 /ue:*-500 選項,排除本機系統管理員帳戶。如需 Windows SID 的詳細資訊,請參閱這個 Microsoft 網站。
在 64 位元系統上執行 ScanState 工具之後,用於清除磁碟的指令碼失敗。
原因:ScanState 工具執行完畢之後,並未卸載 HKLM 登錄 Hive。
解決方法:ScanState 工具執行完畢之後,重新開機或者在命令提示字元卸載登錄 Hive。例如,在命令提示字元中輸入:
reg.exe unload hklm\$dest$software
永久連結移轉問題
下列小節描述常見的永久連結移轉問題。展開區段,查看建議的解決方法。
EFS 檔案未還原至新的磁碟分割。
原因:無法透過永久連結將 EFS 檔案移至新的磁碟分割。/efs:hardlink 命令列選項只適用於在相同的磁碟分割上移轉的檔案。
解決方法:在移轉時,使用 /efs:copyraw 命令列選項複製 EFS 檔案而非建立永久連結,或者可以手動從永久連結存放區複製 EFS 檔案。
ScanState 工具無法刪除之前的永久連結移轉存放區。
原因:移轉存放區包含已鎖定之檔案的永久連結。
解決方法:使用 UsmtUtils 工具刪除存放區或者變更存放區名稱。例如,在命令提示字元中輸入:
USMTutils /rd <storedir>
您也應該重新開機。