最近换了电脑,以前的老电脑使用的是旧BIOS架构启动,新电脑都变成了新的BIOS架构即UEFI启动(UEFI是新BIOS架构,自从UEFI出来之后,老的BIOS架构便被称为legacy),在安装grub时比之前稍微麻烦了一点。

准备

参考教程:https://wiki.archlinux.org/index.php/GRUB
虽然Arch的wiki有简体中文的翻译,但是一定要看英文的!!!中文的翻译不能与时俱进,而且很多地方都翻译的不好,甚至翻译错了……本页面就是一个很典型的按照中文装系统会装错的例子……

先简单知道几个必要的名词:

  • UEFI: Unified Extensible Firmware Interface,统一可扩展固件界面,提供了启动操作系统的标准环境。
  • ESP: EFI System Partition,EFI分区。
  • GPT: GUID Partition Table,GUID分区表,是UEFI标准的一部分,使用GUID/UUID来标识分区等。

在磁盘上安装grub,就是将此磁盘作为启动盘。想使用EFI启动,一定要在这一块磁盘上有EFI的系统分区(EFI System Partition, 即ESP)。因此,找到这个分区就是其中的关键。

安装步骤

  • 安装grubefibootmgr
pacman -S grub efibootmgr
  • 寻找ESP
    非常重要,一定要找到自己想要安装grub的磁盘的EFI分区,即ESP。对于双系统来说,基本上这个分区是已经存在的。对于我来说,Windows10装在了sda盘上,因此可以使用:
parted /dev/sda print

查看sda盘的分区信息,可以看到输出有Partition Table: gpt字段,而且/dev/sda1flag字段下有boot标记,可以确定这就是EFI分区。另外,根据wiki描述,这个分区一般都是fat32/vfat格式,vfat就是Windows下常说的fat64

  • 安装grub
    安装grub的时候一定要将grub安装在刚刚找到的EFI分区上。
    先挂载EFI分区:
mkdir /boot/myefi
mount /dev/sda1 /boot/myefi

安装(64位CPU架构):

grub-install --target=x86_64-efi --efi-directory=/boot/myefi --bootloader-id=pikachu

--bootloader-id参数可以随便设置,比如pikachu,装完之后就可以在/boot/myefi/EFI/下找到pikachu文件夹,里面有生成的启动文件。

  • 生成grub配置:
    安装好之后,grub还需要被配置一下才能生效,要不然还是不能使用。对于双系统,还需要让grub找到机器上存在的Windows,以便在开机时选择想要进入的系统。
    为了检测其他系统,需要安装os-prober
pacman -S os-prober

自动配置grub

grub-mkconfig -o /boot/grub/grub.cfg
  • (可选)其他grub配置:
    如果还想让grub更漂亮,添加背景图片,或者修改一下启动顺序之类的,可以修改grub的配置文件,这个属于额外的操作,也比较简单。

遇到的问题

在安装grub的时候,系统报错:EFI variables are not supported on this system,重启电脑,果然安装失败,无法进入系统。只能再次通过Arch安装盘进入系统,进行问题修复。

解决方式

根据Arch论坛的一篇求助帖,发现需要在开机的设置选项里,将legacy的所有启用都关掉,只使用UEFI启动,才能成功。

对于我来讲,我发现虽然我已经在开机启动项里将启动方式设置为了UEFI,但是Boot->Legacy Option Roms仍然为Enabled,设置为Disabled

试了一下,确实好了。

原因

正如开篇所说,BIOS分为legacyUEFI两种。现在存在UEFI + legacy的模式,这是为了让某些不支持UEFI的电脑也能正常使用传统的BIOS引导模式启动,而我们此时是在安装EFI的启动方式,因此一旦设备是通过legacy模式启动的,就会报错“EFI变量不被系统支持”。

