无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: Pauly
打印 上一主题 下一主题

【BOOTICE: 启动维护工具】-(2016-06-17 v1.3.4 测试)

    [复制链接]
2701#
发表于 2010-11-10 18:01:24 | 只看该作者
好奇這個軟件的功能是怎麼實現的,也想自己動手做一個..。

謝謝LZ的分享呀!
回复

使用道具 举报

2702#
发表于 2010-11-11 14:01:05 | 只看该作者
2010.10.22 v0.81 BOOTICE SYSLINUX 安装貌似不支持外置 ldlinux.bin
回复

使用道具 举报

2703#
发表于 2010-11-11 14:47:40 | 只看该作者
看上去,,好复杂啊?
回复

使用道具 举报

2704#
发表于 2010-11-12 09:41:26 | 只看该作者
经测试:
2010.10.22 v0.81 BOOTICE SYSLINUX 安装不支持外置 ldlinux.bin,无论BOOTICE同目录下放置任何版的ldlinux.bin,安装后均为4.02;G4D安装到分区支持外置的grldr.mbr,安装到MBR是否支持外置未测试。G4D和SYSLINUX更新快,并且最新版不一定是最稳定的,希望能支持外置安装,并有提示,如G4D安装到分区。

123.PNG (20.01 KB, 下载次数: 126)

123.PNG
回复

使用道具 举报

2705#
发表于 2010-11-12 13:04:25 | 只看该作者
楼主写的工具真的不错,下面我来报告BUG,BOOTICE 0.81的

次要BUG:
控件背景色问题,没采用默认会在某些主题下如下图表现








重要BUG
扇区查看功能,使用后出现问题,怎么“查看”会写盘的。。。 故障经历:在“扇区号”中连续按1超出扇区范围后出现,128M的U盘被重写8000个扇区,重写“FF”,MBR、DBR、FAT、目录区、部分数据区全被破坏,好在U盘上数据不是很重要。拨出U盘前windows有缓存FAT、分区表,U盘上文件仍可访问,但部分文件被破坏。重新插上U盘彻底嗝屁。。。



回复

使用道具 举报

2706#
发表于 2010-11-12 13:37:56 | 只看该作者
补充以上,扇区查看中只要把扇区号edit框删空也可重现重写BUG
回复

使用道具 举报

2707#
 楼主| 发表于 2010-11-12 20:21:11 | 只看该作者
原帖由 33445566 于 2010-11-12 09:41 发表
经测试:
2010.10.22 v0.81 BOOTICE SYSLINUX 安装不支持外置 ldlinux.bin,无论BOOTICE同目录下放置任何版的ldlinux.bin,安装后均为4.02;G4D安装到分区支持外置的grldr.mbr,安装到MBR是否支持外置未测试。 ...


由于不同版本的 LDLINUX.BIN 文件格式一般都不一样,且 BOOTICE 没有采用内置 syslinux.exe 这种方式来安装 SYSLINUX (为的是能安装到没有盘符的分区及安装到 IMG 文件),因此没有考虑兼容不同版本的 LDLINUX.BIN,而 GRLDR.MBR 其格式则相对固定
回复

使用道具 举报

2708#
 楼主| 发表于 2010-11-12 20:22:18 | 只看该作者
原帖由 zzzzzz 于 2010-11-12 13:37 发表
补充以上,扇区查看中只要把扇区号edit框删空也可重现重写BUG

不知道你用的是什么U盘,或是读卡器,我怀疑其固件有保护功能,因为我在自己的优盘和读卡器上没有出现这个问题
回复

使用道具 举报

2709#
发表于 2010-11-13 03:22:07 | 只看该作者
支持一下,好東西.一個非常實用的程序
回复

使用道具 举报

2710#
发表于 2010-11-13 15:59:49 | 只看该作者

bootice引导工具实在太强大了 楼主的执着更是钦佩

2004 开始的帖子。。。 能如此 顶起楼主 高手
回复

使用道具 举报

2711#
发表于 2010-11-13 19:13:41 | 只看该作者

回复 #2726 Pauly 的帖子

