當我從舊磁碟升級到新磁碟並決定重新安裝作業系統而不是複製映像並拖曳多年來積累的所有「垃圾」時,我認為運行「虛擬機器中的舊作業系統,從而使轉換變得更容易:如果需要,我在設定新機器期間仍然可以訪問“舊機器”,並且尚未遷移所有內容。
我過去曾在 WindowsXP 機器上完成過此操作,所以我沒想到會出現太多問題。我錯了=)我花了一天的大部分時間才弄清楚可能是什麼問題,大部分時間都是徒勞地在互聯網上尋求幫助=(
因此,我將在下面寫下我為使其正常工作所做的工作,以便其他人可以從中受益......
答案1
這是我為使其正常工作所做的事情的列表,我留下了一些“關鍵錯誤”,但遺漏了我嘗試過的大多數死胡同。如果有人想添加建議,請隨意,因為我在虛擬化方面絕對是業餘愛好者。
(可選)從當前作業系統中卸載盡可能多的內容(您不需要的程序,還有視頻驅動程序/音頻驅動程序/等,因為在虛擬機中硬體無論如何都不會可見.... ..)。磁碟上的資料越少,以後的虛擬磁碟就會越小,從而佔用更少的寶貴空間。
建立當前作業系統的映像。您可以使用 SysInternals 的 Disk2Vhd “在線”執行此操作。只需連接外部磁碟,選擇要轉換的作業系統分割區並在外部磁碟上建立 VHD。理論上你可以同時使用這台機器,但我建議不要這麼做。
=> 備註:有(或曾經有?)來源磁碟不得超過 127Gb 的限制。由於我目前的磁碟只有 120Gb,我沒有遇到任何問題,也不知道問題是否仍然存在...
=> 備註:我很久以前就已經刪除了 BitLocker 分割區,不確定如果 BitLocker 存在的話是否可以虛擬化,更不用說它是否正在使用。在網上查找,您會發現一些關於如何擺脫它的指南。
交換磁碟並啟動“新”作業系統。使用 Windows Virtual PC 在新虛擬機器中載入 .vhd。
=> 這不會像 WinVPC 那樣運作不是支援64位元並模擬32位元機器。因此作業系統嘗試啟動但失敗=(
取得 VMWare Player 並安裝它(免費軟體)。
從 Starwind 取得 V2V 影像轉換器(免費軟體,但需要註冊)並安裝它。
將 .vhd 轉換為 .vmdk 映像(需要一段時間,最好從一個磁碟到另一個磁碟)。
- 在VMPlayer中建立一個新的虛擬機,表示稍後將在其上安裝Win7 64位元。將機器放在資料夾 X 中,選擇單檔案虛擬磁碟。
將資料夾 X 中建立的 .vmdk 替換為上面建立的 .vmdk。 => 像這樣啟動虛擬機會讓我看到“變形視窗”,然後是藍屏並重新啟動......一遍又一遍。
使用文字編輯器開啟 .vmx 檔案並尋找以下條目:
scsi0.present = "TRUE" scsi0.virtualDev = "lsisas1068" scsi0:0.present = "TRUE" scsi0:0.fileName = "<filename>.vmdk" ide1:0.present = "TRUE" ide1:0.autodetect = "TRUE" ide1:0.deviceType = "cdrom-raw"
並將資訊替換為:
bios.bootDelay = "5000" scsi0:0.present = "FALSE" ide0:0.present = "TRUE" ide0:0.fileName = "<filename>.vmdk" ide0:0.virtualDev = "lsisas1068" ide1:0.present = "TRUE" ide1:0.autodetect = "TRUE" ide1:0.deviceType = "cdrom-raw"
儲存並啟動虛擬機器並祈禱吧。對我來說,從這裡開始就很完美了。
備註:由於作業系統注意到「硬體」發生更改,因此需要重新啟動。就我而言,這失敗了,因為我重新使用了「新」作業系統的金鑰。 YMMV。
答案2
我對虛擬機器還沒有太多了解,但我想我應該提到 VMware 已經為此提供了一個解決方案:VMware vCenter 轉換器。從他們的主頁:
VMware vCenter Converter 可將基於 Windows 和 Linux 的實體機器以及第三方映像格式轉換為 VMware 虛擬機器。