07、UEFI和GPT
GPT:"GUID分区表",它是 MBR 的替代品,和MBR相比没有 2Tb 磁盘大小限制,也没有4个主分区的限制 。
UEFI代表"统一扩展固件接口",它取代了有缺陷的"BIOS"框架 。在UEFI设计中,有一个用于存储所有重要引导数据的FAT文件类型的分区,称为"EFI 系统分区"(ESP),所有引导加载程序和一大堆其他重要的引导相关内容都应该放在 EFI 分区上 。
与传统的BIOS不同,UEFI不依赖于引导扇区,而是将引导管理器(Boot Manager)定义为UEFI规范的一部分 。当计算机通电时,引导管理器会检查启动配置,并根据其设置加载到内存中,然后执行指定操作系统 。
这就是为什么在UEFI设置中,启动选项中会出现 Windows Boot Manager这一项,和磁盘是独立的选项 。
在Windows系统中,可以通过工具,像是Bootice,查看引导管理器中有多少个启动项 。

文章插图
同时,UEFI支持在某路径下自动查找是否有引导程序,路径会因计算机体系结构而异 。例如,在x86-64系统上的引导加载程序的文件路径为/efi/BOOT/BOOTX64.efi 。这就是为什么支持UEFI启动的USB设备,不需要手动向启动管理器中添加路径 。启动Windows时,你不选择Windows Boot Manager,选择磁盘为第一启动项,它也能引导启动 。
在GPT上安装双系统时,引导加载程序建议就安装在同一个EFI 分区上,并且应将"引导条目"添加到指向与系统对应的引导加载程序的"启动管理器"中 。
这样启动GPT 系统时,计算机就可以根据引导条目的顺序加载第一顺序的引导加载程序以实现引导系统 。
08、引导加载程序Bootloader
Bootloader是用来实际启动磁盘上的操作系统的一个程序,是整个启动过程的第二阶段 。Windows有自己的引导加载程序,Linux 和其他系统也有自己的引导加载程序,要达到双系统的启动,有时就需要"链式加载"(Chainloader),这意味着一个引导加载程序加载另一个引导加载程序 。
目前来说,PC端常见的Booloader有以下几种:
NTLDR: Windows XP 和Windows Server 2003 等Windows NT系统使用的Bootloader 。
Winloader.exe/Winloader.efi : Windows Vista+ 系统使用的引导加载程序, BIOS模式中使用的Winloader.exe, UEFI模式中使用Winloader.efi 。
Grub2:大多数Linux系统使用的引导加载程序 。
Clover: 第三方引导加载程序,主要用来在非苹果系统上实现苹果系统的引导 。
当你在计算机上启动时有两个或多个系统可供选择时,你可以选择使用不同的引导加载程序启动哪个系统 。
从GRUB2(Linux 引导加载程序)启动,选择 Linux 发行版,它将选择 Linux 内核,然后启动该过程以启动 Linux 。如果选择 Windows,GRUB2 引导加载程序将加载 Windows 引导加载程序,该加载程序将继续执行其所有 Windows 内容以启动 Windows 。(因此称为"链加载")
有时引导加载程序将安装在自己的分区上(通常/启动) 。其他时候,它们将只驻留在分区与相应的操作系统 。
长话短说 。。。引导加载程序就是用来加载你选择的操作系统 。
09、UEFI Secure Boot
安全启动(Secure Boot)是一种技术,它是用来在UEFI固件中检查系统引导加载程序是否使用固件中包含的数据库授权的加密密钥进行签名 。在下一阶段引导加载程序、内核以及潜在的用户空间中,通过适当的签名验证,可以阻止未签名代码的执行 。也就是说,安全启动功能的作用就是确保系统的引导文件是没有被修改过的,而且在开启了Secure boot的主板上启动一个系统,那么该系统的引导就必须是签名了的 。如果是使用第三方PE工具制作的PE,引导文件是修改过,或者没有签名,那么在开启了Secure boot的电脑上,就是没法启的动,这时需要在主板中关闭Secure boot才能正常从U盘启动 。

文章插图

文章插图
10、fstab
fstab(File System Tab)是Unix和类Unix系统(Linux)中的一个文件系统配置文件,可用于定义磁盘分区,各种其他块设备或远程文件系统应如何装入文件系统,通常位于/dev/fstab
fstab是Windows系统中没有的概念,在Windows系统中,通常情况下磁盘上的分区是默认挂载的,但是在Linux系统,启动的时候分区不会自动挂载, 需要查找fstab文件中定义的挂载点,以便决定是否挂载某个分区,所以如果在Linux启动出现问题,有可能就是是Linux的系统分区没有被挂载,这时就可以考虑去查看fstab 。
推荐阅读
- Java 使用 Redis
- 月子里哭有什么危害
- Linux操作系统中的零拷贝技术,是怎么一回事
- Centos7下FastDFS从安装到入门
- 什么是分布式系统,如何学习分布式系统
- 如何在 CentOS 8/RHEL 8 上安装和使用 Cockpit
- 使用shell脚本在centos8平台安装nginx服务
- 由ibm公司研制开发的操作系统 ibm公司的兴衰史案例答案
- 拉绳开关原理及安装方法
- 利用淘宝漏洞低价买犯法吗 淘宝系统漏洞买到低价商品
