UEFI/Legacy bios简介与grub安装教程

您所在的位置:网站首页 uefi启动如何改为legacy UEFI/Legacy bios简介与grub安装教程

UEFI/Legacy bios简介与grub安装教程

2023-10-02 14:28| 来源: 网络整理| 查看: 265

目录

一、BIOS简介

二、UEFI与Legacy 启动模式简介

①Legacy启动模式

②UEFI启动模式

③具体不同

​三、grub安装

①grub软件包的安装

②grub源码下载

③grub本地编译安装及使用(Ubuntu 环境下)

四、参考

一、BIOS简介

BIOS 其实是一个英文缩略词,即 “Basic Input Output System” 四个单词的首字母组合,中文直译为“基本输入输出系统”,是一组固化到计算机内主板上一个 ROM 芯片上的程序。顾名思义,它保存着计算机最重要的基本输入输出的程序,还包括开机后自检程序和系统自启动程序。除此以外,它还可从 CMOS 中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

BIOS在加载工程中,承担kernel和硬件之前承上启下的作用。对于kernel来说,BIOS类似保镖一般,为其执行做好一切准备;对于硬件设备来说,BIOS就是质检员,检测初始化所有硬件设备。

二、UEFI与Legacy 启动模式简介 ①Legacy启动模式

legacy启动模式是指BIOS 固件用来初始化硬件设备的引导过程,Legacy启动模式包含一系列已安装的设备,这些设备在引导过程中计算机执行 POST (开机自检)测试时会被初始化。传统引导将检查所有连接设备的主引导记录 (MBR),通常位于磁盘的第一个扇区。 当它在设备中找不到引导加载程序时,Legacy会切换到列表中的下一个设备并不断重复此过程,直到找到引导加载程序,否则返回错误。

②UEFI启动模式

UEFI(统一可扩展固件接口)是一个公开的规范,定义了操作系统和平台固件之间的软件接口。UEFI 是传统 PC BIOS 的继承者,旨在解决其技术限制。它将引导数据存储在 .efi 文件中,而不是固件中。你经常会在新款的主板中找到 UEFI 启动模式。UEFI 启动模式包含一个特殊的 EFI 分区,用于存储 .efi 文件并用于引导过程和引导加载程序。

UEFI使用GPT的分区引导方案,支持更大的硬盘。由于省去了BIOS自检的过程,所以启动速度更快。

 ③具体不同 三、grub安装 ①grub软件包的安装

Debian/Ubuntu系统一般安装时会自带grub,如果没有的话可以通过 sudo apt-get install ...进行安装。但这种自带的grub一般只适配自身系统且版本不一,如果希望使用grub制作其他系统的启动盘还是建议下载源码进行本地编译安装。

②grub源码下载

官网链接:https://ftp.gnu.org/gnu/grub/(不推荐,下载速度)

清华镜像源:https://mirrors.tuna.tsinghua.edu.cn/gnu/grub/(推荐)

③grub本地编译安装及使用(Ubuntu 环境下)

(1)Legacy启动模式

grub编译安装:

进入解压完的grub文件夹,输入命令:

./configure --target=i386 --prefix=yourpath #--prefix选择自己想安装的地址,--target选择目标平台,一般为i386或x86_64 make -j $(nproc) #以自己的核心数进行代码编译 make install#安装

使用:①在启动盘上创建MBR分区表

           ②创建分区,将其第一个分区的文件系统设置为FAT32

           ③把grub安装到第一个分区上

./grub-install --target=i386-pc --boot-directory=${boot_folder} /dev/$LOOP_DEVICE #运行刚刚安装的grub-install (需要自己加上对应安装路径或进入安装目录执行命令), #--target选择目标平台(pc表示legacy bios),后面两个参数为boot所在文件夹与该启动盘在 #linux系统下的挂载位置

(2)UEFI启动模式

grub编译安装:

进入解压完的grub文件夹,输入命令:

./configure --target=i386 --with-platform=efi --prefix=yourpath #--prefix选择自己想安装的地址,--target选择目标平台,一般为i386或x86_64 #--with-platform=efi表示目标平台为uefi启动模式,不设定该参数默认legacy make -j $(nproc) make install

使用:①在启动盘上创建GPT分区表

           ②创建分区,将其一个分区的文件系统设置为FAT32,并将其标记为boot(启动)分区

           ③把grub安装到boot分区上

./grub-install --target=i386-efi --efi-directory=${mount_folder} --boot-directory=${boot_folder} --removable #运行刚刚安装的grub-install (需要自己加上对应安装路径或进入安装目录执行命令), #--target选择目标平台(efi表示uefi bios),后面两个参数为该启动盘在linux系统下 #的挂载位置与boot所在文件夹,removeable表示该安装是可移动到其他设备上运行的

注意:boot分区的大小应大于32MB,小于32MB会导致识别不到efi文件

(3)grub.cfg文件的编写

uefi/legacy 启动grub,grub就按照grub.cfg的内容运行,所以如果想用grub来启动自己的kernel内核程序,就应该在grub.cfg里面加上对应内容。存放路径为${boot_folder}/grub/grub.cfg。

四、参考

UEFI与Legacy 启动模式简介参考:一文读懂Legacy 和 UEFI的区别,到底选择哪一个?

grub详细安装流程及问题处理:GRUB - ArchWiki



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3