【C#】U盘启动制作工具 【2019-11-17】

博主 wyboot 2月前  1307

注:本站为此软件官方更新站点,可以用来反馈BUG和建议。


(安装器运行环境需要Microsoft .NET Framework 2)


本工具刚开始是给本人自用的CBoot维护工具箱设计的,后来考虑到也可以制作其它WinPE合盘,于是加了可自定义的配置。

    <!--默认打开的界面是否收缩     1:收缩  0:展开-->
    <add key="FormStyle" value="0"></add>
    
    <!--是否播放背景音乐(同级目录下music.wav)  1或以上:播放次数  0:不播放-->
    <add key="BackgroundMusic" value="1"></add>
    
    <!--背景图片相对路径,为空值时关闭背景图片功能。-->
    <add key="BackgroundImage" value="BackgroundImage.png"></add>
    
    <!--软件标题-->
    <add key="FormText" value="USB启动盘制作工具"></add>
    
    <!--软件标题右侧是否显示“About”超链接     1:显示  0:隐藏-->
    <add key="ShowAbout" value="1"></add>
    
    <!--软件标题右侧显示的“About”超链接地址-->
    <add key="AboutUrl" value="https://www.cboot.top/thread-14.htm"></add>
    
    <!--手动指定ISO资源信息,如果为空则寻找上级目录下version.txt里面的version=后面的文本-->
    <add key="ISOInfo" value=""></add>
    
    <!--待制作的ISO文件相对路径-->
    <add key="ISOFileName" value="usb_boot.iso"></add>
    
    <!--Fbinst启动数据文件相对路径-->
    <add key="FbinstFileName" value="ud.fba"></add>
    
    <!--使用“/usb”参数只列出系统中的所有优盘和其它USB磁盘,为空则列出系统中的所有磁盘 -->
    <add key="Disklist" value="/usb"></add>
    
    <!--选择单分区制作方式时指定GRUB4DOS版本    /v045:安装 0.4.5 版本    /v046:安装 0.4.6 版本-->
    <add key="GrldrVersion" value="/v046"></add>
    
    <!--默认选定的制作方式     1:单分区  2:双分区  3:三分区-->
    <add key="MakeType" value="3"></add>
    
    <!--生成ISO的默认标签,如果空值,则默认使用“USB_BOOT”-->
    <add key="ISOVolume" value="USB_BOOT"></add>
    
    <!--UEFI引导是否使用Grub2,推荐使用微软的BootMgr引导,可支持Security Boot   2:使用Grub2  1:使用BootMgr  0:不做修改,保持默认-->
    <add key="UEFIMode" value="0"></add>
    
    <!--是否在制作时判断Win8及以上系统就使用PowerShell命令挂载ISO文件方法导入数据(速度快,挂载失败会自动使用解压方式),否则直接解压ISO到临时目录后导入数据(速度慢)   1:使用  0:不使用-->
    <add key="MountISO" value="1"></add>
    
    <!--无损或全新制作时,右端分区比usb_boot.iso大多少MB-->
    <add key="MoreISOSize" value="20"></add>
    
    <!--无损或全新制作时,右端分区比当程序运行在已释放ISO目录里时大多少MB-->
    <add key="MoreDirSize" value="20"></add>
    
    <!--无损或全新制作时,左端分区比ud.fba文件大多少MB-->
    <add key="MoreFbaSize" value="10"></add>
    
    <!--无损或全新制作时设置的高端隐藏区卷标,如果为空,程序会强制将卷标设置为myefi-->
    <add key="EFIVolumeName" value="myefi"></add>
    
    <!--全新制作时设置的个人数据区卷标,如果为空,程序会强制将卷标设置为mydata-->
    <add key="DataVolumeName" value="mydata"></add>

跟同类工具对比有如下特点:

*既支持跟ISO文件在同一目录时制作,也可以直接在解压ISO到任意目录后运行安装器制作,或者直接用windows自带的挂载功能挂载ISO后运行安装器制作;

*带实时日志,硬核风,没有套路,所有操作指令全部输出。



关于安装器的自定义使用方法:

请用文本编辑器打开MyBootMaker.exe.config,按里面说明做对应修改。

程序名称和配置文件名称可以在相同的情况下随意改动,比如改成:makeusb.exe、makeusb.exe.config


安装器可以制作其它的ISO文件和fba文件,前提条件是:

1.如果安装器运行在某文件夹下,且配置文件里没有配置ISO文件路径时,则检测上级目录是否存在version.txt文件,如果有version.txt文件,程序认为当前运行在已解压后的ISO文件夹里。

2.ISO文件必须在镜像根目录有一个version.txt文件才能支持挂载安装,否则只能解压安装(当安装器配置了有效的iso且在上级目录检测到version.txt时,优先将iso作为安装源);

3.version.txt里面必须有一行:version=xxx,这样才能被安装器认为该ISO是有效的(界面会显示ISO安装资源版本信息xxx);

4.请保证ISO是支持EFI启动的,安装器会检测EFI\boot\bootx64.efi文件是否存在,否则不认可ISO镜像;

5.ISO必须要满足grldr和EFI引导,根目录有grldr文件,EFI目录有efisys.bin文件。

