| Crates.io | grublist |
| lib.rs | grublist |
| version | 0.3.1 |
| created_at | 2026-01-14 09:57:12.483326+00 |
| updated_at | 2026-01-17 04:08:12.03199+00 |
| description | A Rust implementation of grub selection tool with interactive menu interface |
| homepage | |
| repository | https://github.com/mbs0221/grublist-rust |
| max_upload_size | |
| id | 2042546 |
| size | 241,999 |
这是用Rust重新实现的grub选择工具,功能与Python版本相同,并增加了kernel参数配置功能。
cargo build --release
编译后的可执行文件位于 target/release/grublist
./target/release/grublist
或者安装到系统路径:
cargo install --path .
然后直接运行:
grublist
与grub界面相同的操作方法:
在主菜单底部选择 [⚙] Configure Kernel Parameters 进入配置界面:
选择配置项:
1 编辑 GRUB_CMDLINE_LINUX2 编辑 GRUB_CMDLINE_LINUX_DEFAULT参数列表管理:
编辑参数值:
acpi=off),只编辑值部分(off)quiet),可以添加值或编辑名称sudo update-grub 应用更改假设当前kernel参数为:quiet splash acpi=off
在参数列表界面会显示:
Parameters:
1. quiet
2. splash
3. acpi=off
3:输入新值 on,参数变为 acpi=ona,然后输入参数名 nomodeset,再输入值(或留空),添加成功d,然后输入要删除的参数编号src/main.rs - 主程序入口,包含菜单交互逻辑src/grub.rs - GRUB配置文件解析模块src/grub_config.rs - GRUB配置编辑模块(kernel参数配置)src/colorprint.rs - 颜色输出模块src/interaction.rs - 键盘输入处理模块regex - 用于解析grub.cfg文件和GRUB配置文件ratatui - 用于构建现代化的终端用户界面(TUI)crossterm - 用于跨平台终端操作和事件处理serde / serde_json - 用于数据序列化和自定义名称存储chrono - 用于时间格式化和备份时间显示/etc/default/grub.bak)sudo update-grub 使更改生效/etc/default/grub 中的 GRUB_DEFAULT=saved 才能使用启动项选择功能