linux下执行efi文件,在Linux下创建EFI BIOS Grub加载分区
GRUB是什么
GRUB是一種多重引導加載器,它讓用戶可以選擇引導安裝在計算機上的多個操作系統之一,或者選擇特定操作系統分區上可用的特定內核配置。
EFI是什么
EFI(可擴展固件接口)系統分區或ESP是數據存儲設備(通常是硬盤驅動器或固態硬盤驅動器)上的一個分區,計算機用這個分區來存放統一可擴展固件接口(UEFI)。當計算機啟動時,UEFI固件會加載存儲在ESP上的文件,以啟動已安裝的操作系統和各種實用程序。
準備工作
確保你已經在BIOS里面使能了EFI
確保你已經安裝了需要的包,比如parted和gparted
為EFI調整分區的大小
現在的場景是,我們沒有EFI分區,我們需要一個EFI分區才能讓uEFI正常工作。下面是一個沒有EFI分區的分區情況,因此我們需要創建它。
Number Start End Size File system Name Flags
1 1049kB 100GB 100GB ext2
3 101GB 5987GB 5887GB ext4
2 5998GB 6001GB 2999MB linux-swap(v1)
分區1是ext2格式,用來掛載/boot分區,分區3是/根分區,分區2是我們的交換分區,但是我們需要另一個分區來保存我們的uEFI。為了做到這一點,我們需要運行一個在CD/DVD或U盤上的實時ISO。分區如果被掛載了,就無法更改了。
沒有EFI的分區
為EFI創建一個分區
由于我們沒有分區集了,所以需要調整主分區的大小來創建空間。我將從主分區中未使用的空間調整一個10GB分區大小給uEFI,因為我將大量使用uEFI分區。加載parted或Gparted并進行更改,更改可能需要一段時間,如果你使用的是加密文件系統,那么除非你從一些額外的未分配空間來創建,否則就不能成功。
注意:確保在所有已配置系統或高級用戶的高級分區上始終預備一些未分配的可用空間。
調整結束后,分區就會像下圖一樣了。
有EFI的分區
分區更改完成后,重新啟動系統。由于我們在最后創建了分區,因此驅動器沒有變化,否則我們將需要更改分區的UUID等。
重新啟動后,在終端中運行parted,將分區格式化成ext4格式,我們的分區是#4
mkfs.ext4 /dev/sde4
在終端上繼續運行parted, 我們可以為EFI分區創建一個啟動的標識。
parted /dev/sde4
Number Start End Size File system Name Flags
1 1049kB 100GB 100GB ext2
3 101GB 5987GB 5886GB ext4
4 5987GB 5998GB 10.7GB
2 5998GB 6001GB 2999MB linux-swap(v1)
在parted命令提示符下,我們希望將GPT分區表設置成bios_grub的flags,方法是在parted命令提示符下鍵入一下命令。
(parted) set 4 bios_grub on
現在,讓我們看一下分區4的變化:
(parted) print
Model: ATA WDC WD6002FZWX-0 (scsi)
Disk /dev/sde: 6001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 100GB 100GB ext2
3 101GB 5987GB 5886GB ext4
4 5987GB 5998GB 10.7GB bios_grub
2 5998GB 6001GB 2999MB linux-swap(v1)
高亮成紅色的文本就是變化。
從parted退出
(parted) quit
現在,我們可以在新創建的分區上安裝Grub了。
grub-install /dev/sde
將會看到如下的輸出:
Installing for i386-pc platform.
Installation finished. No error reported.
重新安裝GRUB-EFI
apt install --reinstall grub-efi
如果你需要重新安裝grub-efi,可以用上述的命令。
更新GRUB
update-grub
如果是grub2,那么運行下面的命令:
update-grub2
總結
以上是生活随笔為你收集整理的linux下执行efi文件,在Linux下创建EFI BIOS Grub加载分区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium无法定位到QQ邮箱登录页
- 下一篇: 迅为IMX8MM开发板Linux系统修改