- 安裝雙系統
- 引導修複
- 1 在Ubuntu中将引導記錄寫入 boot
- 2 一波三折grub中的win10啟動項又丢了
1. 安裝雙系統
win10 + Ubuntu16.04 雙系統安裝流程:
- 首先安裝windows10;
- 安裝Ubuntu16.04 ,注意boot loader 選擇和win10的引導目錄;
-
grub引導丢失:
問題描述:
st=>start: Win10安裝完畢
while:
op1=>operation: 當Ubuntu系統安裝完畢之後,重新開機電腦
op2=>operation: 重新開機電腦 順利進入grub引導
op3=>operation: 重新開機電腦 選擇進入Windows10
ex=>exception: 順利開機之後重新開機電腦 然後問題來了:“grub引導界面不見了,竟然直接打開win10”。
if exception solved:
break
else:
continue
e=>end: 結束
進入BIOS之後,發現Boot Order中的Ubuntu不見了,隻剩下一個Windows Boot Manager(WBM)。上面的循環,進行了好幾次(汗)。
我這個桌上型電腦是惠普的,Product No. QV9999AV, BIOS版本是(K01,V02.90)
這個版本的BIOS很奇怪哦,跟别人的不太一樣,好幾個别人解決問題的功能(比如,選擇檔案添加EFI啟動項)他都沒有,略顯寒酸。還有一點要說明的是,我的硬碟分區表是GPT格式的,引導方式是EFI,不是MBR分區,不能用Legacy引導。是以不能用EasyBCD從在WBM中添加grub,因為EasyECD針對linux的引導方式是legacy的。
(這隻在這一種情況下适用,其他情況自行嘗試)
2. 引導修複
這個主機闆的BIOS有一個功能可以從安裝的引導目錄中選取一個efi引導檔案進行啟動。
這樣就可以把linux順利找回來了。哈哈,當然沒有這麼簡單。在進入一次win10,再一次丢引導是分分鐘的事。
曆經千辛萬苦找到了解決方案:
2.1. 在Ubuntu中将引導記錄寫入 boot
這樣比在Windows中好操作,就是好操作,不解釋。
$ sudo efibootmgr -c -d /dev/sda/ -p -L Ubuntu -l /EFI/ubuntu/grubx64.efi
-d /dev/sda -p 1 :表示的是引導分區所在的盤,我的是sda1, 可以通過fdisk檢視
-L Ubuntu :要添加的引導記錄的名字,這裡寫成Ubuntu
-l /EFI/ubuntu/grubx64.efi: 引導程式的location,linux一般使用grubx64.efi
這樣就順利在BIOS中添加了一條引導記錄。YEAH!完成!
檢視現有的啟動項:
修改啟動項的順序,即Boot Order
2.2. 一波三折,grub中的win10啟動項又丢了!
千辛萬苦找回了Ubuntu的入口grub,一不小心,不知道怎麼,又把grub中的win10給丢了。
在grub中添加win10的啟動項
$ sudo grub-install /dev/sda1
$ cd /etc/grub.d/
$ gedit _custom #在檔案中加入下面的内容
$ sudo update-grub #更新設定
[email protected]:/home/like# cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n + $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 10" {
set root='(hd0,1)' # 同樣的這裡的 (hd0,1)也表示引導分區所在的盤符
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}
重新開機可以看到新加入的win10啟動項。