# 活汇 **Repository Path**: deepin20/LiveHub ## Basic Information - **Project Name**: 活汇 - **Description**: LiveHub 是一款跨平台的 Live ISO 引导管理工具,让您能够轻松地将 Linux 发行版的 ISO 镜像添加到系统启动菜单(GRUB2 / Windows BCD)中,无需反复烧录 U 盘即可直接从硬盘启动 Live 环境。支持 ISO 下载、自动探测内核参数、菜单编辑、顺序调整、备份恢复等全生命周期管理。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-18 - **Last Updated**: 2026-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LiveHub 活汇 LiveHub 是一款跨平台的 Live ISO 引导管理工具,让您能够轻松地将 Linux 发行版的 ISO 镜像添加到系统启动菜单(GRUB2 / Windows BCD)中,无需反复烧录 U 盘即可直接从硬盘启动 Live 环境。支持 ISO 下载、自动探测内核参数、菜单编辑、顺序调整、备份恢复等全生命周期管理。 --- ## ✨ 主要功能 - **ISO 智能探测**:内置主流发行版(Ubuntu、Deepin、Fedora、Arch 等)的探测规则,支持外部 JSON 规则扩展,并提供递归兜底查找机制,兼容未知 ISO。 - **跨平台支持**:在 Linux 下通过 GRUB2 的 `custom.cfg` 添加菜单项;在 Windows 下通过 BCD + GRUB2 EFI 实现引导。 - **图形界面与命令行双模式**:提供友好的 Tkinter GUI 和完整的 CLI 子命令(`install`、`edit`、`clean`、`list`、`backup`、`restore`),满足不同使用习惯。 - **ISO 自动下载**:集成 Aria2 下载引擎(自动部署),支持断点续传、进度显示、SHA256 校验,并提供国内镜像源(网易、中科大、阿里云等)。 - **启动菜单管理**: - 查看系统所有引导项(GRUB / BCD),区分系统条目和 LiveHub 添加的条目。 - 拖拽排序、多选批量删除、恢复默认。 - 编辑菜单名称、内核参数、持久化路径、子菜单归属。 - 设置默认启动系统。 - **安全与备份**:自动备份 `/boot/grub/custom.cfg`;支持一键备份/恢复整个 GRUB 配置目录;支持 Secure Boot 状态检测与提示。 - **持久化支持**:为 Live 系统创建 ext4 镜像文件,保存数据(仅 Linux)。 - **重装引导器与跨系统修复**:集成 `grub-install` 分区选择器,自动检测 UEFI/BIOS;扫描其他系统并更新 GRUB 配置。 --- ## 🖥️ 系统要求 - **操作系统**:Linux(推荐 Deepin / Ubuntu)或 Windows 7+ - **Python**:3.8 或更高版本 - **依赖**:`pycdlib`(≥1.14.0)、`requests`(≥2.25.0) - **(可选)aria2**:若系统未安装,LiveHub 会自动下载并管理独立的 aria2 实例 - **(Linux)GRUB2**:引导管理器 - **(Windows)bcdedit**:系统自带 --- ## 📦 安装 ### 1. 获取源代码 ```bash git clone https://github.com/yourusername/LiveHub.git cd LiveHub ``` 或直接下载源码包。 ### 2. 创建虚拟环境(推荐) ```bash python3 -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows ``` ### 3. 安装依赖 ```bash pip install -r requirements.txt ``` 如果 `requirements.txt` 缺失,手动安装核心包: ```bash pip install pycdlib>=1.14.0 requests>=2.25.0 ``` ### 4. 运行 - **图形界面**(自动提权): ```bash ./start.sh # Linux/macOS # 或直接运行 run_gui.py ``` - **命令行**: ```bash python cli.py --help ``` --- ## 🚀 使用指南 ### 图形界面(GUI) 启动后,您将看到三个标签页: 1. **ISO 管理**: - 浏览选择本地 ISO 文件。 - 选择发行版类型(自动探测或手动指定)。 - 可选:启用持久化(仅 Linux,指定大小)。 - 点击“安装引导项”完成添加。 - 已安装列表显示所有 LiveHub 条目,支持编辑、清理、恢复默认。 2. **启动菜单管理**: - 显示系统当前所有引导项(GRUB / BCD),类型列区分“系统”、“自定义”、“活汇”。 - 选中 LiveHub 条目可上移/下移、编辑、删除(支持多选)。 - 设置默认系统:下拉框选择。 - 外观设置:自定义 GRUB 背景图片、文字颜色、主题、隐藏占位符。 - 备份/恢复 GRUB 配置。 - 重装引导器(带分区选择器)、扫描其他系统、跨系统修复。 3. **ISO 下载**: - 选择发行版和镜像源,点击“开始下载”自动调用 Aria2。 - 显示下载进度、速度和剩余时间。 - 下载完成后自动校验 SHA256(若提供),并通过“校验并安装”一键填充到管理标签页。 --- ### 命令行接口(CLI) | 子命令 | 说明 | 示例 | |--------|------|------| | `install` | 安装引导项 | `python cli.py install --iso /path/to/ubuntu.iso --distro ubuntu --menu "Ubuntu 22.04"` | | `edit` | 编辑引导项 | `python cli.py edit --id 123456 --menu "New Name" --args "new kernel args"` | | `clean` | 清理引导项(按 ID 或 ISO 路径) | `python cli.py clean --id 123456` | | `list` | 列出已安装引导项 | `python cli.py list` | | `backup` | 备份 GRUB 配置目录(Linux) | `python cli.py backup` | | `restore` | 恢复 GRUB 配置目录 | `python cli.py restore --backup-file /tmp/grub_backup.tar.gz` | 所有 CLI 操作会自动检测权限,若不足则通过 `sudo`/`runas` 提权。 --- ## ⚙️ 配置与数据存储 - **配置文件**(条目与偏好): - Linux(root):`/etc/livehub/config.json` - Linux(用户):`~/.config/livehub/config.json` - Windows:`%APPDATA%\LiveHub\config.json` - **日志文件**: - 调试日志:`~/.livehub_debug.log` - 审计日志:`~/.livehub_audit.log` - **下载文件**:默认保存到 `~/Downloads`(可通过偏好设置修改)。 - **Aria2 缓存**:`~/.livehub/aria2/` --- ## 🛠️ 开发与贡献 ### 代码结构 ``` LiveHub/ ├── livehub/ │ ├── core/ # 核心逻辑(ISO探测、配置管理、下载、持久化等) │ ├── platforms/ # 平台特定实现(linux/windows) │ ├── gui/ # 图形界面模块(主窗口、管理、下载、引导项管理) │ ├── ui/ # 通用UI组件(下载标签、国际化等) │ └── utils/ # 工具函数(日志、备份、异常、辅助) ├── scripts/ # 构建脚本 ├── assets/ # 图标、配置文件 ├── cli.py # 命令行入口 ├── run_gui.py # GUI 启动脚本 ├── start.sh # Linux/macOS 快速启动脚本 └── requirements.txt # Python 依赖 ``` ### 贡献指南 欢迎提交 Issue 和 Pull Request。请确保代码符合 PEP8 风格,并添加必要的测试(`tests/` 目录)。 --- ## 📄 许可证 本项目采用 **MIT 许可证**。详见 [LICENSE](LICENSE) 文件。 --- ## 🌟 致谢 LiveHub 的开发借鉴了社区中优秀的引导管理工具思想,感谢所有贡献者和测试用户。 --- ## 📬 联系方式 - 项目主页:[GitHub](https://github.com/yourusername/LiveHub) - 问题反馈:[Issues](https://github.com/yourusername/LiveHub/issues) --- **让 Live 系统启动更简单!**