admin管理员组文章数量:1130349
Linux-BIOS/UEFI
以下介绍Linux BIOS/UEFI相关知识,包括基础知识、配置示例以及高级用法。
1. BIOS简介
BIOS(Basic Input/Output System,基本输入输出系统)是一种固件,存储在主板上的EEPROM芯片中,负责在计算机启动时进行硬件初始化并引导操作系统。
1.1 BIOS的功能
- 硬件检测与初始化:在开机时检查CPU、内存、存储设备等硬件的可用性。
- 引导操作系统:从引导设备(如HDD、SDD、USB)加载引导程序(如GRUB)。
- 提供系统设置界面:可通过
DEL或F2进入BIOS设置界面,调整时钟、风扇、引导顺序等。
1.2 BIOS的局限性
- 16位模式:仅支持16位模式,不适合现代64位系统。
- 启动速度慢:BIOS逐步检测硬件,导致启动较慢。
- 引导设备限制:传统BIOS使用MBR(最多支持2TB存储)。
2. UEFI简介
UEFI(Unified Extensible Fireware Interface,统一可扩展固件接口)是BIOS的替代品,提供更强大的功能和更快的启动速度。
2.1 UEFI的优势
- 支持更大的存储设备:采用GPT(GUID分区表),支持超过2TB的存储。
- 图形化界面:提供鼠标支持和直观的图形化设置界面。
- 更快的启动速度:并行化硬件初始化过程。
- 安全启动(Secure Boot):防止未签名的操作系统或恶意软件加载。
2.2 UEFI的启动模式
- UEFI模式:直接引导EFI分区中的
.efi文件。 - Legacy BIOS兼容模式(CSM):模拟传统的BIOS进行引导。
3. 检查系统当前的启动模式
在Linux系统中,可通过以下命令检查系统使用的是BIOS还是UEFI启动。
ls /sys/firmware/efi
如果目录存在,说明系统使用UEFI启动,否则是传统BIOS。
或者使用以下命令查看引导模式:
efibootmgr -v
4. 进入BIOS/UEFI设置界面
在不同主板厂商下,进行BIOS/UEFI的按键不同,例如:
- DELL:F2或F12。
- HP:F10或ESC。
- Lenovo:F1或F2。
- ASUS:DEL或F2。
通常在开机时按下相应按键,即可进入BIOS/UEFI界面。
5. Linux下的UEFI工具
5.1 efibootmgr命令
efibootmgr用于管理UEFI启动项,常见用法如下:
查看当前UEFI启动项
efibootmgr
添加新的UEFI启动项
efibootmgr --create --disk /dev/sda --part 1 --loader "\\EFI\\ubuntu\\grubx64.efi" --label "Ubuntu" --verbose
删除启动项
efibootmgr --delete-bootnum --bootnum 0003
6. 设置启动顺序
在BIOS/UEFI界面中,通常可以修改启动顺序,例如:
- USB启动
- 硬盘启动
- 网络启动
在Linux下,也可以使用以下命令修改启动顺序:
efibootmgr --bootorder 0001,0003,0000
7. 在Linux下使用UEFI启动(GPT分区)
7.1 使用gdisk创建GPT分区
gdisk /dev/sda
创建GPT分区并添加EFI分区(通常为512MB,类型代码EF00).
7.2 格式化EFI分区
mkfs.vfat -F32 /dev/sda1
7.3 挂载EFI分区
mkdir -p /boot/efi
mount /dev/sda1 /boot/efi
7.4 安装GRUB引导程序
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu update-grub
8. UEFI Secure Boot(安全启动)
安全启动可防止未签名的引导程序加载,启动时需要正确签名Linux引导程序:
8.1 关闭安全启动(手动方式)
进入UEFI设置界面,找到Secure Boot选项,设置为Disabled。
8.2 启用安全启动
使用shim引导程序并进行签名:
sudo mokutil --import MOK.cer
9. BIOS更新与恢复
9.1 BIOS更新方式
- 进入主板厂商UEFI界面,使用USB进行更新。
- 在Linux下使用fwupd工具更新BIOS:
sudo fwupdmgr get-devices
sudo fwupdmgr refresh
sudo fwupdmgr update
9.2 恢复BIOS默认设置
如果系统无法正常启动,可以尝试以下方法恢复BIOS设置:
- 在BIOS中找到
Restore Defaults或Load Optimized Defaults选项。 - 去下
CMOS电池等待几分钟,重新安装。
10. 双系统UEFI配置
10.1 配置Windows与Linux双启动
- 安装Windows(使用UEFI模式)。
- 安装Linux,并将UEFI分区挂载到
/boot/efi。 - 更新GRUB引导菜单:
grub-mkconfig -o /boot/grub/grub.cfg
- 重新设置启动顺序,使GRUB为默认引导程序。
11. 解决”boot device not found“错误
- 确保磁盘正确连接并在BIOS中启用。
- 检查是否正确安装了引导程序(如grub-install)。
- 修复EFI分区:
fsck /dev/sda1
12. 修复损坏的GRUB引导
进入Linux恢复模式,执行:
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
grub-install --root-directory=/mnt /dev/sda
update-grub
以上为Linux下BIOS/UEFI的基础知识、配置示例。
更多技术分享,关注公众号:halugin
Linux-BIOS/UEFI
以下介绍Linux BIOS/UEFI相关知识,包括基础知识、配置示例以及高级用法。
1. BIOS简介
BIOS(Basic Input/Output System,基本输入输出系统)是一种固件,存储在主板上的EEPROM芯片中,负责在计算机启动时进行硬件初始化并引导操作系统。
1.1 BIOS的功能
- 硬件检测与初始化:在开机时检查CPU、内存、存储设备等硬件的可用性。
- 引导操作系统:从引导设备(如HDD、SDD、USB)加载引导程序(如GRUB)。
- 提供系统设置界面:可通过
DEL或F2进入BIOS设置界面,调整时钟、风扇、引导顺序等。
1.2 BIOS的局限性
- 16位模式:仅支持16位模式,不适合现代64位系统。
- 启动速度慢:BIOS逐步检测硬件,导致启动较慢。
- 引导设备限制:传统BIOS使用MBR(最多支持2TB存储)。
2. UEFI简介
UEFI(Unified Extensible Fireware Interface,统一可扩展固件接口)是BIOS的替代品,提供更强大的功能和更快的启动速度。
2.1 UEFI的优势
- 支持更大的存储设备:采用GPT(GUID分区表),支持超过2TB的存储。
- 图形化界面:提供鼠标支持和直观的图形化设置界面。
- 更快的启动速度:并行化硬件初始化过程。
- 安全启动(Secure Boot):防止未签名的操作系统或恶意软件加载。
2.2 UEFI的启动模式
- UEFI模式:直接引导EFI分区中的
.efi文件。 - Legacy BIOS兼容模式(CSM):模拟传统的BIOS进行引导。
3. 检查系统当前的启动模式
在Linux系统中,可通过以下命令检查系统使用的是BIOS还是UEFI启动。
ls /sys/firmware/efi
如果目录存在,说明系统使用UEFI启动,否则是传统BIOS。
或者使用以下命令查看引导模式:
efibootmgr -v
4. 进入BIOS/UEFI设置界面
在不同主板厂商下,进行BIOS/UEFI的按键不同,例如:
- DELL:F2或F12。
- HP:F10或ESC。
- Lenovo:F1或F2。
- ASUS:DEL或F2。
通常在开机时按下相应按键,即可进入BIOS/UEFI界面。
5. Linux下的UEFI工具
5.1 efibootmgr命令
efibootmgr用于管理UEFI启动项,常见用法如下:
查看当前UEFI启动项
efibootmgr
添加新的UEFI启动项
efibootmgr --create --disk /dev/sda --part 1 --loader "\\EFI\\ubuntu\\grubx64.efi" --label "Ubuntu" --verbose
删除启动项
efibootmgr --delete-bootnum --bootnum 0003
6. 设置启动顺序
在BIOS/UEFI界面中,通常可以修改启动顺序,例如:
- USB启动
- 硬盘启动
- 网络启动
在Linux下,也可以使用以下命令修改启动顺序:
efibootmgr --bootorder 0001,0003,0000
7. 在Linux下使用UEFI启动(GPT分区)
7.1 使用gdisk创建GPT分区
gdisk /dev/sda
创建GPT分区并添加EFI分区(通常为512MB,类型代码EF00).
7.2 格式化EFI分区
mkfs.vfat -F32 /dev/sda1
7.3 挂载EFI分区
mkdir -p /boot/efi
mount /dev/sda1 /boot/efi
7.4 安装GRUB引导程序
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu update-grub
8. UEFI Secure Boot(安全启动)
安全启动可防止未签名的引导程序加载,启动时需要正确签名Linux引导程序:
8.1 关闭安全启动(手动方式)
进入UEFI设置界面,找到Secure Boot选项,设置为Disabled。
8.2 启用安全启动
使用shim引导程序并进行签名:
sudo mokutil --import MOK.cer
9. BIOS更新与恢复
9.1 BIOS更新方式
- 进入主板厂商UEFI界面,使用USB进行更新。
- 在Linux下使用fwupd工具更新BIOS:
sudo fwupdmgr get-devices
sudo fwupdmgr refresh
sudo fwupdmgr update
9.2 恢复BIOS默认设置
如果系统无法正常启动,可以尝试以下方法恢复BIOS设置:
- 在BIOS中找到
Restore Defaults或Load Optimized Defaults选项。 - 去下
CMOS电池等待几分钟,重新安装。
10. 双系统UEFI配置
10.1 配置Windows与Linux双启动
- 安装Windows(使用UEFI模式)。
- 安装Linux,并将UEFI分区挂载到
/boot/efi。 - 更新GRUB引导菜单:
grub-mkconfig -o /boot/grub/grub.cfg
- 重新设置启动顺序,使GRUB为默认引导程序。
11. 解决”boot device not found“错误
- 确保磁盘正确连接并在BIOS中启用。
- 检查是否正确安装了引导程序(如grub-install)。
- 修复EFI分区:
fsck /dev/sda1
12. 修复损坏的GRUB引导
进入Linux恢复模式,执行:
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
grub-install --root-directory=/mnt /dev/sda
update-grub
以上为Linux下BIOS/UEFI的基础知识、配置示例。
更多技术分享,关注公众号:halugin
版权声明:本文标题:Linux-BIOSUEFI 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1763568733a2944152.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论