# BootRepairTool - Linux GRUB 引导修复工具 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/) > 一个简单易用的 Linux GRUB 引导修复工具,提供图形化界面,适用于 Live USB/CD 环境。 ## 📖 项目介绍 **BootRepairTool** 是一个用于修复 Linux 系统 GRUB 引导加载器的图形化工具。当你的系统因为 GRUB 损坏、分区调整、重装 Windows 等原因导致无法启动时,此工具可以帮助你快速修复引导问题。 ### 主要功能 - 🔍 **自动扫描分区** - 自动检测系统中的 Linux 分区和 EFI 分区 - 🐧 **多发行版支持** - 支持 Arch、Debian/Ubuntu、CentOS/RHEL/Fedora、openSUSE 等主流发行版 - 🧬 **多架构支持** - 支持 x86_64、i386、arm64、loongarch64 等架构 - 💾 **多种文件系统** - 支持 ext4、btrfs、xfs、lvm、luks 等 - 🔧 **一键修复** - 自动挂载、chroot 环境、重装 GRUB、更新配置 - 🖥️ **图形界面** - 基于 tkinter 的直观图形界面 - 🔒 **Secure Boot 检测** - 自动检测并提示 Secure Boot 状态 ## 🚀 使用方法 ### 场景一:系统无法启动(Live USB 环境) 1. 使用 Linux Live USB/CD 启动电脑 2. 连接网络(可选,用于在线安装) 3. 打开终端,运行安装命令 4. 启动 BootRepairTool 进行修复 ### 场景二:已安装系统的维护 直接在已安装的 Linux 系统中运行(需要 root 权限)。 ## 📦 安装方法 ### Arch Linux(推荐) #### 方式一:一键安装脚本(自动从 Git 克隆) ```bash # 下载安装脚本 wget https://raw.githubusercontent.com/yourusername/BootRepairTool/main/arch-install.sh # 运行安装(默认从 Git 克隆最新版本) sudo bash arch-install.sh # 或使用本地文件安装 sudo bash arch-install.sh local ``` 安装脚本会自动: - 安装依赖(git、tk、python) - 克隆/复制项目到 `/opt/boot-repair-tool` - 创建启动脚本 `/bin/boot-repair` - 创建桌面快捷方式 #### 方式二:手动安装 ```bash # 1. 安装依赖 sudo pacman -S git tk python # 2. 克隆项目 sudo git clone https://github.com/yourusername/BootRepairTool.git /opt/boot-repair-tool # 3. 创建启动脚本 sudo ln -s /opt/boot-repair-tool/arch-install.sh /bin/boot-repair # 4. 运行 sudo boot-repair ``` ### 其他发行版(Debian/Ubuntu/CentOS 等) #### 方式一:打包安装 ```bash # 1. 确保有 Python 3.9+ python3 --version # 2. 安装 PyInstaller pip3 install pyinstaller # 3. 打包 python3 build.py # 4. 安装 sudo bash install.sh ``` #### 方式二:直接运行源码 ```bash # 1. 安装依赖 # Debian/Ubuntu: sudo apt-get install git python3 python3-tk # CentOS/RHEL/Fedora: sudo yum install git python3 tkinter # 2. 克隆项目 git clone https://github.com/yourusername/BootRepairTool.git cd BootRepairTool # 3. 直接运行 sudo python3 frontend.py ``` ## 🎮 启动程序 安装完成后,可以通过以下方式启动: ```bash # 命令行启动 sudo boot-repair # 或使用 pkexec pkexec boot-repair ``` 或在应用程序菜单中搜索 "Linux GRUB 引导修复工具"。 ## 🔧 修复步骤 1. **选择根分区 (/)** - 选择你的 Linux 根分区 2. **选择 /boot 分区**(可选)- 如果 /boot 是独立分区 3. **选择 EFI 分区**(UEFI 模式)- 通常是 FAT32 格式的 ESP 分区 4. **选择目标磁盘** - 要安装 GRUB 的磁盘(如 /dev/sda) 5. **点击"开始修复"** - 工具会自动完成挂载、chroot、修复、卸载 ## 🖼️ 界面预览 ``` +--------------------------------------------------+ | Linux GRUB 引导修复工具 v2.0 | +--------------------------------------------------+ | 系统信息: x86_64 | 64位EFI | Live环境 | +--------------------------------------------------+ | 1. 选择目标系统分区 | | 根分区 (/) *: [/dev/sda1 ▼] | | /boot 分区: [可选 ▼] | | EFI 分区: [/dev/sda2 ▼] | +--------------------------------------------------+ | 2. 选择目标磁盘 | | 磁盘: [/dev/sda ▼] | | [✓] UEFI 模式 | +--------------------------------------------------+ | 3. 高级选项 | | [ 开始修复 ] [ 刷新 ] | +--------------------------------------------------+ | [日志窗口...] | +--------------------------------------------------+ ``` ## 📋 支持的发行版 | 发行版 | 状态 | |--------|------| | Arch Linux / Manjaro / EndeavourOS | ✅ 完全支持 | | Debian / Ubuntu / Linux Mint | ✅ 完全支持 | | CentOS / RHEL / Rocky Linux / AlmaLinux | ✅ 完全支持 | | Fedora | ✅ 完全支持 | | openSUSE Leap / Tumbleweed | ✅ 完全支持 | | Void Linux | ✅ 完全支持 | | Gentoo | ✅ 完全支持 | | NixOS | ✅ 完全支持 | ## ⚠️ 注意事项 1. **需要 root 权限** - 所有磁盘操作需要 `sudo` 2. **Live 环境** - 设计为在 Live USB/CD 中运行 3. **数据备份** - 建议操作前备份重要数据 4. **Secure Boot** - 某些情况下需要先在 BIOS 中禁用 Secure Boot 5. **UEFI/BIOS 模式** - 确保 Live USB 以正确的模式启动(与待修复系统一致) ## 🐛 故障排除 ### 启动后黑屏/界面不显示 Arch Linux 可能出现 X11 字体渲染问题,尝试: ```bash export XLIB_SKIP_ARGB_VISUALS=1 sudo boot-repair ``` ### 找不到 EFI 分区 确保以 UEFI 模式启动 Live USB,而非 Legacy BIOS 模式。 ### 修复后仍然无法启动 1. 检查 BIOS 启动顺序 2. 尝试禁用 Secure Boot 3. 手动选择 EFI 文件启动测试 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 MIT License ## 🙏 致谢 - 参考 [Calamares](https://calamares.io) 引导安装模块实现 - 感谢所有贡献者和测试者 --- **提示**: 如果使用过程中遇到问题,请在终端运行 `sudo boot-repair` 查看详细日志信息。