在VirtualBox中安裝Windows 10

我使用的主要電腦作業系統是Mac OS X。在台灣用Mac OS X的畢竟是小眾,很難完全避免使用Windows。我多年來的解決方案是在VirtualBox環境中使用Windows XP Professional Version 2002 Service Pack 2。但是平日會用到的一些網路服務從去年開始不支援Windows XP,看來不升級不行了。於是在4個月前買了去年上市的Windows 10家用完整盒裝版(NT$4098),裡面裝的不是光碟而是一個小小的USB隨身碟(容量約15 GB,使用了約8 GB)。

Windows 10 家用完整盒裝版

作業環境:
VirtualBox 5.0.26
Host OS: Mac OS X 10.11.4 (El Capitan)
Guest OS: Windows XP升級為Windows 10家用完整盒裝版

上個月下旬開始認真嘗試安裝。因為懶得把舊的應用程式╱檔案重新安裝╱搬移,希望能在原有的Windows XP virtual machine (VM)以上述USB隨身碟升級為Windows 10,而不是重新安裝。

網路上有不少文章描述從Windows 7或8.1升級至Windows 10的步驟。Windows XP大概是太過時了,幾乎找不到類似的指南。

以下步驟假設登入Mac OS X的使用者名稱為anesthtw,Windows 10家用完整盒裝版裡的USB隨身碟已插入電腦的USB插槽。

Upgrade to Windows 10 on VirtualBox with OSX host“是說明如何從Windows 8.1升級為Windows 10。我依該文建議,首先將VirtualBox原來的Windows XP VM加大(我的選擇是40 GB)。不過該文建議的"Uninstall the Guest Additions from within the Windows 8.1 VM. Reboot it."事後證明沒有必要。

進入Mac OS X的「終端機」(Terminal)程式,鍵入mount,取得上述USB隨身碟的disk path(亦可由Mac OS X的「磁碟工具程式」得知),假設其為/dev/disk3s1。(dev:device。)

常見的建議作法為:

