Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
booster — 快速且安全的 initramfs 生成器 | Kitploit
工具/GitHubGitHub/anatol/booster
加密/解密工具配置审计硬件安全实用工具与框架身份验证远程访问工具
GitHubanatol/booster

booster

快速且安全的 initramfs 生成器

查看仓库
660656114天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Booster - 快速、安全、现代的 Linux initramfs

Booster initramfs 生成器

Booster 让早期启动感觉更轻量、更快速、更可靠。 它构建紧凑的 initramfs 镜像,以最小的麻烦和强大的加密启动支持,将你的 Linux 系统从固件推进到真正的根文件系统。

Booster 不是打包一个庞大的通用早期用户空间,而是发现你的机器实际需要什么,并围绕它构建一个专注的镜像。 结果是一个精简的启动镜像,包含你的主机所需的驱动程序、解锁工具、文件系统支持和恢复路径,而不会在每次重启时都携带一大堆无关内容。

为什么选择 Booster?

Booster 围绕一个简单的承诺构建:早期启动应该快速、清晰、安全,并且操作起来令人愉快。

亮点:

  • 用更小的镜像更快启动 - 快速生成精简镜像,让早期启动专注于你的系统实际需要的工作。
  • 让加密 Linux 感觉毫不费力 - 使用密码短语、密钥文件、分离头、TPM2、FIDO2 安全密钥、Clevis 风格绑定或远程 SSH 解锁来解锁 LUKS 根。
  • 自信地使用现代安全硬件 - 支持 systemd-cryptenroll TPM2 和 FIDO2 令牌,包括通过 Booster 的插件路径提供原生 FIDO2 支持。
  • 享受平静、协调的提示 - 硬件令牌、PIN 和密码短语流程协同工作;成功的解锁路径会取消不再需要的提示。
  • 获得更顺畅的 FIDO2 启动 - Booster 可以在请求 PIN 之前预检查已连接的 FIDO2 密钥,静默跳过错误的密钥,并在令牌缺失时干净地回退。
  • 从任何管理位置解锁系统 - 在早期启动期间使用 SSH,适用于无头、机架式或难以触及的加密机器。
  • 避免臃肿的早期用户空间 - 主机特定的发现默认包含你的机器所需的内容。
  • 构建灵活的救援镜像 - 通用模式为便携安装、恢复介质和变化的硬件增加更广泛的硬件覆盖。
  • 覆盖真实的存储布局 - 处理 ext4、Btrfs、ZFS、LVM、mdraid、GPT 自动发现、休眠恢复设备和多个 LUKS 映射。
  • 自信地检查和调试 - 在信任镜像启动之前,使用内置命令列出、读取和解包镜像。

Booster 非常适合加密笔记本电脑、开发者工作站、具有远程恢复需求的服务器、最小化 Linux 系统,以及在你配置多年后仍应保持可理解的启动设置。

功能导览

感觉内置的加密

Booster 将全盘加密视为一等工作流,而不是附加功能。 它可以从内核参数、/etc/crypttab、GPT 自动发现、直接 root= 引用 LUKS 容器、密钥文件、分离头和硬件支持的令牌解锁 LUKS 设备。

支持的解锁方式包括:

  • 带有谨慎提示处理的普通密码短语解锁。
  • 相关加密卷的共享密码短语缓存。
  • 嵌入 initramfs 或存储在单独设备上的密钥文件。
  • 嵌入镜像、从原始块设备读取或从单独文件系统加载的分离 LUKS 头。
  • systemd-cryptenroll TPM2 和 FIDO2 令牌。
  • 用于 TPM2、Tang 和其他支持策略的 Clevis 风格绑定。
  • 针对你无法物理接触的系统的基于 SSH 的远程密码短语解锁。

没有粗糙边缘的硬件令牌

Booster 的令牌编排旨在让加密启动感觉精致。 非交互式令牌可以在后台竞争,基于 PIN 的令牌按确定性顺序提示,常规密码短语提示作为回退出现,而不是永远阻塞整个启动。

最近的 FIDO2 改进使体验更顺畅:

  • 可以通过 enable_fido2: true 启用原生 FIDO2 支持。
  • 带有 fido2-device= 的 crypttab 条目可以使 Booster 自动捆绑 FIDO2 插件。
  • Booster 可以在请求 PIN 之前检查已连接的 FIDO2 密钥是否实际具有该凭据。
  • 缺失令牌提示会被延迟,以便快速的 TPM2、Clevis 或其他令牌解锁可以完成,而不会产生不必要的噪音。
  • 空 PIN 提交会跳过一个令牌并继续到下一个解锁路径。

匹配你机器的小镜像

默认情况下,Booster 构建主机特定的镜像。 它查看当前系统,包含启动它所需的模块和工具,并省略不必要的部分。 这使镜像更易于审计、生成更快,并在启动期间执行更快。

当你需要更广泛的镜像时,--universal 包含更广泛的模块集,用于救援场景、便携介质或硬件可能变化的系统。

用户实际运行的存储布局

Booster 支持实用的真实世界启动布局,包括:

  • GPT 可自动发现的根分区。
  • 根位于 LUKS、LVM、mdraid、Btrfs、ZFS、NVMe、USB、MMC 和 eMMC 上。
  • Btrfs 子卷和多设备 Btrfs 设置。
  • 休眠恢复设备。
  • 通过 UUID=、LABEL=、PARTUUID=、PARTLABEL=、HWPATH=、WWID= 或 /dev/... 引用设备。
  • 来自内核命令行或 /etc/crypttab 的多个加密映射。

