借助Archboot安装Archlinux并开启安全启动
借助Archboot安装Archlinux并开启安全启动
Archboot的启动
MOK导入hash
正常情况下,会遇到下面的错误:
按下回车,进入如图界面:
选择Enroll hash from disk
选择以下文件:
ARCHBOOT/EFI/BOOT/内的所有64位efiARCHBOOT/boot/vmlinuz-x86_64!请一定导入导入此文件!
安装前配置
1. 系统时间&硬盘分区
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
使用WinPE提前预留空间并随意创建一个任何格式的分区,方便之后使用。
这一步请在win系统下完成
2. 重启至Archboot
出现下图界面时,按下CTRL-C进入bash
3. 更新时间
timedatectl set-ntp true
timedatectl status
4. 更改镜像源
编辑/etc/pacman.d/mirrorlist,保留一个国内镜像即可。
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
#Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
#Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch
...
5. 分区(Btrfs)
5.1 格式化分区
nvmeYYY为Arch分区,nvmeXXX为EFI分区。
mkfs.btrfs -L Arch /dev/nvmeYYY
mkfs.vfat -F32 /dev/nvmeXXX
5.2 挂载并创建子卷
注:Archboot的安装程序识别的挂载点是/mnt/install
mount -t btrfs -o compress=zstd /dev/nvmeYYY /mnt/install
btrfs subvolume create /mnt/install/@
btrfs subvolume create /mnt/install/@home
btrfs subvolume create /mnt/install/@swap
5.3 创建挂载点
umount -R /mnt/install
mount -t btrfs -o subvol=/@ /mnt/install
mkdir -p /mnt/install/{boot,swap,home}
umount -R /mnt/install
请务必卸载分区,稍后使用Archboot的安装程序进行挂载,避免出现grub相关错误!
5.4 使用Archboot的安装程序挂载分区
输入setup进入安装程序,选择1. Prepare Storage Device
选择4. Set Filesystem Mountpoints
挂载分区,但先不挂载swap分区
选择Root Partition
是否格式化,选择No
选择@子卷
选择你需要的压缩算法。
选择ESP分区
选择/boot
挂载额外分区,过程参考挂载root分区,最后选择DONE,完成挂载
生成fstab:
genfstab -U /mnt/install >> /mnt/install/etc/fstab
6. 安装系统
6.1 安装基本包
你既可以使用Archboot的安装程序2. Install Packages,也可以在新的tty窗口自行安装
pacstrap -K /mnt/install base base-devel linux-zen linux-zen-headers btrfs-progs neovim networkmanager terminus-font intel-ucode polkit
#AMD请用amd-ucode
#Archboot默认安装以下包 base linux polkit btrfs-progs dosfstools terminus-font linux-firmware
#这里我自行安装(因为我要用linux-zen)
6.2 配置
可通过Archboot的安装程序进行,也可通过arch-chroot /mnt/install进行
自行配置和各文件样例请移步 archlinux基础安装
MKINITCPIO EARLY USERSPACE安装程序提供Busybox和Systemd,建议选择Systemd
安装引导
借助Archboot的安装程序,选择4. Install BootLoader
注:当你使用linux-zen时,你需要在下面的grub配置中添加-zen后缀,否则无法正常引导
他们分别是:/vmlinuz-linux和/initramfs-linux,修改为/vmlinuz-linux-zen和/initramfs-linux-zen
确认秘钥保存位置
自定义CN名
输入MOK导入时需要的密码(简单即可),重复输入两遍
最后一步:
进入新tty,编辑/etc/pacman.d/hooks/999-sign_kernel_for_secureboot.hook
更改Target = linux为你所用的内核,如Target = linux-zen,并重新安装:
pacman -S linux-zen
完成kernel签名,重启,进入MOK,导入秘钥:
大功告成:
后续
请自行参阅桌面环境与常用应用安装和我的文章Linux实用建议
Copyright Notice: Unless otherwise stated, this article is an original work. Copyright belongs to VConet的杂物间. Licensed under CC BY-NC-SA 4.0. Please cite the source when reprinting!
Article URL: https://old.vconet.top/archives/arch-secure-boot-by-archboot.html