是普通的爱国者128M老U盘。我在虚拟机里用虚拟硬盘调试你的程序,下面是“扇区查看”里面的片断

  1. 00409C6C  |.  DF6D 08       fild    qword ptr [ebp+8]
  2. 00409C6F  |.  DA0D 9C6A4300 fimul   dword ptr [436A9C]
  3. 00409C75  |.  DF7D F4       fistp   qword ptr [ebp-C]
  4. 00409C78  |.  8B55 F4       mov     edx, dword ptr [ebp-C]
  5. 00409C7B  |.  6A 00         push    0                                ; /Origin = FILE_BEGIN
  6. 00409C7D  |.  8D45 F8       lea     eax, dword ptr [ebp-8]           ; |
  7. 00409C80  |.  50            push    eax                              ; |pOffsetHi
  8. 00409C81  |.  52            push    edx                              ; |OffsetLo
  9. 00409C82  |.  FF75 FC       push    dword ptr [ebp-4]                ; |hFile
  10. 00409C85  |.  E8 0C030100   call    <jmp.&KERNEL32.SetFilePointer>   ; \SetFilePointer
  11. 00409C8A  |.  DB45 14       fild    dword ptr [ebp+14]
  12. 00409C8D  |.  DA0D 9C6A4300 fimul   dword ptr [436A9C]
  13. 00409C93  |.  DB5D EC       fistp   dword ptr [ebp-14]
  14. 00409C96  |.  6A 00         push    0                                ; /pOverlapped = NULL
  15. 00409C98  |.  8D45 F0       lea     eax, dword ptr [ebp-10]          ; |
  16. 00409C9B  |.  50            push    eax                              ; |pBytesRead
  17. 00409C9C  |.  FF75 EC       push    dword ptr [ebp-14]               ; |BytesToRead
  18. 00409C9F  |.  FF75 10       push    dword ptr [ebp+10]               ; |Buffer
  19. 00409CA2  |.  FF75 FC       push    dword ptr [ebp-4]                ; |hFile
  20. 00409CA5  |.  E8 CE020100   call    <jmp.&KERNEL32.ReadFile>         ; \ReadFile
  21. 00409CAA  |.  0BC0          or      eax, eax
  22. 00409CAC  |.  74 06         je      short 00409CB4
复制代码


当删空edit框时,00409C78 处算得的【pOffsetHi】里的值非0很大,跟OffsetLo凑成64位后,SetFilePointer超出扇区范围,函数返回值正常,毕竟有用这种方法来判断盘大小,不过不知U盘固件如何应对这种操作。之后没错误检查直接就ReadFile,对虚拟硬盘返回512字节0 。下周到办公室用U盘调试,看看是SetFilePointer还是到ReadFile出错。在SetFilePointer超出扇区范围时,我的U盘并没有像虚拟硬盘那样弹出错误框说访问出错,但盘内容被写“FF”。

另外00409C8A到00409C93处显示编译成浮点来算ReadFile的参数BytesToRead了,应该用整数乘法。

还有MSDN上的SetFilePointer检错方法是
  1. // Case Two: calling the function with lpDistanceToMoveHigh != NULL

  2.   // Try to move hFile file pointer a huge distance
  3.   DWORD dwPtrLow = SetFilePointer( hFile,
  4.                                    lDistLow,
  5.                                    &lDistHigh,
  6.                                    FILE_BEGIN );
  7.    
  8.   // Test for failure
  9.   if ( dwPtrLow == INVALID_SET_FILE_POINTER &&
  10.        GetLastError() != NO_ERROR )
  11.    {
  12.     // Deal with failure
  13.     // . . .

  14.    } // End of error handler
复制代码

[ 本帖最后由 zzzzzz 于 2010-11-13 19:16 编辑 ]
回复

使用道具 举报

2712#
发表于 2010-11-14 13:02:48 | 只看该作者

请教一下:为什么了备份了系统的MBR和PBR,但是想恢复时,软件却找不到文件。。。

请教一下:为什么了备份了系统的MBR和PBR,但是想恢复时,软件却找不到文件。。。
前两天系统出问题了,不能引导,本来是想用bootice来恢复一下之前的mbr的备份的,结果我从邮箱下载了之前的备份,它居然不识别哈。。
我就用pe修复了引导。。。可以进入系统了,但不知道为什么,在磁盘管理器里多了一个盘,我格式化后,相邻一个盘的所有的数据都没有了。。。5555555555555,搞了个数据恢复软件,东西是全部找回来了,就是全部不用能用了。。乱码了。。。
悲哀。。。
回复

使用道具 举报

2713#
发表于 2010-11-15 08:29:39 | 只看该作者
使用128M U盘(FAT32格式)进行调试,辅以winhex观察,结果为:
1、超出扇区范围时,SetFilePointer执行后正常,跳过ReadFile直接CloseHandle后正常。
2、超出扇区范围时,SetFilePointer执行后正常,执行ReadFile后U盘被重写“FF”。过程如下:

SetFilePointer前参数为:
[pOffsetHi] = [ebp-8] = 27C57800h
OffsetLo = 27C14000h
Origin = FILE_BEGIN

执行后 eax = 27C14000 、 [ebp-8] = 27C57800

接着执行ReadFile后返回 eax = 1 、pBytesRead = 512
=================

