總是喜歡在自己的電腦上裝 Linux。小時候安裝還很麻煩,要燒光碟。後來研究了從硬碟安裝的方法,可又需要額外的磁區。一直到 USB 隨身碟普及了以後,重灌才成為一件比較方便的事。尤其 Ubuntu 的安裝界面做的還不錯,後來就一直用到今天。
雖然習慣使用 Linux,可是有時候還是會遇到要在 Windows 上才能寫的作業,所以每次都把電腦灌成雙系統,也慢慢熟悉了這個過程,一直以來不太有改變。不過最近拿到一台有 UEFI 開機的 Lenovo ThinkPad X1 Carbon 筆電,又想在啟用 Secure Boot 的情況下同時裝雙系統,設置上就比較麻煩了。本文就是記載這個過程。
安裝 Windows 8
原本如果是在正常的電腦上安裝 Windows 8,可以透過 Windows USB/DVD download tool 來製作安裝用隨身碟,但在 UEFI 啟用的情況下就不行了。這時參考〈How to create Windows 8 installation bootable USB for UEFI〉,首先在 Windows 環境下使用管理員權限執行 cmd.exe,用 diskpart.exe 找出隨身碟的代號:
diskpart.exe
list disk
再把隨身碟格式化成 FAT32,並設成可開機。注意,disk 1
的這個 1
要選擇隨身碟代號,否則可能會把其他硬碟的內容給刪除。partition 1
則指的是隨身碟上的第一個 partition:
select disk 1
clean
create partition primary
select partition 1
active
format quick fs=fat32
assign
exit
理論上用其他工具格式化隨身碟可能也可以,不過沒有嘗試過。
接下來,先 mount Windows 8 的安裝光碟,然後把內容全部拷貝到隨身碟上,比如說如果安裝光碟 mount 在 H:
,而隨身碟在 F:
的話:
xcopy H:\* F:\ /s /e
然後先用 BIOS 停用 UEFI Secure Boot,才能用隨身碟開機。首先開始安裝 Windows 8。參考 〈The complete guide to a Windows 8 clean installation〉 進行安裝,但自行設定硬碟磁區大小,空出給 Ubuntu 的空間。此時安裝程式也會自動幫你建立 Recovery, System (Reserved), MSR (EFI 磁區) 等三個磁區,看起來很醜,不過可能有用,就保留吧。
裝完後不知為什麼時間設定有錯,而且也無法更新,於是參考〈Change Time Servers in Windows 8〉,將 time server 改成台大的 ntp2.ntu.edu.tw
。
最後重開機,在 BIOS 中啟用 UEFI Secure Boot 就大功告成了。
安裝 Windows 8.1
假設直接用 Windows 8.1 安裝光碟,到這裡就結束了。可是因為學校只有升級版的 Windows 8.1,所以緊接著馬上從 Windows 8 升級到 Windows 8.1。
首先用 Windows Update 更新系統,然後 mount Windows 8.1 光碟,並執行他。開始一步步安裝,安裝的選項跟 Windows 8 差不多,我選擇不要保留任何設定,把 Windows 8 的紀錄都洗掉。安裝完硬碟又會多一個 Recovery 磁區,雖然很醜,可是可能有用所以保留他。
安裝完後再重新設定一次 time server 就大功告成了!
安裝 Ubuntu 14.04 64-bit
只有 64-bit 版本對 UEFI 有較好的支援,所以首先參考〈How to create a bootable USB stick on Ubuntu〉製作一個 Ubuntu 14.04 安裝隨身碟,然後參考〈Ubuntu Community Wiki: UEFI〉來安裝,基本上安裝過程跟一般情形一樣,只是我選擇自訂磁碟分割,所以要自己找出 EFI 磁區,然後指定 mount 到 /boot/efi
。
最後裝完會遇到一個 bug:〈Unable to chainload Windows 8 with Secure Boot enabled 〉,使得無法直接用 grub2 來啟動 Windows 8.1,不過 ThinkPad X1 Carbon 可以透過 BIOS 來多重開機,因此還是可以使用,對於很少使用 Windows 8.1 的我來說並不造成困擾。