Ventoy
Live ISO多系统启动 U 盘:ISO 文件直接复制进去就能启动,GParted Live、Windows 11 安装盘都放在同一个盘里。
U 盘已经是 Ventoy 盘时,不要再运行 sudo ventoy -i,否则会清空 U 盘。
从文章里整理出的 14 个工具,来自 2 篇文章。每张卡片都能跳回用到它的章节。
多系统启动 U 盘:ISO 文件直接复制进去就能启动,GParted Live、Windows 11 安装盘都放在同一个盘里。
U 盘已经是 Ventoy 盘时,不要再运行 sudo ventoy -i,否则会清空 U 盘。
图形化分区工具的 Live 系统。解锁 LUKS 后可以直接缩小 btrfs 分区,按由内到外的顺序自动完成文件系统、加密层、分区三步。
gparted-live-1.8.1-6-amd64.isoLUKS 加密分区管理:动分区前备份加密头,命令行缩分区时解锁和关闭加密层。
sudo cryptsetup luksHeaderBackup /dev/nvme0n1p2 --header-backup-file ~/luks-header-backup.img
cryptsetup open /dev/nvme0n1p2 root
cryptsetup close rootbtrfs 文件系统工具:先缩小文件系统再缩分区,完成后只读检查,最后撑满新分区。
btrfs filesystem resize -210G /mnt
btrfs check --readonly /dev/mapper/root
btrfs filesystem resize max /mntGNU 分区工具:查看分区表,把 Linux 分区的结束位置往前挪,腾出约 200GiB 给 Windows。
parted /dev/nvme0n1 unit GiB print
parted /dev/nvme0n1 resizepart 2 753GiButil-linux 自带的块设备查看命令:确认分区大小、文件系统和 PARTUUID,每一步前后都用它核对。
lsblk -f /dev/nvme0n1
lsblk -o NAME,PARTUUID,FSTYPE,SIZE,MOUNTPOINTSOmarchy 使用的引导程序,开机菜单的「总入口」:选 Omarchy 直接启动 Linux,选 Windows 则链式交给 Windows Boot Manager。
/boot/EFI/limine/limine_x64.efi
/boot/limine.conf自动生成和维护 Limine 菜单条目(limine-update 也来自这里)。Windows 不会被自动加入,需要用 --add-efi 手动添加。
sudo limine-entry-tool --add-efi "Windows" /boot/EFI/Microsoft/Boot/bootmgfw.efi
sudo limine-entry-tool --tree
sudo limine-update--add-efi 的路径必须带 ESP 挂载前缀 /boot,只写 /EFI/... 不会真正写入。
把 snapper 创建的 btrfs 快照同步成 Limine 菜单里的 Snapshots 条目,可以直接启动到之前的系统状态。
/etc/limine-snapper-sync.conf管理主板 NVRAM 里的 UEFI 启动项:清理失效条目、装完 Windows 后把 Limine 调回第一启动项。
efibootmgr -v
sudo efibootmgr -b XXXX -B
sudo efibootmgr -o 0002,XXXX
sudo efibootmgr -n XXXXsystemd 自带工具,这里只用来查看固件模式(UEFI)和安全启动状态。
bootctl status基于 QEMU / libvirt 的虚拟机管理器。真机操作前先在虚拟机里完整演练一遍:UEFI 固件用 OVMF,TPM 用 swtpm 模拟。
sudo pacman -S qemu-full virt-manager libvirt dnsmasq edk2-ovmf swtpmFirmware 选 UEFI(OVMF_CODE.4m.fd,不带 secboot),装完后不能再改。
关闭 Windows 休眠,同时关闭快速启动,避免 Windows 锁住硬盘或打乱双系统启动。
powercfg /h off写注册表让 Windows 把硬件时钟当作 UTC,和 Linux 保持一致,切换系统后时间不再错乱。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f