esxi轉到pve的時候, 通常只要把硬碟類型改成ide , 就能開機成功了
但是windows 2003實在是太老舊了, 改ide居然失敗, 出現藍屏0x000007B的錯誤.
偶試過很多方式, 除了更新硬碟類型 scsi , sata , ide 外 , 還使用台灣之光再生龍( clonezilla ) 將esxi端vm備份起來, 還原到pve上, 可惜還是失敗.
找了一陣子, proxmox論壇找到此篇文章, 裡面提到使用 mergeide 把esxi的windows 2003開機後執行mergeide, 將硬碟相關驅動程式幹掉, 隨即立即關機, 之後再轉換到pve上面, 設定成ide類型, 開機後就能重新抓取硬碟,正常啟動了.
mergeide的方式, 與微軟為了解決大量佈署作業系統建立 sysprep 架構有關, 把底層一些驅動資料清空, 讓系統保留原本的軟體, 又能重新抓取新的硬體資訊, 來達到異機安裝的目的.
哈!成功開機, 偶想說一切非常美好, 世界和平了,
但是問題又冒出來, windows 2003開機後, 需要重新啟用, 可惜無論如何修改啟用方式, 包括用原版序號都啟用失敗,
後來參考蘇老碎碎念-Windows Server 2003 OEM隨機版系統轉大量授權版本
使用蘇老建議的方法2, 把 windows 2003 升級成為大量授權版, 很神奇的就能正常啟用了.
哈!成功啟用, 偶想說和平又再一次降臨,
但是問題又又冒出來了, 正常啟用後, 居然還遇到裡面的 MS SQL server 2005 無法使用的情況, 查了一下最後發現原因是 .net framework 2.0 sp2失效了, 這應該跟mergeide清除底層有關, 本來想移除重新安裝, 但無論如何都無法移除失效的.net framework 2.0 , 更不用說直接重裝.
好險微軟官網出了.Net Framework移除工具可以移除到目前為止所有出過的版本(4.7).
下載移除工具之後, 可以只選擇移除 .net framework 2.0 , 等待移除完畢, 就可以重新安裝.
最後最後, 終於完成移轉這個該死的windows 2003 server, 真正的世界和平到來.