Grub2 製作UEFI版本Grub2引導

2021-08-03 08:51:31 字數 2748 閱讀 3802

首先要從grub官網下在grub2,grub2中包含所有grub2相關的命令,可以用來生成grub2引導,這裡著重介紹製作uefi版本的grub2

uefi啟動是fat/fat32分割槽/efi/boot/bootia32.efi或者/efi/boot/bootx64.efi,然後程序由uefi交給efi程式,我們就是製作這個efi程式,使用grub-mkimage命令即可生成。

efi程式中需要內建配置檔案,類似grub的grldr檔案,一旦生成後就很難修改了,所以,我們需要乙個類似與menu.lst的配置檔案,所以我們指定的配置檔案中指向外部的cfg配置檔案

以下為64位efi生成,32位參考資料夾名稱,將x86_64-efi修改為i386-efi即可,一般是不需要,支援uefi的基本都是64位的pc。

內建配置檔案為:x86_64-efi.cfg,內建配置檔案搜尋/efi/grub/x64.cfg 檔案,並將其設定為配置檔案。

將其儲存在grub2解壓目錄下,內容如下:

search.file /efi/grub/x64.cfg root

set prefix=($root)/efi/grub

configfile ($root)/efi/grub/x64.cfg

在grub2解壓目錄下,輸入以下命令:

-d 表示指定查詢模組目錄

-c 表示指定配置檔案,這個配置檔案會整合到efi檔案內,就是我們剛剛編寫的x86_64-efi.cfg

-p 設定偏好資料夾,cfg檔案中會調

-o 表示生成的目標檔案

-o 表示整合的模組

以上生成完畢,在資料夾下會出現乙個bootx64.efi檔案,將其和x86_64-efi、locale資料夾、unicode.pf2一起拷貝到第乙個fat/fat32分割槽,並新建乙個x64.cfg。

其中,x86_64-efi為模組目錄,locale為地區語言,unicode.pf2為字型,x64.cfg為配置檔案

目錄如下:

fat/fat32

#########################

/efi/boot/bootx64.efi

/efi/grub/x64.cfg

/efi/grub/unicode.pf2

/efi/grub/x86_64-efi/

/efi/grub/locale/

#####################

x64.cfg內容示例:

menuentry "啟動 delta win7" --class windows --class os

menuentry "local win7" --class windows --class os

menuentry "ubuntu16.04 x86" --class ubuntu --class os

menuentry "ubuntu16.04 x64" --class ubuntu --class os

menuentry "-------------------" --class ubuntu --class os

menuentry "ubuntu-efi" --class ubuntu --class os

menuentry "install ubuntu" --class ubuntu --class os

menuentry "-------------------" --class ubuntu --class os

menuentry "reboot" --class windows --class os

menuentry "halt" --class windows --class os

Grub2 在優盤中安裝Grub2

下面介紹linux下將優盤。安裝mbr有兩種方式,一種是安裝到磁碟,即mbr,一種是安裝到分割槽,也就成了pbr。mbr會被bios識別,pbr要通過mbr來引導進入。首先使用fdisk查詢到對應分割槽,例如 dev sdb2 mount dev sdb2 mnt grub2 install roo...

grub2崩潰恢復

grub2在mbr下,向後占用了大約50個扇區,實現了乙個小的resume 命令列,這個命令列,可以列各分割槽的檔案目錄,載入擴充套件命令模組,當grub2不能找到 boot grub 的檔案時,就會進入這個 resume 命令列狀態,booting from hard disk.grub load...

Grub2配置小結

這幾天因為工作需求,需要配置多系統引導,我選擇了grub2作為引導器。配置時才發現grub2放棄了grub1時簡潔易上手的配置檔案menulist,採用了 boot grub grub.cfg 這個非常麻煩的檔案。一開始的時候配置了半天,發現差不多了,grub update一下,然後前面配的都被刷沒...