Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)

前言

在安装最新版Arch Linux ,并搭配Grub 启动时,

在双系统上常打开Grub 的GRUB_SAVEDEFAULT功能,这样每次Grub都会默认选中上次启动的选项,方便进入系统

但是这样做无法对UKI(统一内核镜像)生效,导致使用UKI的系统(例如最新的Arch Linux ),无法被GRUB_SAVEDEFAULT记录

需要额外加入set blsuki_save_default=true!

解决方法

一般Grub 设置记忆上次启动,网上的教程都是,设置GRUB_SAVEDEFAULT功能,编辑/etc/default/grub并修改参数:

bash 复制代码
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

之后运行

bash 复制代码
sudo grub-mkconfig -o /boot/grub/grub.cfg

但是问题是最新的Arch Linux 使用UIK,而GRUB_DEFAULT=saved默认无法记录UKI,这里我们需要手动加入set blsuki_save_default=true参数,才可以支持!


首先找到Grub 设置UKI的配置文件,

Arch Linux 的配置在/etc/grub.d/15_uki,加入set blsuki_save_default=true参数:

bash 复制代码
#! /bin/sh
set -e

cat << EOF
if [ "\$grub_platform" = "efi" ]; then
  set blsuki_save_default=true
  uki
fi
EOF

保存后,再运行sudo grub-mkconfig -o /boot/grub/grub.cfg,就可以实现记录UKI启动了,

重启后,也可以检查grub-editenv

bash 复制代码
sudo grub-editenv /boot/grub/grubenv list
#输出 saved_entry=arch-linux.efi
相关推荐
Elastic 中国社区官方博客2 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌2 小时前
进程控制管理
linux·运维·服务器
Escalating_xu3 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n4 小时前
英语“论文”语法检查工具
linux·windows
fengkai45454 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
2401_868534784 小时前
局域网络中信息安全方案设计及攻击防范技术(制造企业园区网)
服务器·网络
戴西软件4 小时前
制造研发中的AI视觉与仿真:戴西工程图纸智能审图智能体、戴西3DViz_CAE AI集成与戴西3DViz_CAD AI集成
大数据·运维·人工智能·3d·自动化·制造·rpa
苏宸啊4 小时前
Reactor反应堆模式
linux
javaDocker5 小时前
1800 亿科技投入砸下去,多数机构平的只是服务器,不是能力
运维·服务器·人工智能·科技·研发效能·金融科技