Archlinux安装UEFI Grub相关推荐

  1. usb启动pe和Linux,打造自己的多功能USB启动盘——grub2引导WinPE、Archlinux安装镜像和Ubuntu liveCD...

    利用U盘制作启动盘,引导WinPE.Linux安装的文章多如牛毛,与他们相比本文的特点有: 1.用且仅用grbu2做引导.不使用grub4dos,不是使用msdos mbr转到活动分区,到ntldr, ...

  2. Archlinux安装与美化全流程

    一. 镜像制作 1. 下载 Arch官方下载界面 阿里云镜像站下载 注意:官网下载页面下拉可以看多很多国家的镜像源! 2. 镜像烧录 使用 Rufus 进行镜像烧录,下载好 Rufus 后打开,插入要 ...

  3. Yoga 14s 2021 Archlinux安装与桌面美化

    文章目录 说明 安装前的准备 安装映像准备 磁盘准备 进入安装环境准备 安装 进入U盘的Archlinux系统(Live环境) 联网 更新系统时间 分区与格式化 选择镜像源 安装基本包 配置fstab ...

  4. arch linux u盘安装,如何把ArchLinux安装到U盘上

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 键入lsblk,检测U盘 此处之后便和普通的ArchLinux安装一样,只不过是安装到/dev/sdb 建议分3个区:EFI(用于UEFI启动,不然无法在 ...

  5. archlinux安装

    转载地址: https://wiki.archlinux.org/index.php/Beginners%27_Guide_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%8 ...

  6. archlinux安装配置、i3-wm配置、blurlock锁屏、archlinux音频蓝牙

    archlinux安装配置.i3-wm配置.blurlock锁屏.archlinux音频蓝牙 linux安装笔记 设备:honor-magicbook14-amd 版本:arch-linux-5.9. ...

  7. archlinux 安装过程(详细)

    archlinux 安装教程(deepin桌面) 一.准备archlinux镜像,制作U盘启动盘 登录archlinux网站下载最新的archlinux镜像. 下载UltraISO,制作archlin ...

  8. [ArchLinux] 安装及KDE桌面环境安装配置

    ArchLinux 安装及KDE桌面环境安装配置 首先,安装之前,需要一个"启动介质",我这里习惯使用USB设备作为启动介质,这是由于ArchLinux滚动更新的特性,而且占用空间 ...

  9. Archlinux 安装 linux-lts 内核

    Archlinux 安装 linux-lts 内核 春节期间在家折腾 k8s, 尝试安装 cri-o 的时候习惯性的先执行了 pacman -Syu (操作系统用的 archlinux ),然后再安装 ...

最新文章

  1. tomcat和http简介
  2. 请说明一下web.xml文件中可以配置哪些内容?
  3. LVS的四种模式的实现
  4. HTML5 footer元素
  5. 附加数据库后登陆报错
  6. mybatis中使用SqlSessionManager进行insert操作
  7. WPF事件,路由事件
  8. 大学计算机试题在线,大学计算机基础试题选择题.pdf
  9. mysql 两表关联更新sql
  10. HTML学习基础教程
  11. 浙江师范大学计算机复试考什么,浙江师范大学考研难吗?一般要什么水平才可以进入?...
  12. html组态插件_组态 web组态 插件 编辑器 使用说明书
  13. VS Code 快捷键(中英文对照版)
  14. 一个事物两个方面的对比举例_象征和体现这两个词的区别  最好举例子说明,谢谢啦...
  15. 苹果M1 Mac 如何卸载 iPhone 和 iPad 应用程序?
  16. acc 蓝牙_蓝牙耳机≠音质差,只是你没选对耳机
  17. powerShell、cmd中命令使用Mysql
  18. HTML5七夕情人节表白网页制作【纯HTML+CSS实现3D动态相册-蓝色海洋 】HTML+CSS+JavaScript
  19. VS2019修改项目名称
  20. 中国经济增长预期上调至8.5%;亚马逊药店提供常见处方药;中国外汇储备激增236亿美元…| 洞悉跨境

热门文章

  1. SCIP 1.3 总结
  2. 几种zwave sensor的节点信息NIF_001
  3. java版丁丁历险记_【原版PDF漫画书】丁丁历险记The Adventures Of Tintin
  4. 四大降维方法和embedding
  5. 新闻舆情管理平台开发,监控舆情发展趋势
  6. 【笔记】迈向人工智能 | Coursera-斯坦福大学-机器学习-吴恩达(已完结)
  7. 华为光猫电源power,pon、los、lan,引出 无源光网络PON的原理
  8. Automation Anywhere进阶培训-1-AA简介
  9. 二极管限幅电路和钳位电路-全网最详细讲解
  10. Pytorch 模型load各种问题解决