Ubuntu 12.04 Winodws 8.1 dual-boot 雙開機

 

筆者的筆電是Lenovo Thinkpad T530,具有 UEFI firmware 的功能。原本隨機安裝的是Winodws 7x64 專業版的legacy boot mode,且已經再安裝Ubunto 12.04 並能夠正常在在開機時選擇是以Ubuntu開機或是以Windows 7開機。但因為要使用微軟Hyper-V的功能,所以只好將Windows 7分割區重新format後,再重新安裝Windows 8.1,且已正常開機。當然此時在開機後,並無法出現可以選擇Ubuntu項目的開機選單。

 

因此一開始直接重新安裝Grub2,之後重開機確實可以出現UbuntuWindows的開機選單,且可以正常進入Ubuntu,但是卻造成無法進入Windows 8.1的情況。查核原因才瞭解到,Windows 8.1是採用UEFI的開機模式,而Ubuntu當初安裝時卻是採用Legacy boot mode。經查詢Ubuntu EFI的網路文章(https://help.ubuntu.com/community/UEFI ), Ubuntu Boot-Repair網路文章(https://help.ubuntu.com/community/Boot-Repair )有詳細的執行步驟,說明可以用Ubuntu LiveCD或直接進入已安裝的Ubuntu系統開機後,先安裝Boot-Repair的套件, 指令如下:

 

sudo add-apt-repository ppa:yannubuntu/boot-repair


sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list


sudo apt-get update


sudo apt-get install -y boot-repair && (boot-repair &)

 

 

也可先執行sudo add-apt-repository ppa:yannubuntu/boot-repair後,再進入Synaptic套件管理程式來以選單的方式安裝boot-repair套件。

安裝完Boot-repair套件後,可在終端機中直接輸入 boot-repair指令就可以啟動該套件。並可直接點按「Recommended Repair」大概就可以順利修復出現Ubuntu Windows開機選單。

當利用Ubuntu LiveCD進行Boot-Repair的作業過程中,其中某一步驟指令,例如:

chroot "/mnt/boot-sav/sda5" apt-get install -y --force-yes grub-pc linux

但是確發生如下的錯誤訊息:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux

這是因為上述chroot 指令的最後一個參數 linux 是多餘的,必須要去除,變成指令:

chroot "/mnt/boot-sav/sda5" apt-get install -y --force-yes grub-pc

才能繼續完成。可參考此篇文章

依筆者的經驗,最好是透過進入已安裝完成的 Ubuntu 系統來安裝與執行 Boot-Repair套件,比較好。

當然,在重開機時,最好要先進入BIOS中,在Boot的頁次中,EFI/Legacy boot mode選擇為Both,如此就可視可用情況來自動選擇,且在EFI/Legacy Boot Priority中,選擇EFI boot first

如此就可以順利的在開機選單中,正常啟動Windows 8.1Ubuntu 12.04了。

文章標籤
創作者介紹

xx3d2ybnf-不圖3日但2年精進勇者不懼的部落格

xx3d2ybnf 發表在 痞客邦 留言(0) 人氣()