deepin-boot-maker 启动盘制作工具:从镜像选择到启动盘制作的完整操作指南
桌面应用【免费下载链接】deepin-boot-maker项目地址https://gitcode.com/gh_mirrors/de/deepin-boot-maker点击查看免费下载deepin-boot-maker启动盘制作工具是一款将系统 ISO 镜像写入 U 盘等安装介质的轻量级小工具界面简洁、操作流程短。本文以官方帮助手册为主线完整讲解运行/关闭方式、镜像选择与校验、分区选择与格式化、制作进度与失败原因排查、主菜单主题切换等全部操作细节并结合开源仓库源码说明每一步背后的实现机制如checkfile镜像校验线程、ProgressStatus制作流水线、BMHandler::ErrorType错误码帮助读者既会用工具也能看懂其底层原理与源码结构。概述官方帮助手册见 启动盘制作工具英文手册中文版本见 启动盘制作工具中文手册对工具的定位是将系统镜像文件写入 U 盘等安装介质的小工具界面简洁、操作简单。从源码结构看应用采用「前端界面 后台制作引擎 可选后台服务」的分层组织位于src/目录src/app/界面层。主窗口 bmwindow.cpp 使用QStackedLayout串联四个页面镜像选择、U 盘选择、制作进度、结果展示并以DPageIndicator指示当前步骤src/libdbm/核心制作库。backend/bootmaker.cpp定义制作流程installer/qtbaseinstaller.cpp实现写入流水线util/sevenzip.cpp负责 ISO 的校验与解压src/service/D-Bus 后台服务com.deepin.bootmaker.xml 定义了DeviceList、CheckFile、Install、ReportProgress等接口使界面操作以独立服务进程执行。理解这一结构后下文每个操作步骤都能找到对应的源码依据。使用入门运行、固定与关闭运行启动盘制作工具按照手册的操作步骤单击任务栏上的启动器图标进入启动器界面上下滚动鼠标滚轮浏览或通过搜索找到启动盘制作工具图标单击运行右键单击启动盘制作工具图标可以单击发送到桌面在桌面创建快捷方式单击发送到任务栏将应用程序固定到任务栏单击开机自动启动将应用程序添加到开机启动项在电脑开机时自动运行该应用。从源码结构看这些快捷入口依赖 deepin-boot-maker.desktop 桌面入口文件注册到 deepin 桌面环境应用图标与名称由QIcon::fromTheme(deepin-boot-maker)从主题资源加载见 bmwindow.cpp。关闭启动盘制作工具手册给出三种退出方式在界面右上角单击关闭按钮退出启动盘制作工具在任务栏右键单击应用图标选择关闭所有来退出在界面单击主菜单按钮选择退出来退出。值得注意的是进入制作流程后界面会主动禁用关闭能力deviceSelected信号触发后bmwindow.cpp 中调用setQuitMenuDisabled(true)并隐藏关闭按钮DWindowManagerHelper::FUNC_CLOSE置为false这正是手册「制作时请不要移除 U 盘或关机」提示在 UI 层面的保障——制作过程中窗口无法被意外关闭。操作介绍准备工作手册要求的准备工作有三项到官网下载最新的系统镜像文件.iso准备一个至少 8GB的 U 盘获取启动盘制作工具系统预装了启动盘制作工具在启动器中查找访问官网下载指定版本的启动盘制作工具Windows 系统可以从光盘镜像中解压xxx_boot_maker.exe到电脑中。源码中 usselectview.cpp 显示设备列表为空时界面提示 “No disk available”说明 U 盘必须被系统正确识别为可移动设备。从 utils.cpp 的 Linux 分支可以看到设备枚举以/dev/disk/by-id/下匹配usb-*或mmc-*前缀的节点为准同时过滤nfs-、cifs-、smbfs-、sshfs-、ftpfs-、davfs-等网络挂载设备再结合lsblk与df命令输出汇总分区、容量与文件系统信息。这意味着如果 U 盘走的是网络存储形式或设备名不符合usb-/mmc-前缀将不会出现在选择列表中。选择镜像文件手册提供两种方式选择镜像文件单击请选择镜像文件选中已下载的镜像文件后单击下一步直接将镜像文件拖拽到制作工具界面然后单击下一步。对应源码在 isoselectview.cpp两条路径的行为如下文件对话框点击「请选择镜像文件」链接后弹出DFileDialog文件过滤器为ISO (*.iso)默认目录为用户主目录见 isoselectview.cpp拖拽界面中的放置区域是自定义控件DropFramedropframe.h拖入文件时触发fileDrop信号视觉效果上会显示放大的磁盘图标动画选择后校验无论是哪种方式选中文件后都会调用onFileSelected()见 isoselectview.cpp界面提示「检测镜像文件请稍候…」并启动独立线程ThreadCheckFile在后台线程中执行BMInterface::ref().checkfile(m_file)避免阻塞 UI校验结果校验通过则图标恢复并启用「下一步」按钮校验失败则图标变为暗色光盘样式显示红色提示 “Illegal ISO image file”且「下一步」保持禁用见 isoselectview.cpp。需要说明的是从当前仓库源码看BootMaker::checkfile()的完整完整性校验逻辑目前处于注释状态并直接返回true见 bootmaker.cpp即前端「文件检测」步骤在当前版本实现中基本是快速通过的占位流程而真正有实质作用的 ISO 完整性检查发生在制作流水线的checkISOIntegrity()阶段见下文制作流水线小节那里通过 SevenZip 对 ISO 执行check操作失败会报CheckImageIntegrityFailed错误。选择分区手册的说明是选中制作启动盘的 U 盘如果 U 盘有多个分区只能选择第一个分区然后单击开始制作或返回开始制作建议勾选格式化分区制作前请保存好 U 盘的数据返回返回到选择镜像界面。界面实现位于 usbselectview.cpp设备列表通过BMInterface的deviceListChanged信号实时更新U 盘热插拔时列表自动增删若当前选中的设备被拔出会自动清空选中状态与格式化勾选每个设备条目显示标签、设备路径如/dev/sdb1、容量使用情况usageString()以 GB 或 MB 显示used/total与使用率百分比勾选格式化分区m_formatDiskCheck时界面显示橙色警示文案“格式化分区将清除分区上的所有数据但可以提高成功率请在继续前确认”见 usbselectview.cpp点击开始制作后触发deviceSelected(partition, format)信号由主窗口接管并发起安装见 bmwindow.cpp。从 utils.cpp 的设备整理逻辑可以推断「多分区 U 盘只取第一个分区」这一约束的来源枚举时对每个可移动磁盘读取其children分区集合无分区时把整块磁盘作为一条设备记录展示isDisk true有分区时按分区遍历并以文件系统类型判断是否需要格式化——vfat分区标记为无需格式化其余均标记needFormat true。结合 usbselectview.cpp 中选中项按路径排序、界面仅以磁盘为粒度发起制作的调用方式实际生效的就是每块可移动磁盘的第一个分区/整盘。「格式化分区」选项在底层的作用很直接在 qtbaseinstaller.cpp 的hasEnoughSpace()中勾选格式化时比较的是ISO 大小与分区总容量未勾选时比较的是ISO 大小与分区空闲空间。这就是手册建议勾选格式化的原因——格式化后按整盘容量计算可用空间最大化成功率更高。制作过程与制作成功手册提醒制作过程需要一定的时间请耐心等待制作时请不要移除 U 盘或关机。待进度条满格出现制作成功的提示表明启动盘已经制作完成。进度页面 progressview.cpp 中界面标题为 “Burning”使用水波进度控件DWaterProgress展示进度并带有提示文案 “Do not remove the disk or shut down the computer during the process”。进度来自BMInterface::reportProgress(current, error, title, description)信号见 progressview.cppcurrent 70进度条直接跟随真实进度70 current 100进度条进入「缓升」模式由 1 秒定时器每次 1避免长时间解压阶段进度条停住current 100即 101 完成码向主窗口发出finish切换到结果页。这些进度数字与源码中 qtbaseinstaller.cppbeginInstall()的流水线一一对应完整的写入流程为步骤源码阶段ProgressStatus进度值失败错误码检查空间CHECKSPACE/hasEnoughSpace()5USBSizeError检查 ISO 完整性CHECKINTEGRITY/checkISOIntegrity()10CheckImageIntegrityFailed格式化 U 盘FORMATUSB/formatUsb()15USBFormatError安装引导加载器INSTALLBOOTLOADER/installBootload()20InstallBootloaderFailed解压 ISO含获取安装目录GETINSTALLDIREXTRACTISO/extractISO()20 → 80解压进度映射GetUsbInstallDirFailed/ExtractImgeFailed同步 IOSYNCIO/syncIO()90SyncIOFailed配置 syslinux / 引导文件configSyslinux()、modifyBootGrubFile()——弹出磁盘EJECTDISK/ejectDisk()101 完成—其中几个细节值得展开格式化formatUsb()见 qtbaseinstaller.cpp先卸载分区如果目标是整块磁盘节点如/dev/sdb路径末尾没有数字分区号会先调用CreatePartition()创建分区再对新分区执行FormatPartion()。未勾选格式化时该阶段跳过实际格式化动作但仍会执行卸载解压extractISO()会先执行partprobe让内核重新同步分区表然后轮询等待自动挂载点出现最多重试 3 次、每次间隔 2 秒再清空目标目录后由SevenZip进程将 ISO 内容逐文件解压到 U 盘解压过程中通过progressChanged信号上报逐文件进度映射为 20–80 的区间见 bootmaker.cpp引导配置syncIO()之后调用configSyslinux()写入 syslinux 引导配置模板见 syslinux.cfg随后needAddRepo()用isoinfo检查镜像内是否含有anaconda安装器特征文件若是 deepin/UOS 类镜像还会向/EFI/BOOT/grub.cfg与/syslinux/syslinux.cfg中的linux/append行追加inst.repohd:UUID分区UUID使安装器直接从 U 盘读取软件源见 qtbaseinstaller.cpp成功页ResultView在NoError时显示成功图标与 “Successful” 标题按钮变为Done点击即退出应用见 resultview.cpp。制作失败手册列出的失败原因有四种磁盘格式错误Incorrect disk format磁盘空间不足Insufficient disk space磁盘挂载错误Disk mount error镜像解压错误Image decompression error当出现未知错误时制作失败窗口会出现提交反馈按钮单击后跳转到相关论坛进行问题反馈。这四类原因在源码中一一对应BMHandler::ErrorType枚举定义于 bmhandler.h及 bmhandler.cpp 的errorString()用户可读文案手册中的失败原因错误码界面提示文案源码errorString()磁盘格式错误USBFormatError“Disk Format Error: Please reformat it”专业版/家庭版额外提示或在安全中心中关闭「自动扫描 U 盘」磁盘空间不足USBSizeError“Insufficient disk Space: Ensure that the disk has enough free space”磁盘挂载错误USBMountFailed“Disk Mount Error: Insert the disk again or reboot to retry”镜像解压错误ExtractImgeFailed“Image Decompression Error: Verify md5 checksum of the image to ensure its integrity”其他/未知其余错误码走default“Internal Error”失败分支的处理逻辑在 resultview.cppupdateResult()中SyscExecFailed、InstallBootloaderFailed等严重错误非专业版系统显示 “The error log will be uploaded automatically with the feedback…” 提示按钮文案变为Submit Feedback点击后根据系统版本社区版/家庭版/专业版打开对应论坛页面或拉起deepin-feedback反馈客户端专业版则显示After-Sale Services并通过 D-Bus 调用com.deepin.dde.ServiceAndSupport服务支持会话其余已知错误码直接显示errorString()文案按钮为Close点击退出应用。也就是说手册中「未知错误 → 提交反馈」的行为是真实存在的代码路径严重错误时反馈按钮会连同自动上传的错误日志一起引导用户到社区论坛。主菜单手册说明在主菜单中可以切换窗口主题、查看帮助手册等。主菜单入口即界面右上角的菜单按钮包含主题、帮助、关于、退出四项。主题窗口主题包含浅色主题、深色主题和系统主题三种在启动盘制作工具界面单击主菜单按钮单击主题选择一个主题颜色。源码上主题切换通过DGuiApplicationHelper的themeTypeChanged信号分发主窗口bmwindow.cpp与各页面ISOSelectView、UsbSelectView、ProgressView、ResultView分别连接该信号在slot_ThemeChange()中为浅色白底#FFFFFF与深色深灰底#292929两套调色板设置背景色、文字色与图标资源如浅色用media-optical-96px.svg、深色用disc_bg.png。由于每个页面都实现了独立的主题适配函数切换主题时整窗口所有元素会即时更新。帮助在界面单击主菜单按钮单击帮助查看帮助手册进一步了解和使用启动盘制作工具。本文所依据的手册内容即对应仓库中src/help/deepin-boot-maker/boot-maker/目录下按语言组织的文档如 en_US/p_boot-maker.md、zh_CN/p_boot-maker.md另有 zh_TW、zh_HK 版本及各语言说明文件d_boot-maker.md。关于在界面单击主菜单按钮单击关于查看启动盘制作工具的版本和介绍。「关于」页面展示的版本信息以仓库debian/与rpm/下的打包元数据为准见 debian/changelog、rpm/deepin-boot-maker.spec应用名与图标由 deepin-boot-maker.desktop 声明。退出在界面单击主菜单按钮单击退出。退出路径与「使用入门 → 关闭启动盘制作工具」一致。需要再次强调的约束是一旦进入制作流程进度页主菜单的退出项会被禁用setQuitMenuDisabled(true)这是为了防止制作中途误退出导致 U 盘数据不完整。小结围绕这份操作手册deepin-boot-maker 的完整使用链路为启动器运行工具 → 拖拽或选择 ISO 并自动校验 → 选择 U 盘多分区时取第一个分区建议勾选格式化→ 开始制作进度页不可关闭、不可拔盘→ 成功页 Done / 失败页按错误码提示排查。底层对应QtBaseInstaller::beginInstall()的八步流水线与BMHandler::ErrorType错误码体系界面四页面由 bmwindow.cpp 通过QStackedLayout 滑动动画组织。如需进一步阅读实现建议按以下源码路径深入界面src/app/view/isoselectview.cpp、src/app/view/usbselectview.cpp、src/app/view/progressview.cpp、src/app/view/resultview.cpp制作引擎src/libdbm/installer/qtbaseinstaller.cpp、src/libdbm/backend/bootmaker.cpp、src/libdbm/backend/bmhandler.h设备枚举与 D-Bus 服务src/libdbm/util/utils.cpp、src/service/data/com.deepin.bootmaker.xml测试src/tests/ 下的bootmakertest、qtbaseinstallertest、sevenziptest等单元测试可帮助验证镜像校验与制作流程行为。赞分享桌面应用【免费下载链接】deepin-boot-maker项目地址https://gitcode.com/gh_mirrors/de/deepin-boot-maker点击查看免费下载相关推荐Deepin Boot Maker启动盘制作工具完整使用指南Deepin Boot Maker启动盘制作工具完整使用指南 Deepin Boot Maker是一款专为深度操作系统设计的启动盘制作工具能够帮助用户快速创建桌面应用Cherry MX键帽3D打印完整指南36款免费模型从读懂参数到打样成功四步走Cherry MX键帽3D打印完整指南36款免费模型从读懂参数到打样成功四步走 键盘上的键帽突然弹飞的那一刻轴体顶部的十字柱裸露在空气里越找替换件越发现硬件开发3D建模Deepin Boot Maker 启动盘制作工具使用指南Deepin Boot Maker 启动盘制作工具使用指南 Deepin Boot Maker 是一款由 Linux Deepin 团队开发的免费开源启动盘制作桌面应用上一篇Cursor AI Pro破解终极指南如何简单快速绕过试用限制免费使用下一篇Typha 架构深度解析Calico 大规模集群的扇出代理Fan-out Proxy设计创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

