原文及更新: https://neucrack.com/p/121
UEFI啟動(dòng)時(shí)分為兩種情況
-
啟動(dòng)時(shí)只能選擇從那個(gè)磁盤啟動(dòng),如下最后兩項(xiàng)為兩個(gè)磁盤:
在用戶選擇了啟動(dòng)磁盤后采幌,UEFI會(huì)在這個(gè)磁盤中尋找EFI分區(qū),然后找這個(gè)分區(qū)下的/EFI/Boot/bootx64.efi(UEFI可以執(zhí)行的二進(jìn)制文件)休里,由這個(gè)文件進(jìn)行下一步操作(引導(dǎo)操作系統(tǒng)),這個(gè)文件通常由操作系統(tǒng)給出芋哭,在光盤/EFI/BOOT目錄下
-
UEFI中已經(jīng)創(chuàng)建了啟動(dòng)項(xiàng)如圖前兩個(gè):
這個(gè)啟動(dòng)項(xiàng)記錄了引導(dǎo)文件(*.efi)所在的磁盤和分區(qū)以及文件名见秽,直接執(zhí)行這個(gè)efi文件即可開始進(jìn)行下一步操作(引導(dǎo)操作系統(tǒng))
以下進(jìn)行驗(yàn)證:
磁盤基本信息
可見磁盤第二個(gè)分區(qū)(EFI分區(qū))掛在在/boot/efi
中,查看:
開機(jī)啟動(dòng)項(xiàng)直接選擇磁盤方式
注意到bootx64.efi文件桅打,電腦啟動(dòng)是嗜,如果選擇啟動(dòng)項(xiàng)是磁盤(比如ATA HDD0:
),BIOS(應(yīng)該說是UEFI)會(huì)在整個(gè)磁盤尋找EFI分區(qū)挺尾,即這里的/dev/sda2(EFI System)叠纷,然后在Boot目錄下尋找bootx64.efi并執(zhí)行,這個(gè)文件會(huì)找到需要執(zhí)行的開機(jī)引導(dǎo)程序潦嘶,比如Windows Boot Manager或Grub,然后后面的引導(dǎo)都交給它們處理
所以在系統(tǒng)安裝包里的
/EFI/BOOT/
目錄下會(huì)有這個(gè)文件(windows的是文件名是bootmgfw.efi
)崇众,系統(tǒng)安裝時(shí)會(huì)將這個(gè)文件拷貝到EFI分區(qū)的Boot
目錄下并改名為bootx64.efi
Ubuntu安裝時(shí)不會(huì)將bootx64.efi
復(fù)制到EFI分區(qū)的/EFI/Boot/
中掂僵,那個(gè)依然是Windows的文件,所以開機(jī)按F12選擇從磁盤啟動(dòng)后顷歌,會(huì)進(jìn)入windows boot manage
r锰蓬,Ubuntu的做法是在BIOS添加一個(gè)啟動(dòng)項(xiàng),即方法2眯漩,這個(gè)選項(xiàng)會(huì)調(diào)用EFI分區(qū)/EFI/Ubuntu
文件夾下面的文件(如果EFI分區(qū)里沒有這個(gè)文件夾則引導(dǎo)失敗芹扭,選擇這個(gè)啟動(dòng)項(xiàng)會(huì)看起來無任何反應(yīng))麻顶。
grub.cfg指定了啟動(dòng)的磁盤(磁盤0分區(qū)7的uuid
、(hd0,gpt7)
掛載在root(根文件目錄))舱卡,以及configuration file為/boot/grub/grub.cfg辅肾,然后根據(jù)這個(gè)配置文件grub進(jìn)行系統(tǒng)引導(dǎo),接下來就交接給grub啦~~
添加UEFI啟動(dòng)項(xiàng)
在開機(jī)進(jìn)入BIOS后轮锥,在BOOT項(xiàng)可能會(huì)有添加啟動(dòng)項(xiàng)的選項(xiàng)(電腦沒有這個(gè)功能矫钓,沒試
╮(╯_╰)╭
),如果沒有舍杜,可以使用工具efibootmgr來添加! 這里
-d
指定磁盤新娜,-p
指定分區(qū)號(hào)(EFI分區(qū)),-c
表示創(chuàng)建既绩,-L
表示名稱概龄,-l
指定有效的啟動(dòng)efi文件(EFI分區(qū)中的有效efi文件)再來一個(gè),改成普通分區(qū)
再來一個(gè),改成使用EFI分區(qū)的一個(gè)名稱錯(cuò)誤的efi文件
重啟饲握,每個(gè)啟動(dòng)項(xiàng)試一次私杜,發(fā)現(xiàn)只有Test可以正確進(jìn)入,原因是Test2的efi文件使用的是非EFI分區(qū)互拾,Test3使用的grub.efi文件不能正確引導(dǎo)
應(yīng)用
- 制作多系統(tǒng)引導(dǎo)
- 引導(dǎo)壞了可以手動(dòng)進(jìn)行修復(fù)