diff --git a/README.md b/README.md index b8be241..b7971d1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,212 @@ -### GURB引导修复 +# BootRepairTool - Linux GRUB 引导修复工具 -提供图形化界面 \ No newline at end of file +[![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` 查看详细日志信息。