https://github.com/zhitrend/zhitrend_iso
在Mac下一直没找到可以制作U盘启动盘的工具,一怒之下就写了这个跨平台的U盘启动盘工具
https://github.com/zhitrend/zhitrend_iso
Last synced: about 1 year ago
JSON representation
在Mac下一直没找到可以制作U盘启动盘的工具,一怒之下就写了这个跨平台的U盘启动盘工具
- Host: GitHub
- URL: https://github.com/zhitrend/zhitrend_iso
- Owner: zhitrend
- Created: 2024-12-24T13:38:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-25T12:34:18.000Z (over 1 year ago)
- Last Synced: 2024-12-27T08:15:45.753Z (over 1 year ago)
- Language: Python
- Size: 78.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# USB启动盘制作工具
一个功能强大的USB启动盘制作工具,支持多种写入模式、分区管理和启动配置编辑。
## 主要功能
### 1. ISO写入
- 支持DD模式和ISO9660模式写入
- 自动检测ISO类型
- 支持混合ISO格式
- 写入后验证
- 可调整缓冲区大小
- 支持数据压缩
### 2. 分区管理
- 支持GPT和MBR分区表
- 多分区创建和管理
- 支持EFI和数据分区
- 多种文件系统支持:
- FAT32
- NTFS
- ExFAT
- EXT4
### 3. 启动配置
- 启动配置编辑器
- UEFI和Legacy启动支持
- 混合启动支持
- 启动项管理
- 启动超时设置
### 4. 数据保护
- 写入前备份
- 数据保留选项
- 写入验证
- 安全擦除
### 5. 其他特性
- 多语言支持(中文/英文)
- 自动主题(亮色/暗色)
- 实时进度显示
- 错误处理和恢复
## 系统要求
- 操作系统:macOS 10.15+
- Python 3.8+
- 依赖包:见 requirements.txt
## 安装
1. 克隆仓库:
```bash
git clone https://github.com/yourusername/usb-maker.git
cd usb-maker
```
2. 安装依赖:
```bash
pip3 install -r requirements.txt
```
## 使用说明
### 基本使用
1. 运行程序:
```bash
python3 main.py
```
2. 选择ISO文件和U盘设备
3. 点击"开始写入"
### 高级功能
#### 分区管理
1. 点击"工具" -> "分区管理"
2. 选择分区表类型(GPT/MBR)
3. 添加/编辑分区
4. 设置分区大小和文件系统
#### 启动配置
1. 点击"工具" -> "启动配置编辑器"
2. 查看和编辑启动项
3. 设置默认启动项和超时时间
#### 混合ISO支持
1. 点击"工具" -> "混合ISO工具"
2. 选择ISO文件
3. 可选择转换为混合格式
4. 配置写入选项
## 常见问题
### 1. 写入失败
- 确保U盘未被占用
- 检查U盘是否写保护
- 验证ISO文件完整性
### 2. 无法启动
- 检查BIOS/UEFI设置
- 确认ISO文件支持目标启动方式
- 使用启动修复工具
### 3. 分区错误
- 确保选择正确的分区表类型
- EFI分区建议大小200MB以上
- 某些文件系统可能需要管理员权限
## 开发说明
### 项目结构
```
usb-maker/
├── main.py # 程序入口
├── ui.py # 用户界面
├── usb_maker.py # 核心功能
├── config.json # 配置文件
├── locales/ # 语言文件
│ ├── en.json
│ └── zh.json
└── resources/ # 资源文件
```
### 添加新功能
1. 在 usb_maker.py 中实现核心功能
2. 在 ui.py 中添加界面元素
3. 更新语言文件
4. 添加相应的测试用例
### 多语言支持
1. 在 locales/ 目录下添加新的语言文件
2. 遵循现有的JSON格式
3. 使用 t('key') 函数进行翻译
## 贡献指南
1. Fork 项目
2. 创建功能分支
3. 提交更改
4. 发起 Pull Request
## 许可证
MIT License
## 联系方式
- 问题反馈:在 GitHub Issues 中提交
- 功能建议:在 GitHub Discussions 中讨论
- 邮件联系:your.email@example.com