TCP Keepalive机制详解:原理、配置与高可用实践

TCP Keepalive机制详解:原理、配置与高可用实践

1. 项目概述:为什么TCP连接会“悄无声息地断掉”?你有没有遇到过这样的情况:客户端和服务端明明都还在运行,日志里也看不到任何异常报错,但某次发请求时突然卡住几秒,然后返回“Connection reset by peer”…

2026/10/14 6:43:30 阅读更多 →
AI Agent 面试题 047:Agent的环境建模(Environment Modeling)有哪些常用方法?

AI Agent 面试题 047:Agent的环境建模(Environment Modeling)有哪些常用方法?

🔥 AI Agent 面试题 047:Agent的环境建模(Environment Modeling)有哪些常用方法?摘要:本文深入解析了「Agent的环境建模(Environment Modeling)有哪些常用方法?」这一 AI…

2026/10/14 6:43:30 阅读更多 →
Hadoop+Python打造客服大数据分析与预测平台

Hadoop+Python打造客服大数据分析与预测平台

我前阵子参与了一个把大数据技术用到客服场景里的分析预测项目,数据量一上来,原来的报表工具和人工统计根本顶不住。后来逐步改成了以 Hadoop 做离线存储和清洗、用 Python 写文本分析和预测模型、再配合一套可视化大屏和预警接口的完整平台,…

