跳至内容

Jixun's Blog 填坑还是开坑,这是个好问题。

MSI 尊爵安装 CachyOS 踩坑记录

前言

这台笔记本买了也有一年了,之前贪图省事分别尝试过 Fedora 和 KUbuntu 26.04 来方便配置 Secure Boot 和全盘加密,但是引导还是 grub2 + 签名的 shim。

grub2 的优点就是可以很方便的引导各种场景;缺点就是透过 grub2 进入 Windows 的时候会导致 PCR7 值变动1,要求手动输入 Bitlocker 密钥。

系统选择

咨询了一下 ChatGPT,Ubuntu/Fedora 如果要换成支持重启引导 Windows 的 systemd-boot 的话需要自己加自动化签名脚本,反而变得不方便了。

于是就有了下面这几个选项:

  1. Debian
  2. openSUSE (Tumbleweed)
  3. CachyOS
  4. Arch Linux

Debian 默认就支持这个配置,但是里面的包通常都是比较老的;openSUSE 倒是默认就是 systemd-boot,但是缺少私有解码器等很多方便日常使用的东西;最后吸引我的就是 CachyOS - 基于 Arch Linux 所以包和文档都很齐全,而且自带一个 GUI 安装器,初步配置会比较方便。Arch Linux 则是需要自己折腾得更多,遂放弃。

最后选择基于 Arch Linux 的 CachyOS。

系统安装

备份

因为我的 Bitlocker 密钥已经同步到了微软云端,所以就没有单独备份了。

然后将原来的 KUbuntu 分区使用 CloneZilla 进行一个简单的备份到移动硬盘上,以防万一。

进入 Live 环境

进 BIOS 关闭 Secure Boot,然后重启引导进 Live 环境。

因为没有有线连接,桌面上也没有「安装 CachyOS」选项,因此先连接 WiFi,然后在终端执行 calamares-online.sh 自动更新安装器并启动。

一路 Next 继续,手动配置分区 - 4GB 未加密的 /boot、32GB swap、剩下的空间全分配给加密的 btrfs + ext4 做主分区:

安装后查看的分区规格

此外安装程序会提示 /boot 分区没有加密 - 这是正常的。

接下来选择引导器 - 除了 systemd-boot,还有一个比较好看的 limine 也支持我的使用情况,因此我选了这个。

然后等待安装完成,重启进入系统。

配置 Secure Boot

首先安装 sbctl 并查看状态,可以看到提示未安装并未启用。

然后重启进入 bios: systemctl reboot --firmware-setup

按下 左 Shift + 左 Alt + Co-pilot + F2 进入高级模式:

  • 将「安全引导模式(Secure Boot Mode)」设置为「自定义(Custom)
  • 选择 Reset to Setup Mode

然后进入 CachyOS,建立新的密钥并安装:

sudo sbctl create-keys
sudo sbctl enroll-keys --microsoft --firmware-builtin

接着配置 limine 配置:

  1. 配置 Limine 的 Secure Boot 完整性机制;
  2. 添加 wallpaper 的哈希值;
  3. 将 Windows 引导修改为重启进入

首先是配置 Limine 的 Secure Boot 完整性机制,在 /etc/default/limine 文件结尾加入ENABLE_ENROLL_LIMINE_CONFIG="yes"

然后是哈希值 - limine 启用 Secure Boot 后需要把每个引用的文件哈希都加进去,但是背景图好像没有默认加?手动算一下加进去即可:

$ sudo b2sum /boot/limine-splash.png
0d834db6fe31a18e7b1c965873e71080b59f5e60ef22f8c0e42caf1cfbe2ee4b328be5bfd34f7557f1c4d9a231ada1b164082b1f346973c1a0394ae3fad5e18f  /boot/limine-splash.png

# 然后加进去:
$ sudo nano /boot/limine.conf
wallpaper: boot():/limine-splash.png
# ↓ 改成这样
wallpaper: boot():/limine-splash.png#0d834db6fe31a18e7b1c965873e71080b59f5e60ef22f8c0e42caf1cfbe2ee4b328be5bfd34f7557f1c4d9a231ada1b164082b1f346973c1a0394ae3fad5e18f

再之后就是加入 Windows 引导部分:

# 之前
//Windows Boot Manager
	protocol: efi
	entry: image_path: guid(...):/efi/Microsoft/Boot/bootmgfw.efi
# 之后
//Windows Boot Manager
	protocol: efi_boot_entry
	entry: Windows Boot Manager

最后写出签名后的引导程序和配置文件:

sudo limine-enroll-config
sudo limine-update

然后重启,可以正常引导进入 CachyOS。

系统配置

然后就是安装 fctix + rime,以及一些常用软件了。这些就不需要特别说明了。

值得注意的是指纹解锁不需要额外配置也可以正常使用,到账号页面手动添加一下就行:

用户设置页面可以直接添加指纹

结语

这次的安装体验特别顺畅,没有奇怪的安装器问题。之前尝试过跟着 Arch Linux Wiki 上的步骤自动签名也失败过,没想到这次直接一次过了。也有可能这几年对 Secure Boot 的需要增加了?例如 Limine 引导就是我这次安装才知道的一个引导器。


  1. 参考微软的文章关于引导自动解锁 Bitlocker 的细节。 ↩︎

知识共享许可协议 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

评论区