更好的早期启动可见性

当出现问题时,Booster 为你提供有用的方式来查看发生了什么。 使用 booster.log=debug,console 获取详细的启动日志,添加 busybox 获得紧急 shell,或启用网络支持以从无法启动的机器检索日志。

Booster 还包括镜像检查命令,以便你可以在重启前验证构建的内容:

booster ls /boot/booster-linux.img
booster cat /boot/booster-linux.img /init
booster unpack /boot/booster-linux.img /tmp/booster-image

安装

Arch Linux

安装官方软件包:

pacman -S booster

该软件包在 /boot/ 中创建 Booster 镜像:

$ ls -lh /boot/booster-*.img
-rwxr-xr-x 1 root root 3.9M Dec 10 20:51 /boot/booster-linux.img

Void Linux

使用以下命令安装 Booster:

xbps-install -S booster

然后为已安装的内核重新生成 initramfs:

xbps-reconfigure -f linux

Alpine Linux

使用以下命令安装 Booster:

apk add booster

然后阅读 /usr/share/doc/booster/README.alpine 了解特定于设置的引导加载程序说明。

Fedora

Booster 不在 Fedora 的仓库中。从检出构建 RPM:

dnf install rpm-build golang gcc git-core libfido2-devel rubygem-ronn-ng systemd-rpm-macros
./packaging/fedora/createpkg.sh
dnf install ~/rpmbuild/RPMS/x86_64/booster-*.rpm

然后在 /etc/kernel/install.conf 中选择 Booster 作为生成器,以便在内核更新时重建镜像:

initrd_generator=booster

手动构建

你也可以直接构建镜像:

booster build /boot/booster-linux.img

对于具有更广泛硬件集的更便携镜像:

booster build --universal /boot/booster-linux.img

创建镜像后,将引导加载程序指向它。 有关完整配置详细信息,请参阅 Booster 手册页。

快速开始

创建主机特定的镜像:

booster build booster.img

为特定内核创建镜像:

booster build --kernel-version 6.8.9-arch1-1 /boot/booster-linux.img

检查生成的镜像:

booster ls /boot/booster-linux.img

更改 /etc/booster.yaml 后重新生成打包的镜像:

/usr/lib/booster/regenerate_images

当你的发行版提供 systemd-ukify 时生成统一内核镜像:

/usr/lib/booster/regenerate_uki build /boot/EFI/Linux

配置示例

Booster 有意保持配置小巧。 一台简单的加密笔记本电脑通常根本不需要大型配置文件。 只添加你的启动路径所需的功能:

compression: zstd
vconsole: true
enable_fido2: true
enable_lvm: true
enable_mdraid: true

通过 SSH 进行远程解锁:

network:
  dhcp: on
  ssh_host_key: /etc/booster/ssh_host_ed25519_key
  ssh_authorized_keys: /etc/booster/authorized_keys
  ssh_listen: :22

当注册了多种硬件解锁方法时,为了更顺畅的令牌排序:

serialize_tokens:
  enabled: true
  clevis_timeout: 45s
  tpm2_timeout: 15s
  fido2_timeout: 30s

为了支持 Plymouth 启动画面:

enable_plymouth: true
modules_force_load: amdgpu

在内核命令行中使用 quiet splash,当你想要图形启动画面时避免使用 booster.log=console。

文档

完整的用户文档在 Booster 手册页 中。 它涵盖:

  • /etc/booster.yaml 选项。
  • 内核命令行参数。
  • LUKS、FIDO2、TPM2、Clevis、密钥文件和分离头设置。
  • /etc/crypttab 集成。
  • 通过 SSH 远程解锁。
  • GPT 根自动发现。
  • 统一内核镜像生成。
  • 调试和恢复。

类似项目

Booster 与 mkinitcpio 和 dracut 处于相同的问题空间。 它的重点是一个快速、紧凑、基于 Go 的 initramfs 生成器,具有强大的加密启动人体工程学和自动主机发现。

从源代码构建

该项目有三个主要部分:

  • init - 在启动期间运行的早期用户空间程序。
  • generator - 构建 initramfs 镜像的工具。
  • tests - 针对生成镜像的基于 QEMU 的集成测试。

使用标准 Go 工具构建:

go build ./...

运行单元测试:

go test ./generator ./init

运行完整测试套件:

go test ./...

./tests 包包含 QEMU 集成测试,要求主机安装所需的启动和虚拟化工具,包括 qemu-img,某些发行版将其与模拟器分开打包。 构建测试资产并列出所需工具:

go test ./tests -bootstrap -timeout=0

新测试被要求在可以的地方调用 t.Parallel()。普通运行仍然 一次一个测试,但 -parallel N 会同时启动多个 VM,而一个 无法加入的测试会悄悄消耗实际时间而不是失败,所以说明原因的注释比缺失的调用更有用。

实际同时运行多少个 VM 受主机所能提供的限制,这由其内存和核心数决定。-vm.smp、-vm.mem 和 -vm.max 覆盖客户机大小和该上限。

致谢

该项目的工作始于 Twitter 的 hack week。 非常感谢 Twitter 对开源开发的支持,特别感谢 Ian Brown。

Booster 的架构受到 Michael Stapelberg 的 distri 的启发,初始版本借鉴了 distri 的 initramfs 生成器的许多想法。

许可证

参见 LICENSE。

下载工具