无忧启动论坛

标题: 给fbinst配上gui 我的个性化fba导入工具(支持UD三分区) [打印本页]

作者: baikunlun    时间: 2019-11-26 23:34
标题: 给fbinst配上gui 我的个性化fba导入工具(支持UD三分区)
本帖最后由 baikunlun 于 2020-1-29 18:09 编辑

本人使用grub4dos很久了,真的感觉很赞! 软件好用,并且开源,非常喜欢,感谢各位为此软件付出努力的朋友们。我想尽量靠近一下开发者们,所以把贴发在此区。


一直以来都是用fbinst.exe和fbinstTool.exe来的,挺方便的。为了更方便,所以为自己定制了带gui的fbinst.exe,就是类似于fbintTool.exe的,但我的只有最基本的导入FBA功能。先看一下界面吧。


我详细讲一下:用C语言编写,VS2017编译,引用fbinst1.6核心代码,gui是基本的windows通用控件(不用安装运行库的那种,参照了ntpwedit)。磁盘列表加入了USB判断、盘符判断,这样用起来更安全,格式化参数默认有--zip --force,只允许修改udsize

开源软件的蓬勃发展,使我这个业外人士也能组装出一个软件,这已经成为我的一种业余爱好。


敬请各位朋友,给予点评!

Change log
==============
2020-1-29 更新v1.3
*支持创建EFI分区, 指定大小或者导入镜像文件
*增加可见分区格式化选项NTFS、exFAT,win7以下不支持exfat

=======================

2019-11-28 更新v1.2
*调整获取USB设备的API
*修复一个句柄泄露的BUG,程序打开时不会占用磁盘
###############################

Fbainst13.zip

138.91 KB, 下载次数: 310, 下载积分: 无忧币 -2

v1.3 EFI分区支持

Fbainst12.zip

145.24 KB, 下载次数: 164, 下载积分: 无忧币 -2

v1.2


作者: 2010sya    时间: 2019-11-27 08:03
谢谢分享
作者: baikunlun    时间: 2019-11-27 18:31
本帖最后由 baikunlun 于 2019-12-1 21:12 编辑

主要BUG记录:
在有些电脑上,或者某些U盘,USB的探测结果并不准确,导致找不到U盘。
可能是因为探测USB的方式过于简单,如下:

  1. BOOL DeviceIoControl(
  2.   (HANDLE) hDevice,                                             // handle to device
  3.   IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, // dwIoControlCode
  4. NULL,                                                               // lpInBuffer
  5. 0,                                                                          // nInBufferSize
  6. (LPVOID) lpOutBuffer,                                           // output buffer
  7.   (DWORD) nOutBufferSize,                                    // size of output buffer
  8.   (LPDWORD) lpBytesReturned,                             // number of bytes returned
  9.   (LPOVERLAPPED) lpOverlapped                       // OVERLAPPED structure
  10. );
  11. //调用后,使用 GetLastError() 来获得错误码
复制代码
使用以上API来判断是否USB,在我的win10和winxp上可以得到正确的返回码,在某些电脑上硬盘和U盘得到的相同的结果。



随后改用了IOCTL_STORAGE_QUERY_PROPERTY消息来获得磁盘的BusType




作者: hhghhjl    时间: 2019-11-29 21:58
非常给力!

作者: gnuxwy    时间: 2019-11-29 23:03
楼主辛苦了。。。顶顶看。
下过来瞧瞧楼主的新作品。。。

作者: gnuxwy    时间: 2019-11-29 23:05
楼主提供了三个fbainst,那么应当在首贴说明下这三个压缩包的不同啊。。。

作者: 18320165136    时间: 2019-11-29 23:17
楼主辛苦了
作者: baikunlun    时间: 2019-11-29 23:31
gnuxwy 发表于 2019-11-29 23:05
楼主提供了三个fbainst,那么应当在首贴说明下这三个压缩包的不同啊。。。

新手发贴,没经验。以后我再更新,一定好好整理下。

请下载 2019-11-28的版本 Fbainst12.zip
作者: a10036wu    时间: 2019-12-19 11:17
可以用WMI來判斷
作者: boy6585948    时间: 2020-7-29 18:51
Fbinst的源码大佬方便共享下吗?
作者: wintoflash    时间: 2020-7-29 19:11
boy6585948 发表于 2020-7-29 18:51
Fbinst的源码大佬方便共享下吗?

https://github.com/chenall/grubutils/tree/master/grubutils/fbinst
作者: boy6585948    时间: 2020-7-30 10:48
wintoflash 发表于 2020-7-29 19:11
https://github.com/chenall/grubutils/tree/master/grubutils/fbinst

谢谢大佬!
作者: 左岸麦田    时间: 2020-7-30 11:08
真的很喜欢fbinst,可以把文件隐藏,不怕文件丢失,安全。
作者: 狼人72105    时间: 2020-8-16 14:52
可惜了 不能自动识别FBA和ISO文件。。。。
作者: lpsyuntao    时间: 2021-5-27 21:57
谢谢楼主分享。
作者: lpsyuntao    时间: 2021-5-28 08:40
感谢楼主分享。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3