Files
BootRepairTool/README.md
2026-02-14 14:41:43 +08:00

213 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` 查看详细日志信息。