修复双系统下 systemd-boot 启动项丢失
首先查看分区情况:
lsblk我的分区情况如下:
nvme1n1 259:0 0 953.9G 0 disk
├─nvme1n1p1 259:1 0 952.9G 0 part
│ └─root 254:0 0 952.9G 0 crypt /var/log
│ /var/cache/pacman/pkg
│ /home
│ /.snapshots
│ /
└─nvme1n1p2 259:2 0 1G 0 part /boot然后解密 luks 分区:
cryptsetup open /dev/nvme1n1p1 root待输入密码后,会出现一个/dev/mapper/root的设备,之后的操作可以在这个设备上进行。
然后我们需要挂载 btrfs 分区:
mount -t btrfs -o subvol=@ /dev/mapper/root /mnt
mount -t btrfs -o subvol=@home /dev/mapper/root /mnt/home
mount -t btrfs -o subvol=@log /dev/mapper/root /mnt/var/log
mount -t btrfs -o subvol=@pkg /dev/mapper/root /mnt/var/cache/pacman/pkg
mount -t btrfs -o subvol=@.snapshots /dev/mapper/root /mnt/.snapshots最后挂载/boot分区:
mount /dev/nvme1n1p2 /mnt/boot接下来就可以进入chroot环境了:
arch-chroot /mnt重新生成 systemd-boot 配置文件:
bootctl --path=/boot install