# grub-editor **Repository Path**: ChaoYouAi/grub-editor ## Basic Information - **Project Name**: grub-editor - **Description**: 一款GRUB2的图形化工具是一个非常有用的项目,可以极大简化Linux系统的引导配置管理。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-14 - **Last Updated**: 2025-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 📄 [ **English** ](https://gitee.com/ChaoYouAi/grub-editor/blob/master/project-root/README-zh.md) # 🐧 GRUB2 图形化编辑器(Grub Editor) 一个跨平台、功能丰富的 GRUB2 配置管理工具,支持多系统检测、主题预览、3D 动画菜单、内核参数推荐等功能,适用于 Linux 系统管理员和开发者。 #### 📌 项目简介 本项目旨在为 Linux 用户提供一个图形化界面工具,用于轻松管理 GRUB2 启动配置。支持: ``` •多系统检测(自动识别 Windows/macOS/Linux) •主题预览与切换(支持 rEFInd 风格主题) •3D 动画旋转菜单预览(模拟 rEFInd 交互体验) •内核参数智能推荐(如 NVIDIA 显卡自动推荐 nomodeset) •分辨率与图标适配(支持多分辨率显示) •导出配置文件(供 Linux 使用) •离线/模拟模式(在 Windows 上展示 UI 功能) ``` #### 🧩 功能特性 | 功能 | 描述 | |------------|------------------------------------| | ✅ 多系统检测 | 自动识别系统中的 Linux、Windows、macOS 启动项 | | 🖼 主题管理 | 支持 GRUB 主题选择与预览(支持多分辨率) | | 🌀 3D 动画预览 | 模拟 rEFInd 的旋转菜单动画效果 | | ⚙️ 内核参数编辑 | 支持图形化选择内核参数(如 nomodeset, splash 等) | | 📐 分辨率适配 | 自动检测显示器分辨率并适配布局 | | 📁 导出配置 | 可导出 GRUB 配置文件供 Linux 使用 | | 💻 离线模式 | 在 Windows 上运行模拟模式,仅展示 UI 功能 | | 🔐 安全机制 | 支持配置备份与恢复,防止误操作导致系统无法启动 | #### 🛠 安装指南 #### 🐧 Linux(Ubuntu/Debian/Deepin) ``` # 安装依赖: sudo apt install python3-pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qtsvg os-prober pciutils # 克隆项目 git clone https://github.com/yourname/grub-editor.git cd grub-editor ``` #### 🪟 Windows 注意:Windows 仅支持界面展示和导出配置,无法实际操作 GRUB2 Powershell ``` # 安装 Python 和 PyQt5: pip install PyQt5 PyQt5-Qt5 PyQt5-sip pyinstaller # 克隆项目 git clone https://github.com/yourname/grub-editor.git cd grub-editor ``` #### 📦 打包与分发 #### 1. 打包为 DEB 格式(适用于 Ubuntu/Debian/Deepin) ``` # 安装打包工具 sudo apt install build-essential devscripts debhelper # 构建 DEB 包 debuild -us -uc ``` 生成的 .deb 文件位于上级目录,可使用以下命令安装: ``` sudo dpkg -i grub-editor_0.1-1_all.deb sudo apt install -f # 安装依赖 ``` #### 2. 打包为 Deepin UAB 格式 ``` # 安装 Deepin 打包工具 sudo apt install deepin-deploy deepin-builder # 构建 UAB 包 cd grub-editor-uab sudo dpkg-deb --build . ``` 生成的 .deb 文件可提交至 Deepin 应用商店。 #### 3. Windows 可执行文件打包 ``` pyinstaller --name=GrubEditor \ --windowed \ --add-data "resources;resources" \ --hidden-import=PyQt5.sip \ --hidden-import=PyQt5.QtOpenGL \ --hidden-import=PyQt5.QtSvg \ --onefile \ main.py ``` 打包后,exe 文件位于 dist/GrubEditor.exe #### 🧪 使用说明 ### 🐧 Linux 使用方式 `sudo python3 main.py` 注意:GRUB2 配置修改需要 root 权限。 #### 🪟 Windows 使用方式 `python main.py` 提示:Windows 上仅支持界面展示、导出配置文件、模拟模式。 #### 📁 功能模块说明 | 目录 | 说明 | |---------------|--------------------------| | core/ | 核心逻辑模块(配置解析、GPU 检测、主题构建) | | gui/ | 图形界面组件(主窗口、配置面板、动画预览) | | utils/ | 工具类(备份、资源处理) | | resources/ | 图标、主题、动画脚本资源目录 | | resources.qrc | Qt 资源文件(用于打包图标等资源) | #### 🧱 开发文档 #### 🧭 架构设计 采用 模块化架构,便于扩展和维护: ``` main.py ├── gui/ │ ├── main_window.py # 主窗口 │ ├── config_panel.py # 配置面板 │ ├── kernel_param_editor.py # 内核参数编辑器 │ └── animation_preview.py # 动画预览界面 ├── core/ │ ├── parser.py # GRUB 配置解析 │ ├── manager.py # 配置管理与应用 │ ├── os_detector.py # 多系统检测 │ └── gpu_detector.py # GPU 检测与推荐参数 ├── utils/ │ └── backup.py # 配置备份与恢复 └── resources/ ``` #### 🛠 扩展建议 ``` •✅ 添加“导出为 ISO”功能:将配置打包为可引导 ISO 文件 •🧩 支持 WSL 自动检测:在 WSL 中运行时自动识别 Linux 环境 •📁 配置版本控制:记录每次导出历史,便于回滚 •🌐 远程部署:通过 SSH 将导出的配置文件上传到 Linux 系统 ``` #### 📸 示例截图(可选) 示例截图可放在此处(如 GitHub README 图片链接) #### 📢 声明 本工具主要用于 演示、教学、开发参考。在 Linux 系统上可直接操作 GRUB2 配置;在 Windows 上仅支持界面展示和配置导出功能。