无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 9042|回复: 61

求个清除保留扇区的命令行工具

  [复制链接]
发表于 2020-5-16 17:48:44 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 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:12 来自手机 | 显示全部楼层
Linux下是把磁盘当文件来对待的,win下就难了。建议还是用dd,cywin的。
回复

使用道具 举报

发表于 2020-5-16 21:11:22 | 显示全部楼层
http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1
磁盘扇区读写、分区信息管理工具dsptw

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

我改到 2040 年也能运行.
回复

使用道具 举报

 楼主| 发表于 2020-5-16 22:30:32 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-16 22:36 编辑
窄口牛 发表于 2020-5-16 20:38
Linux下是把磁盘当文件来对待的,win下就难了。建议还是用dd,cywin的。

dd for windows我不会用,不会用的根本原因是害怕,对软件不熟悉,对数据结构不熟悉。
回复

使用道具 举报

 楼主| 发表于 2020-5-16 22:34:09 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-16 22:37 编辑

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


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

使用道具 举报

发表于 2020-5-16 23:45:18 来自手机 | 显示全部楼层
biotsect.exe研究下,做这些非常危险,一定要小心。
回复

使用道具 举报

发表于 2020-5-17 00:42:43 | 显示全部楼层
本帖最后由 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, 下载次数: 22, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2020-5-17 05:28:31 来自手机 | 显示全部楼层
窄口牛 发表于 2020-5-16 23:45
biotsect.exe研究下,做这些非常危险,一定要小心。

biotsect搜了下没找到啊?能分享下吗?有用法吗?
回复

使用道具 举报

 楼主| 发表于 2020-5-17 05:28:59 来自手机 | 显示全部楼层
plusv 发表于 2020-5-17 00:42
追了程序码

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


感谢大神分享!等下试试看。
回复

使用道具 举报

 楼主| 发表于 2020-5-17 06:58:11 | 显示全部楼层
本帖最后由 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, 下载次数: 13, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2020-5-17 07:00:14 来自手机 | 显示全部楼层
win7系统包里boot文件夹下面。
回复

使用道具 举报

发表于 2020-5-17 07:15: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, 下载次数: 41, 下载积分: 无忧币 -2

评分

参与人数 1无忧币 +10 收起 理由
liuzhaoyzz + 10 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-5-17 08:23:19 | 显示全部楼层
plusv 发表于 2020-5-17 07:15
dsptw2008.11.29
-> 修改

我把时间改成2099年,程序可用,感谢plusv大神出手!
回复

使用道具 举报

 楼主| 发表于 2020-5-17 08:24:37 | 显示全部楼层
窄口牛 发表于 2020-5-17 07:00
win7系统包里boot文件夹下面。

莫非你说的是微软的bootsect?这个不行,这个只能修改1个扇区的MBR,还有修改PBR,无法清除保留扇区那些残留的引导代码。
回复

使用道具 举报

发表于 2020-5-17 08:29:03 来自手机 | 显示全部楼层
哦。我也是搜到有人说的。
回复

使用道具 举报

发表于 2020-5-17 08:55:40 | 显示全部楼层
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

回复

使用道具 举报

 楼主| 发表于 2020-5-17 09:20:16 | 显示全部楼层
2012qnmd 发表于 2020-5-17 08:55
pecmd 可以
当时,跟作者提过,加入了此功能,也测试过了,没有问题

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

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

回复

使用道具 举报

 楼主| 发表于 2020-5-17 09:22:55 | 显示全部楼层
本帖最后由 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:48 来自手机 | 显示全部楼层
尽量避免这个操作,太危险了。
回复

使用道具 举报

 楼主| 发表于 2020-5-17 11:56:02 | 显示全部楼层
527104427 发表于 2020-5-17 11:41
现在还有4k扇区的情况,不知道mbr还是不是写到前512字节。

不知道呢。估计dsptw没有考虑,那时候是2008年。
回复

