视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
铭u怎么u盘启动
2024-12-18 22:52:42 责编:小OO
文档

铭u怎么u盘启动(铭瑄怎么u盘启动)openKylin U盘启动器是一款用于制作系统启动U盘的工具,可将镜像文件制作成U盘形式的安装介质,方便无光驱介电脑质的电脑安装镜像文件。其主要功能是制作系统,方便系统的安装,具体的实现过程如下:
1、查看U盘
openKylin U盘启动器通过udiskPlugWatcherInit函数自动监控/dev/目录下的文件变更,一旦有新设备U盘插入就重新执行lsblk解析shell的执行结果,获取出U盘信息。
U盘信息的解析过程是分别执行了lsblk-J 和lsblk-JS,筛选出所有USB协议连接的硬盘。其中lsblk-J中的J参数是将结果以json类型来展示,之后通过QJson类提取出U盘的信息。因为涉及到格式化整个物理设备,因此U盘在展示时是以整个物理单位展示,而不是按照分区显示。显示的具体格式为:U盘型号(设备文件路径),容量。例如:DataTraveler_3.0(/dev/sda) 32G。如果插入多个U盘,则是在下拉框中显示,且按照插入顺序进行显示。如下图1所示:
图1.U盘启动器首界面
2、查找镜像
查找镜像有两种方式,第一种是点击图1中的加号按钮查找镜像,点击后进入图2界面,此界面的原理是:通过使用QFileDialog::getOpenFileName()的方式,打开文件选取框,之后通过调用QFile的open函数,read函数获取尾缀为.iso的镜像文件,且计算iso.size()的方式获得文件的字节大小,之后通过除以10的6次方的方式转为GB。
电脑
图2.选择镜像文件
第二种获取镜像文件方式,便是在文件中选取尾缀为.iso的镜像文件,然后拖拽到打开的U盘启动器界面,这种方式的原理是将镜像文件的路径通过传值的方式,传输到界面。当然也用到了拖拽函数dragEnterEvent(),dropEvent(),这两个函数一般成对出现。
此外,如果已经拥有镜像文件,则可以点击右键选择U盘启动器直接进行镜像文件的制作,这种方式的原理类似第二种。
3、授权校验密码
当我们点击开始制作按钮后,系统将调用dbus接口,跳转到授权校验界面,用户输入密码授权,执行"echo'" + 密码+"'| sudo -S -l"判断用户输入的密码是否正确,如图3。
图3.授权界面
4、制作镜像
制作开始前卸载u盘,点击开始制作按钮,通过makeStart函数,将授权的正确密码、镜像文件的路径,u盘的路径这三个参数传输到进程中。具体函数如下:
makeStart(authDialog->dialogKey->text(),isoPath,电脑comboUdisk->getDiskPath());之后使用QProcess进程的读写函数来读入dd命令,具体的读写函数语句为:
S dd if='"+sourcePath.toLocal8Bit()+"'of="+targetPath.toLocal8Bit()+"status=progress";这条语句包括U盘路径,镜像文件路径和状态progress。以上两条语句便是U盘镜像制作的关键点。
同时,用户也可以在以下界面通过观察进度图,判断制作情况,进度条图的展示使用的是圆形进度条。首先使用QPainter函数画圆之后,使用setPersent()将进度传入进度条中,这种方式不用通过查看后台服务端的运行情况,更方便用户的体验,交互感更强烈,如图4。
图4.正在制作界面
在制作完成后,waitForFinished()等待系统落盘,落盘后会提示制作完成,跳到制作完成界面。
图5.制作完成界面
如果在制作中途点击关闭,会弹出如下提示框,告诉用户启动盘正在制作中,是否停止,如果选是,则停止任务退出程序,如果选否,则会继续从当前制作制作启动盘。
图6.制作途中途中提示界面
好啦~以上就是对openKylin U盘启动器的部分原理介绍,如果有小伙伴对此感兴趣,可通过点击 https://gitee.com/openkylin/sig-documentation 前往openKylin仓库查看源码进行研究哦。

openKylin(开放麒麟)社区旨在以“共创”为核心,在开源、自愿、平等、协作的基础上,通过开源、开放的方式与企业构建合作伙伴生态体系,共同打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态繁荣发展。
社区首批理事成员单位包括麒麟软件、普华基础软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德系统、北京麟卓、先进操作系统创新中心等13家产业同仁和行业机构。

来源:戎有丽
审核:openKylin
电脑

下载本文
显示全文
专题