2026/10/14 6:42:30 阅读更多 →

最新新闻

MATLAB共享储能电站冷热电多微网双层优化配置模型详解

MATLAB共享储能电站冷热电多微网双层优化配置模型详解

先说一句啊,这篇不是那种把模型往纸上一放、公式一抄就完事的论文复现,而是基于“MATLAB共享储能电站服务冷热电多微网系统双层优化配置模型”这条线,把建模思路、求解路线、MATLAB实现细节和踩坑经验一次性捋清楚。如果你想做园区级综合能源…

2026/10/14 7:20:37 阅读更多 →
90天PMP通关攻略:专治拖延症的反人性备考技巧

90天PMP通关攻略:专治拖延症的反人性备考技巧

2026年6月PMP考试:一场与“拖延症”的终极对决!90天通关全攻略(内附反人性备考技巧)如果有人问我,PMP考试难在哪,我大概率会说:难在开始。2026年6月那场考试,我提前90天就买好了教材…

2026/10/14 7:20:37 阅读更多 →
电商数据获取技术解析与实战架构设计

电商数据获取技术解析与实战架构设计

1. 电商数据获取的核心价值与挑战在电商行业摸爬滚打这些年,我深刻体会到数据就是决策的氧气。记得2016年刚入行时,团队还在用Excel手动统计商品点击量,现在回头看简直像石器时代。如今一个中等规模的电商平台,日均产生的用户行为…

