天天看點

談談Windows遷移上雲經常會遇到的問題 (一)

作者:江冉

最近在處理了幾例Windows遷移上雲的問題,問題還是比較有典型性的。分享一下具體的處理方法以及原理。

第一類問題是磁盤引起的,我們的雲遷移工具支援遷移系統盤和資料盤。當我們機器上有至少兩塊磁盤的時候,在遷移之後,有時我們會發現系統在雲上有很多奇怪的現象。如果此時我們做一些排查工作,典型現象如下:

機器有時是能夠啟動的,但是登入之後發現很多程式不能使用。

IE浏覽器是打不開的,點選之後沒有反應。

所有和MMC相關的程式都打不開,比如事件檢視器,服務管理器和計算機管理等等。

打開某些業務程式時會報告檔案找不到。

運作sfcscan會報如下錯誤:

談談Windows遷移上雲經常會遇到的問題 (一)

原因其實很簡單,Windows在辨認磁盤時是有自己的順序,但是在某些情況下可能會出現遷移之後的磁盤卷順序和遷移之前不同。這種情況可能會導緻系統盤沒有被辨識為C槽,比如辨識為D盤。這本身并不會導緻啟動問題,原因是因為Windows系統本身是從環境變量裡來尋找啟動時所需要的驅動的。比如如下系統資料庫:

談談Windows遷移上雲經常會遇到的問題 (一)

我們可以發現Windows是用路徑%SystemRoot%來找到相應的DLL或者SYS的。而當系統盤符變為D:盤之後SystemRoot也會相應地調整為D:Windows,是以大部分系統檔案都是可以被找到的。

然而有些安裝在其他目錄元件就不是這樣了,比如如下系統資料庫:

談談Windows遷移上雲經常會遇到的問題 (一)

IE相關的檔案是安裝在C:Program Files下面,而很多在系統資料庫裡的路徑是直接指向C:Program Files,并沒有環境變量。進而導緻這些程式啟動失敗。

解決方法非常簡單,簡單地來說,我們需要将系統盤符改回C:盤。但是如果我們直接修改是無法做到這一點的,因為Windows系統會阻止這一行為。是以我們可以直接修改如下系統資料庫:

談談Windows遷移上雲經常會遇到的問題 (一)

隻要将鍵值名字的C:和D:對換即可解決該問題。注意重新開機依然是必須的。

繼續閱讀