使用道具 举报

 楼主| 发表于 2020-5-17 18:53:02 来自手机 | 显示全部楼层
本帖最后由 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
回复

使用道具 举报

 楼主| 发表于 2020-5-18 07:13:43 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-11-17 11:07 编辑
窄口牛 发表于 2020-5-17 09:47
尽量避免这个操作,太危险了。

        也没有那么可怕,只要设置好边界条件,不会有问题的。bootice也是直接写扇区,weesetup也是直接写扇区的,diskgenius清除保留扇区也是直接写扇区的,没那么可怕,而且diskgenius只能清除1-62扇区这些保留扇区,对于保留扇区2047这样子的就不行,比如分区的时候对齐到2048扇区这种,保留扇区就有2047。
回复

使用道具 举报

发表于 2020-5-18 11:13:32 | 显示全部楼层
IQIX有此功能,只是早先未开放
密码:六个九

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

使用道具 举报

 楼主| 发表于 2020-5-18 12:45:40 来自手机 | 显示全部楼层
sinoxer 发表于 2020-5-18 11:13
IQIX有此功能,只是早先未开放
密码:六个九


谢谢杏大分享!现在手机回复,晚点下载试试。为什么这么大?是不是还有其他功能,这个功能能否独立出来?
回复

使用道具 举报

 楼主| 发表于 2020-5-18 14:20:42 | 显示全部楼层
不行啊,x86 x64都出错,x86的为什么不能在64位系统下运行?x64的也出错啊。

QQ截图20200518141935.jpg
回复

使用道具 举报

 楼主| 发表于 2020-5-19 07:04:58 | 显示全部楼层
请问下set disk_num=9999,这个怎么确定呢?能否用盘符来确定disk_num=xxxx?
比如C: D: E: F:盘对应的硬盘disk_num都是x这样子。
回复

使用道具 举报

发表于 2020-5-19 10:49:38 | 显示全部楼层
liuzhaoyzz 发表于 2020-5-19 07:04
请问下set disk_num=9999,这个怎么确定呢?能否用盘符来确定disk_num=xxxx?
比如C: D: E: F:盘对应的硬 ...


磁盘可选用以下三种描述方式之一:

磁盘号(0、1、2……,以Windows定义的序号为准)
如8号物理磁盘
disk_num=8

盘符(C:、D:、E:……,以Windows定义的盘符为准)
如X:盘所在的物理磁盘
disk_num=X:

枚举所有MBR磁盘(/ALL_MBR_DISK)
disk_num=/ALL_MBR_DISK


密码:六个九

Clear_Reserved_Sectors_0519.7z (2.58 MB, 下载次数: 26)
回复

使用道具 举报

 楼主| 发表于 2020-5-19 19:54:04 | 显示全部楼层
sinoxer 发表于 2020-5-19 10:49
磁盘可选用以下三种描述方式之一:

磁盘号(0、1、2……,以Windows定义的序号为准)

试了下,成功了,杏大,这个小软件为啥这么大?是不是里面还有其他的功能,能否只保留清除保留扇区的功能?
回复

使用道具 举报

 楼主| 发表于 2020-5-19 20:01:34 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-19 20:09 编辑
527104427 发表于 2020-5-19 15:42
还是用PECMD吧,方便快捷。
将原来的ChkMbrPbr改了一下,两个功能只占一份体积。其实只要你愿意,你引用 ...

5大的代码,对于保留扇区1-62的这种可以清除,对于保留扇区1-2047这种似乎不行啊。
回复

使用道具 举报

 楼主| 发表于 2020-5-19 20:17:32 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-5-19 21:02 编辑
527104427 发表于 2020-5-19 20:15
这是通过分区表算出第一个分区的位置,不行的话把你的分区表传上来看看是啥。

MBR0-2048
是不是这个啊。

diskgenius分区的时候,选择对齐到2048扇区,保留扇区就是1-2047的样子。

mbr2048.rar

6.85 KB, 下载次数: 15, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-16 15:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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