已有更简单的方法,此文仅作参考

Archboot的启动

MOK导入hash

正常情况下,会遇到下面的错误:

按下回车,进入如图界面:

选择Enroll hash from disk

选择以下文件:

  • ARCHBOOT/EFI/BOOT/内的所有64位efi
  • ARCHBOOT/boot/vmlinuz-x86_64 !请一定导入导入此文件!

安装前配置

1. 系统时间&硬盘分区

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. 更新时间

1
2
timedatectl set-ntp true
timedatectl status

4. 更改镜像源

编辑/etc/pacman.d/mirrorlist,保留一个国内镜像即可。

1
2
3
4
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分区。

1
2
mkfs.btrfs -L Arch /dev/nvmeYYY
mkfs.vfat -F32 /dev/nvmeXXX

5.2 挂载并创建子卷

注:Archboot的安装程序识别的挂载点是/mnt/install

1
2
3
4
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 创建挂载点

1
2
3
4
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:

1
genfstab -U /mnt/install >> /mnt/install/etc/fstab

6. 安装系统

6.1 安装基本包

你既可以使用Archboot的安装程序2. Install Packages,也可以在新的tty窗口自行安装

1
2
3
4
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安装程序提供BusyboxSystemd,建议选择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,并重新安装:

1
pacman -S linux-zen

完成kernel签名,重启,进入MOK,导入秘钥:

大功告成:

后续

请自行参阅桌面环境与常用应用安装和我的文章Linux实用建议