在Mac OS X的「磁碟工具程式」:點選上述USB隨身碟,「檔案」選單->卸除(不是「退出」)
(參考資料:(Mac OS X Host) Boot a Virtual Machine from USB in VirtualBox
或在「終端機」程式鍵入
diskutil unmountDisk /dev/disk3s1

在「終端機」程式鍵入
sudo chown anesthtw /dev/disk3s1
sudo chmod 777 /dev/disk3s1
(參考資料:[VirtualBox] 在 VM 中掛載 USB disk

(關於Unix的file permission,可參考Unix – File Permission / Access Modes。)

因為Oracle VM VirtualBox® User Manual (Version 5.0.26)的p.85有言:

Warning: Booting from drives attached via USB is not supported as the BIOS lacks USB support.

所以必須先為VirtualBox建立上述USB隨身碟的替身檔(VMDK磁碟映像檔),一般建議的作法是在「終端機」程式鍵入以下4種組合之一:

  • sudo VBoxManage internalcommands createrawvmdk -filename /Users/anesthtw/Documents/WINDOWS10.vmdk -rawdisk /dev/disk3
  • sudo VBoxManage internalcommands createrawvmdk -filename /Users/anesthtw/Documents/WINDOWS10.vmdk -rawdisk /dev/disk3s1
  • sudo VBoxManage internalcommands createrawvmdk -filename WINDOWS10.vmdk -rawdisk /dev/disk3
  • VBoxManage internalcommands createrawvmdk -filename /Users/anesthtw/Documents/WINDOWS10.vmdk -rawdisk /dev/disk3

結果不管怎麼組合都是失敗,屢試不爽,無法建立VMDK磁碟映像檔,出現的一堆錯誤訊息如下:

VBoxManage: error: VMDK: could not open raw disk file ‘/dev/disk3s1’
VBoxManage: error: Error code VERR_ACCESS_DENIED at /Users/vbox/tinderbox/5.0-mac-rel/src/VBox/Storage/VMDK.cpp(3439) in function int vmdkCreateRawImage(VMDKIMAGE*, VBOXHDDRAW*, uint64_t)
VBoxManage: error: Cannot create the raw disk VMDK: VERR_ACCESS_DENIED
VBoxManage: error: The raw disk vmdk file was not created

即使用Mac OS X的「磁碟工具程式」或「終端機」程式(例如hdiutil convert指令)將上述USB隨身碟先轉成.iso、.dmg、.cdr格式的磁碟映像檔,結果仍然一樣無法建立其VMDK磁碟映像檔。(參考資料:Create ISO Images from the Command Line

將上述.iso、.dmg、.cdr格式的磁碟映像檔直接掛載到VM中,一樣失敗。
安裝Windows 10失敗
no bootable medium

也曾試過照"(Mac OS X Host) Boot a Virtual Machine from USB in VirtualBox“建議,將VM的"Controller: IDE Controller"的attribute互換。沒用。

也有人建議在「終端機」程式鍵入"csrutil disable"指令來關閉Mac OS X 10.11的「系統完整保護(System Integrity Protection)」。沒有幫助。

就這樣閉門造車了近一週,無法成功。

後來請教大兒子,他要我從https://www.microsoft.com/zh-tw/software-download/windows10ISO下載Windows 10的光碟映像檔"Win10_1511_2_Chinese(Traditional)_x64.iso",然後在VirtualBox中新增一個VM,「設定值(Settings)」調整為:

  • 「系統(System)」的「開機順序(Boot Order)」:將光碟機(Optical)調整至最上面
  • 存放裝置(Storage):點選原本為Empty的光碟,再點選右方「光碟機(Optical Drive): …」右方的光碟圖像,選擇已下載的"Win10_1511_2_Chinese(Traditional)_x64.iso"

成功!
安裝Windows 10成功1

安裝Windows 10成功2

為何須在VirtualBox中新增一個VM,不能直接由原有的Windows XP VM升級為Windows 10?因為原先的Windows XP是32-bit作業系統,而Windows 10是64-bit作業系統。

安裝成功後,為了節省硬碟空間,想把原有的Windows XP VM(原本就設定為可以自動調整占用硬碟空間大小的dynamically allocated storage)變小,於是在「終端機」程式鍵入:
cipher /w:C:
反而使該VM從23 GB膨脹為43 GB!

改在「終端機」程式鍵入:
sdelete -z C:
VBoxManage modifyhd –compact /Users/anesthtw/VirtualBox\ VMs/XP/XP.vdi
(參考資料:How to Resize a VirtualBox VDI or VHD File on Mac OS X

成功使該VM縮小為13.5 GB。

(註:"VBoxManage modifyhd –resize x"(x的單位是MB)只能增大VM,不能使其縮小。)

我在同一台筆電上安裝了兩次Windows 10,後來在「設定:更新與安全性」出現了錯誤訊息:

此產品金鑰已用於另一部電腦,試嘗試其他金鑰,錯誤碼:
0xC004C008

微軟的「與我們連絡」網頁提供兩種解決方式:一、與客服線上「聊天」,二、「以電話連絡我們:0800-00-88-33…」。我先嘗試0800電話,被罐頭語音問到「安裝識別碼」就傻住了。什麼是「安裝識別碼」啊?只好申請了Microsoft帳號,以線上聊天方式解決。

事後才找到以下參考資料:
【教學】windows 10 彩盒版啟動錯誤 (此產品金鑰已用於另一部電腦)

升級的副作用是VM的開、關機變慢,而且部分網路銀行還來不及支援Windows 10。

廣告

One Response to 在VirtualBox中安裝Windows 10

  1. anesthtw says:

    這個版本的Windows 10最討厭的一點是會自動更新,無法選擇要不要更新。

    另一個問題是shared folder會消失。解決方式為"re-install the Guest Additions from the guest side":
    https://forums.virtualbox.org/viewtopic.php?f=7&t=79857

    也就是進Windows 10,打開「CD 光碟機 (D:) VirtualBox Guest Additions」,讓它自行安裝。

    喜歡

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: