无忧启动论坛

标题: 求个清除保留扇区的命令行工具 [打印本页]

作者: liuzhaoyzz    时间: 2020-5-16 17:48
标题: 求个清除保留扇区的命令行工具
本帖最后由 liuzhaoyzz 于 2020-5-19 21:39 编辑

       diskgenius有个清除保留扇区,即1-62扇区的功能,但没有命令行。求高手写个清除保留扇区的命令行工具,要求只处理MBR硬盘,不要处理GPT硬盘(会出错),另外对于硬盘保留扇区要能自动计算,比如有的保留扇区是31/62/1023/2047等。
1、以前cndos论坛有个dsptw工具可以读写任意一个扇区,但是没有判断起始扇区的功能(有命令参数可以输出,要自己处理),似乎dsptw有时间限制(二十年?)。
http://wuyou.net/forum.php?mod=viewthread&tid=109935
2、似乎dd for windows也可以实现?这个命令很危险不会用。

求高手用c/c++写个,或者推荐个命令行工具,想要实现的结果,ClearReserve C:这样的命令,如果C盘是MBR分区,就把C盘所在的硬盘的保留扇区清零。谢谢了!





https://liuzhaoyzz.lanzous.com/b00nlqm6j
感谢plusv,haiou327,19951001,5大,杏大等诸位大神的分享!
作者: 窄口牛    时间: 2020-5-16 20:38
Linux下是把磁盘当文件来对待的,win下就难了。建议还是用dd,cywin的。
作者: plusv    时间: 2020-5-16 21:11
http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1
磁盘扇区读写、分区信息管理工具dsptw

>似乎dsptw有时间限制(十年?)。

我改到 2040 年也能运行.
作者: liuzhaoyzz    时间: 2020-5-16 22:30
本帖最后由 liuzhaoyzz 于 2020-5-16 22:36 编辑
窄口牛 发表于 2020-5-16 20:38
Linux下是把磁盘当文件来对待的,win下就难了。建议还是用dd,cywin的。

dd for windows我不会用,不会用的根本原因是害怕,对软件不熟悉,对数据结构不熟悉。
作者: liuzhaoyzz    时间: 2020-5-16 22:34
本帖最后由 liuzhaoyzz 于 2020-5-16 22:37 编辑
plusv 发表于 2020-5-16 21:11
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=109935&extra=&page=1
磁盘扇区读写、分区信息管理工 ...

日期改到2040年之后,软件只能出帮助提示,所有的参数都无效。
不相信的话,你运行dsptw.exe /a /pdr
你看下能不能正确地显示所有的磁盘?


你能破解吗?
这样的软件还设置个时间限制,哎~~~
他的源代码已经全部丢了。
Dust to dust,ash to ash~~~

作者: 窄口牛    时间: 2020-5-16 23:45
biotsect.exe研究下,做这些非常危险,一定要小心。
作者: plusv    时间: 2020-5-17 00:42
本帖最后由 plusv 于 2020-5-17 01:07 编辑
liuzhaoyzz 发表于 2020-5-16 22:34
日期改到2040年之后,软件只能出帮助提示,所有的参数都无效。
不相信的话,你运行dsptw.exe /a /pdr
...

追了程序码

1. 程序 DISKRW.exe 和 DSPTW.exe 脱壳.
2. 去除 禁止更名.
3. 去除 禁止修改.
4. 去除 时间限制(2027 年正常,2028 年后,参数无效)

123.png

234.png


Src_Crk.rar

101.76 KB, 下载次数: 24, 下载积分: 无忧币 -2


作者: liuzhaoyzz    时间: 2020-5-17 05:28
窄口牛 发表于 2020-5-16 23:45
biotsect.exe研究下,做这些非常危险,一定要小心。

biotsect搜了下没找到啊?能分享下吗?有用法吗?
作者: liuzhaoyzz    时间: 2020-5-17 05:28
plusv 发表于 2020-5-17 00:42
追了程序码

1. 程序 DISKRW.exe 和 DSPTW.exe 脱壳.


感谢大神分享!等下试试看。
作者: liuzhaoyzz    时间: 2020-5-17 06:58
本帖最后由 liuzhaoyzz 于 2020-5-17 06:59 编辑
plusv 发表于 2020-5-17 00:42
追了程序码

1. 程序 DISKRW.exe 和 DSPTW.exe 脱壳.

下载试了下,没有时间限制了,不过你修改的不是最终版本的啊。
最终版是:
dsptw2008.11.29
DISKRW2008.11.11
最终版本修复了较多bug。http://wuyou.net/forum.php?mod=r ... &fromuid=298214
恳请plusv大神再次修改下,谢谢了!

dsptw_diskrw最终版.rar

67.44 KB, 下载次数: 17, 下载积分: 无忧币 -2