6.ISO也可以支持Grub2的UEFI引导(或其他,同名就行),根目录正常是EFI+EFI_Grub2或EFI+EFI_MS文件夹两种方式,当存在EFI+EFI_Grub2时,程序认为EFI文件夹是微软的引导,在配置里定义了切换会吧EFI_Grub2改名EFI,EFI改名EFI_MS,同理,当存在EFI+EFI_MS时,程序认为EFI文件夹是Grub2的引导,在配置里定义了切换会吧EFI_MS改名EFI,EFI改名EFI_Grub2。两个EFI文件夹里面都要有固定名efisys.bin文件。

==========================更新记录============================

2018-12-9:
添加了ISO和FBA文件的自定义配置;
调用解压和打包不会弹出命令行窗口了;
出现错误停止后续代码运行时会解冻控件;
ud.fba文件更新为默认启动run自动菜单,可以手动找菜单加载;
2018-12-10:
修复无USB驱动器时的报错;
2018-12-11:
用.net2作为目标框架重写代码,不需要.net4环境了,也支持在WinXP下运行,在PE下运行时需要切换到administrator用户;
添加U+功能;
修复一些UI交互方面的BUG;
2018-12-12:
修复在无设备情况下导出ISO报错问题;
默认配置改成不播放背景音乐(不然Win10PE打不开安装器或报错),EFI分区补增的容量改成50MB,UD分区改为10MB;
2018-12-13:
修复点击导出ISO后没有禁用chs和usbzip勾选框问题;
2018-12-16:
修复ISO资源信息获取逻辑;
完善报错信息描述;
2018-12-17:
苹果UI风格;
按钮重新绘制;
2018-12-20:
修复在装载或解开ISO镜像文件安装时无法导入EFI区资源数据的问题;
修复USB磁盘列表下拉框内容显示不完整问题;
2018-12-24:
修复fbinst程序执行路径未加引号问题;
增加个人数据分区格式自定义功能;
增加重新分配U盘盘符功能;
无损制作时个人数据分区如果不支持无损转换将给出提示;
2018-12-28:
UI交互逻辑完善;
分配盘符功能去除PECMD命令方式只保留分区助手的删增盘符命令,以避免搞乱本地硬盘盘符;
2018-12-30:
修复多个U盘时由于分区数据被重定向覆盖导致误操作其它U盘的问题;
修改UEFI引导切换的配置,现在默认不切换;
2019-01-02:
ud.fba内置grldr菜单增加搜索隐藏区代码,更新grldr版本;
分配盘符功能调整为使用PECMD方式,不固定U盘盘符;
刷新后发现无USB磁盘时禁用分配盘符按钮;
2019-01-04:
修复其它制作动作时发现无USB磁盘时没有禁用分配盘符按钮问题;
完善盘符分配在各制作环节逻辑,目前固定了U盘盘符为U;
更新内置7-ZIP;
完善日志描述;
2019-01-14:
全新制作时,个人数据分区格式可选NTFS、exFAT、FAT32,默认NFTS,单选后有相应提醒;
2019-03-08:
增加双分区、单分区制作方式,支持配置文件自定义默认制作方式;
增加窗口收缩和展开功能,支持配置文件自定义默认是否收缩或展开;
支持选择单分区制作方式时配置文件自定义安装Grub4Dos版本;
增加BOOTICE工具;更新内置的7z程序;
2019-03-26:
程序启动时如果检测到无安装源就不再刷新磁盘信息;
2019-04-07:
增加进度条显示;
增加写入数据校验功能;
2019-04-09:
修复选择任意模式制作完U盘后导出ISO功能未正确初始化问题;
2019-04-24:
完善检测安装源再刷新磁盘信息逻辑;
2019-04-27:
可以通过修改配置文件列出系统中的所有磁盘;
2019-05-07:
修复升级制作时未删除原有数据的问题;
现在“三分区”制作模式时,默认激活EFI分区而不是data分区,从而解决WindowsXP/2003/7PE无法挂载EFI分区问题;
2019-08-18:
内嵌SharpZipLib.dll;
主界面增加“About”超链接按钮,可配置网页地址;
2019-09-08:
生成ISO镜像文件功能增加 oscdimg 方式,可选UDF参数;
优化控件交互;
2019-09-13:
修复生成ISO时使用oscdimg方式时,文件位于根目录下不能打包的BUG;
修复生成ISO后保存路径带空格会失败的BUG;
2019-09-14:
修复无损制作而非升级制作时获取右端分区大小为0的BUG;
2019-10-06:
点击生成ISO按钮时默认选择mkisofs方式;
如果配置文件里指定的ISO文件不存在且上层目录不存在version.txt文件时,会弹框询问是否手动指定ISO文件位置;
2019-10-07:
支持多开,互不干扰;
2019-11-17:
修复EFI区被系统分配盘符的情况下使用无损还原模式后未删除EFI区的问题;


下载地址见附件:

上传的附件:
最新回复 (2)
  • 网友 yixiwei 1月前 0
    2
    无法识别到我的U盘,换了两台电脑均是这样。请问是何情况?
  • 博主 wyboot 1月前 0
    3
    yixiwei 无法识别到我的U盘,换了两台电脑均是这样。请问是何情况?
    如果不满足制作条件会强制禁用所有控件而且也不会主动去刷新磁盘列表,日志里你应该能看到提示。
    下个版本准备如果找不到ISO文件就弹框询问。
    • CBoot's Blog
      4
        登录 注册
返回