石佛营网站建设,网站建设会面临些什么问题,微信小程序购物商城,优秀网站的链接启动过程#xff1a;
一、通电 按下开关#xff0c;不用多说
二、uefi阶段 通电后#xff0c;cpu第一条指令是执行uefi固件代码。 uefi固件代码固化在主板上的rom中。
#xff08;一#xff09;uefi介绍 UEFI#xff0c;全称Unified Extensible Firmware Interface
一、通电 按下开关不用多说
二、uefi阶段 通电后cpu第一条指令是执行uefi固件代码。 uefi固件代码固化在主板上的rom中。
一uefi介绍 UEFI全称Unified Extensible Firmware Interface即“统一的可扩展固件接口”是适用于电脑的标准固件接口旨在代替BIOS。
UEFI的前身是Intel在1998年开始开发的Intel Boot Initiative后来被重命名为可扩展固件接口Extensible Firmware Interface缩写EFI。Intel在2005年将其交由统一可扩展固件接口论坛Unified EFI Forum来推广与发展为了凸显这一点EFI也更名为UEFIUnified EFI。
二uefi功能 1.uefi能够识别FAT格式分区它能够直接读取FAT分区中的文件 2.uefi规定了一种可执行文件格式通常以.efi为后缀。uefi能够执行此格式的代码
三、boot loader阶段 UEFI固件代码会读取所有硬盘的GPT分区表并在GPT分区表中查找ESP。 找到esp后uefi会读取其中的boot loaderboot loader通常是以 .efi 结尾的文件。 读取完之后形成一个启动项列表每个启动项都是指向一个boot loader。 然后由我们选择任意一个启动项uefi执行它。如果不选择则执行第一顺位启动项。
所以可以这么说uefi会读取执行第一顺位boot loader。
一esp EFI系统分区EFI System Partition是uefi要求的一个FAT32格式的分区。 其中存储着efi格式的可执行文件一般是boot loader。uefi会读取执行其中的文件。
linux中一般挂载到/boot/efi window中一般是不可见的。可以用mountvol命令挂载分区。
二boot loader位置 1.默认boot loader 一般都是如下位置 \EFI\BOOT\BOOTMACHINE_TYPE_SHORT_NAME.EFI
IA32系统是\efi\boot\bootia32.efi x86-64系统是\efi\boot\bootx64.efi ARM64系统是\efi\boot\bootaa64.efi
如果安装多系统默认boot loader会被不同系统覆写。 谁最后安装就把默认boot loader改成谁的。
2.特定系统的bootloader 路径一般如下 \EFI厂商bootloader.efi
(1)windows 对于windowsboot loader是bootmgr存储在esp中路径一般是\EFI\MICROSOFT\BOOT\bootmgfw.efi (2)linux 对于64位linuxboot loader是grub2存储在esp中路径一般是/efi//grubx64.efiuefi会直接读取执行它不需要MBR中的boot.img。这个文件就相当于bios方式中的stage1 and stage1.5. stage2依然是存储在/boot/grub2目录中。grubx64.efi会读取执行 /boot/grub/x86_64-efi/normal.mod文件。 /boot/grub/ 可以在esp中也可以在另一个分区。 四、kernel阶段 boot loader会读取执行操作系统内核。
以Linux系统为例内核在/boot目录。名字一般叫做vmlinuz grub2会载入/boot目录下面的kernel。
整个流程如下
判断linux是否是以uefi方式启动 在Linux终端里运行下面的命令 [ -d /sys/firmware/efi ] echo “Installed in UEFI mode” || echo “Installed in Legacy mode” 首先你可以在主板固件设置里禁用BIOS以及CSM模块只启用原生UEFI模式 另外你可以查看Linux系统上是否有/sys/firmware/efi这个目录如果这个目录存在那么系统就是以UEFI模式启动的