2026/10/14 7:20:37 阅读更多 →
豆瓣电影排行榜高级爬虫实战:从请求构造到数据存储的完整链路

豆瓣电影排行榜高级爬虫实战:从请求构造到数据存储的完整链路

很多人学网络爬虫时,第一个练手项目都会选豆瓣电影排行榜的数据抓取。理由很简单:页面结构清晰、数据规律、难度适中。但如果你以为requests拿到HTML、正则抠出几条电影名就算学会了爬虫,那离真正的高级数据抓取还差着十万八千里。我见过不少…

2026/10/14 7:20:37 阅读更多 →
做Temu多久能看到收益?回款周期与利润真相深度拆解

做Temu多久能看到收益?回款周期与利润真相深度拆解

做Temu多久能看到收益?这个问题几乎每个新入局的人都问过,但网上的答案特别极端:一边是晒后台截图说上架三天就出单的,一边是吐槽备货压了几万块却迟迟见不到钱的。我跟几个做全托管、半托管的朋友反复对过账,也盯着后…

2026/10/14 7:20:37 阅读更多 →
AI编程教程为何爆火2万Star:从零基础到生产落地的完整路径

AI编程教程为何爆火2万Star:从零基础到生产落地的完整路径

1. 这个“2万Star”到底意味着什么:从GitHub数字看AI编程教程的真实分量很多人看到标题里“2万Star”第一反应是:哇,火了。但作为在开发者教育领域摸爬滚打十多年的老手,我得先泼一盆冷静的水——Star数从来不是教学内容质量的直接…

2026/10/14 7:19:37 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →