SYQY网游福利站-新活动速递_热门攻略_礼包中心

BISO

默认启动项(Boot Loader)数据:引导代码中存储EFI文件路径

无NVRAM,启动代码和分区表存储于磁盘0柱面0扇区(512字节)

UEFI

默认启动项(Boot Loader)数据:NVRAM中存储EFI文件路径

有NVRAM,启动代码存于NVRAM

分区表存储于磁盘最开始位置到1MB空间

启动项编辑工具efibootmgr

efibootmgr可用来修改NVRAM中的数据

执行此命令会打印出在BIOS设置的启动项:

123456789$ efibootmgr BootCurrent: 0000Timeout: 1 secondsBootOrder: 0000,0001,0002,0003,0004Boot0000* Arch Linux HD(1,GPT,c8f79300-07ea-4a02-8bc6-7cb19803be54,0x800,0xfa000)/\EFI\ARCHLINUX\GRUBX64.EFIBoot0001* Mac OS HD(1,GPT,c8f79300-07ea-4a02-8bc6-7cb19803be54,0x800,0xfa000)/\EFI\BOOT\BOOTX64.EFIBoot0002* UEFI:CD/DVD Drive BBS(129,,0x0)Boot0003* UEFI:Removable Device BBS(130,,0x0)Boot0004* UEFI:Network Device BBS(131,,0x0)

删除删除了以上引导项Mac OS(操作要非常小心,不然会导致无法引导系统启动)

1efibootmgr -b 1 -B

Bootice

刚开始接触Bootice是从WePE系统上自带的,有图形化界面,支持Windows系统,功能还是相当强大的,不只启动编辑

UEFI系统

UEFI总会被人们称为BIOS,这两个其实不是同一个时代的产物,只是习惯。

UEFI一般位于Boot的选项卡中可以进行启动项编辑,但有些厂商的UEFI固件开发的让人难以琢磨,比如联想的M73主板的UEFI编辑启动顺序后总是会往启动项中添加一大堆启动项,可能是个BUG。

Boot Loader

引导加载程序(Boot Loader),一般是以.efi结尾的文件,位于ESP分区,启动时会被UEFI启动项引导启动。

常见

GRUB

Clover

Systemd-boot

Windows Boot Manager

ESP分区

EFI系统分区(ESP),一般位于/boot,建议大小500MB-1GB

EFI文件

由BIOS/UEFI加载启动EFI文件,EFI文件是Boot Loader程序的启动入口(相当于Main函数)

路径一般情况下存储于:

esp/EFI/BOOT/BOOTX64.EFI(64设备)

esp/EFI/BOOT/BOOTIA32.EFI(32位设备)

UEFI会默认加载这些路径,像live版的系统装在U盘,可能按F12/F1/F2/F7/F9/F10/Enter/Del/Esc等键即可选择启动

不同的Boot Loader也会有不同的EFI存放路径但都会放置在esp/EFI/(esp代表boot分区)

GRUB

参考:

ArchWiKi:GRUB

安装

grub 引导加载程序

efibootmgr 自动添加引导UEFI菜单

os-prober 自动配置检测其他操作系统

生成Boot Loader生成引导Boot Loader到/boot目录,EFI文件生成至/boot/EFI/ArchLinux/grubx64.efi,调用efibootmgr添加引导项至UEFI启动菜单,生成/boot/grub引导程序

1grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux

配置

参考:

ArchWiKi:GRUB/Tips and tricks

执行配置命令将根据/etc/default/grub等配置文件生成/boot/grub/grub.cfg文件(grub启动序列等配置)

1grub-mkconfig -o /boot/grub/grub.cfg

安装os-prober将自动检测其他操作系统,比如Windows/其他Linux发行版,可使用命令开启/关闭检测,编辑文件/etc/default/grub

12# false开启true关闭GRUB_DISABLE_OS_PROBER=false