觉得最好是在edit框的change事件中先检查合法性,超出扇区范围就直接返回别call以上最好。
回复

使用道具 举报

2714#
发表于 2010-11-15 09:48:01 | 只看该作者
潜力贴留名.非常感谢分享!支持一下!
回复

使用道具 举报

2715#
发表于 2010-11-15 11:59:05 | 只看该作者
又有了更新,实在是太漂亮了
回复

使用道具 举报

2716#
发表于 2010-11-15 12:00:54 | 只看该作者
原帖由 <i>Pauly</i> 于 2010-11-10 17:43 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2081704&ptid=57675" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
你好!我那条回复是回复别人的,结果搞错了,呵呵,不好意思 <br />
<br />
由于你只说了启动失败,不知道到底是什么问题,出现什么提示,也不知道你的 LINUX 在安装时你是如何设置启动选项的,因此我以 Ubuntu 为例简单说 ...
<br />

哈,没有发现,在0.81版本里可以直接安装grub2的引导项目可供选择哦。
回复

使用道具 举报

2717#
发表于 2010-11-15 13:22:27 | 只看该作者
新版更新下载!谢LZ!!!
回复

使用道具 举报

2718#
发表于 2010-11-16 08:22:20 | 只看该作者
支持楼主更新!谢谢了。。
回复

使用道具 举报

2719#
发表于 2010-11-16 20:45:19 | 只看该作者
很实用的的程序!谢谢楼主分享
回复

使用道具 举报

2720#
发表于 2010-11-17 00:22:48 | 只看该作者
很不错的工具
希望楼主更新一个命令行参数,调用都不能自动完成
1.不能激活隐藏分区,不能分配盘符
2.安装F9一键提示时最后还有一个确定对话框
3.请问MBR,PBR 一般要备份/恢复多少扇区

谢谢
回复

使用道具 举报

2721#
发表于 2010-11-17 00:26:19 | 只看该作者
补充一点,
写入 1JF9K 一键中文提示代码时,能否做到全屏LOGO显示
这样的话一键就做到了品牌效应
回复

使用道具 举报

2722#
发表于 2010-11-18 09:20:31 | 只看该作者
没话说  Pauly   就是强悍,,,,

这功能是越来越强大了
回复

使用道具 举报

2723#
发表于 2010-11-23 09:21:57 | 只看该作者
谢谢楼主分享,学习了
回复

使用道具 举报

2724#
发表于 2010-11-23 22:57:50 | 只看该作者
发3个东西不知道对老大有没有用
winvista.mbr
win7.mbr
win2kxp.mbr
mbr.zip (1.51 KB, 下载次数: 22)
回复

使用道具 举报

2725#
发表于 2010-11-23 23:25:12 | 只看该作者
大师,在通过命令行调用BootICE参数时发现一些问题,特反馈:

BootICE /device=0:1  /mbr /restore /file=d:\mbr.bin  /auto
这在Win7 下不写,提示不允许写主引导

BootICE /device=F:   /pbr /restore /file=d:\pbr.bin  /auto
不能自动完成,最后弹出一个确定窗口  (^-^ 成功恢复的窗口)


BootICE  /device=0:1 /mbr /install  /type=1jf9k  /auto
不能自动完成,最后弹出一个确定窗口
另外,能否为1jf9k各选项(热键,中英文提示(引入其他图片),密码,等待时间等等)提供详细的命令参数接口


BootICE /device=0:4  /partitions /unhide /auto
不能取消EISA的隐藏分区(已获取隐藏分区盘符是F:)



以上,请大师指点,谢谢

[ 本帖最后由 光辉岁月 于 2010-11-23 23:33 编辑 ]
回复

使用道具 举报

2726#
发表于 2010-11-23 23:26:57 | 只看该作者
另:BootICE 获取磁盘如: 0硬盘 是否与DSPTW.exe 获取的 磁盘0 一致,谢谢
回复

使用道具 举报

2727#
发表于 2010-11-24 16:59:15 | 只看该作者
好东西要顶的 好东西要顶的
回复

使用道具 举报

2728#
发表于 2010-11-24 20:53:05 | 只看该作者
太好了,非常感谢楼主!
回复

使用道具 举报

2729#
发表于 2010-11-25 00:20:58 | 只看该作者
硬盘某个分区除了dbr的第一个扇区保留,其它全部填0,这时候在打开bootice,主引导记录可以打开,分区引导记录和分区表的按钮点击后鼠标指针成沙漏无法打开,只能强行退出软件。
回复

使用道具 举报

2730#
发表于 2010-11-25 10:15:32 | 只看该作者
不错,支持一下这么好的东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-21 21:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表