作者: 窄口牛    时间: 2020-5-17 07:00
win7系统包里boot文件夹下面。
作者: plusv    时间: 2020-5-17 07:15
本帖最后由 plusv 于 2020-5-17 07:21 编辑
liuzhaoyzz 发表于 2020-5-17 06:58
下载试了下,没有时间限制了,不过你修改的不是最终版本的啊。
最终版是:
dsptw2008.11.29

dsptw2008.11.29
-> 修改

DISKRW2008.11.11
-> 有 Bug,修改后 WinXP 崩溃,Win7 正常,所以不发
-> 文件差 10 天,应该没改什么.

1234.png

Crk.rar

43.45 KB, 下载次数: 45, 下载积分: 无忧币 -2


作者: liuzhaoyzz    时间: 2020-5-17 08:23
plusv 发表于 2020-5-17 07:15
dsptw2008.11.29
-> 修改

我把时间改成2099年,程序可用,感谢plusv大神出手!
作者: liuzhaoyzz    时间: 2020-5-17 08:24
窄口牛 发表于 2020-5-17 07:00
win7系统包里boot文件夹下面。

莫非你说的是微软的bootsect?这个不行,这个只能修改1个扇区的MBR,还有修改PBR,无法清除保留扇区那些残留的引导代码。
作者: 窄口牛    时间: 2020-5-17 08:29
哦。我也是搜到有人说的。
作者: 2012qnmd    时间: 2020-5-17 08:55
pecmd 可以
当时,跟作者提过,加入了此功能,也测试过了,没有问题

后来pecmd不断升级, 并且发了X64版本,不知道此功能是否保留了下来
下面是当时写的一个工具里面关于这部分的内容

_SUB F3
      FIND  $=%PHYDRV%,!!  TEAM  MESS 没有指定磁盘   @#参数错误OK *5000| EXIT _SUB
      MESS   要清除磁盘保留扇区...吗?        @#YN    $N
      FIND  $YES=%YESNO%,!  EXIT _SUB
      PUTF \\.\PhysicalDrive%PHYDRV%,1S,*62S 0x00
      MESS 完成    @#OK *5000
_END


作者: liuzhaoyzz    时间: 2020-5-17 09:20
2012qnmd 发表于 2020-5-17 08:55
pecmd 可以
当时,跟作者提过,加入了此功能,也测试过了,没有问题

感谢分享!我估计pecmd能搞定这个。

你上面的代码,似乎是清除1-62扇区的数据?有的磁盘MBR保留扇区可能是31/62/1023/2047,pecmd能否自动判断?
能给个完整的样板吗?


作者: liuzhaoyzz    时间: 2020-5-17 09:22
本帖最后由 liuzhaoyzz 于 2020-5-19 21:50 编辑

我分享个基于dsptw编写的清除保留扇区,避免残留代码干扰的范例,bootdisk=C:,可以自行修改,比如改成set /p bootdisk=请输入盘符:适用于磁盘MBR保留扇区可能是31/62/1023/2047等情况。


dsptw清除保留扇区.rar

148.36 KB, 下载次数: 25, 下载积分: 无忧币 -2


作者: 窄口牛    时间: 2020-5-17 09:47
尽量避免这个操作,太危险了。
作者: liuzhaoyzz    时间: 2020-5-17 11:56
527104427 发表于 2020-5-17 11:41
现在还有4k扇区的情况,不知道mbr还是不是写到前512字节。

不知道呢。估计dsptw没有考虑,那时候是2008年。
作者: liuzhaoyzz    时间: 2020-5-17 18:53
本帖最后由 liuzhaoyzz 于 2020-5-18 07:24 编辑
527104427 发表于 2020-5-17 11:41
现在还有4k扇区的情况,不知道mbr还是不是写到前512字节。


        论坛搜了下,似乎4KB扇区不支持BIOS下启动,必须要搞成GPT分区,UEFI启动才行。而我所讨论的保留扇区是基于MBR分区的,GPT下讨论保留扇区没什么意义,因为GPT分区是直接从文件启动的,扇区数据不怎么影响启动,MBR分区才是从扇区启动的。

清除保留扇区的主要作用是防止残留的扇区数据影响引导,能够解决BIOS引导时一些诡异的引导问题。


http://wuyou.net/forum.php?mod=v ... C8%C7%F8&page=1
作者: liuzhaoyzz    时间: 2020-5-18 07:13
本帖最后由 liuzhaoyzz 于 2020-11-17 11:07 编辑
窄口牛 发表于 2020-5-17 09:47
尽量避免这个操作,太危险了。

        也没有那么可怕,只要设置好边界条件,不会有问题的。bootice也是直接写扇区,weesetup也是直接写扇区的,diskgenius清除保留扇区也是直接写扇区的,没那么可怕,而且diskgenius只能清除1-62扇区这些保留扇区,对于保留扇区2047这样子的就不行,比如分区的时候对齐到2048扇区这种,保留扇区就有2047。
作者: sinoxer    时间: 2020-5-18 11:13
IQIX有此功能,只是早先未开放
密码:六个九

Clear_Reserved_Sectors.7z (2.54 MB, 下载次数: 27)