社区
C++ Builder
帖子详情
呼唤高手关于XP/win2003的ScanDisk的起动原理
weill
2005-09-28 09:17:19
我们知道,XP/win2003在非法关机后,再起动时系统就会在一个类DOS的界面下调出ScanDisk。
现在KV2006也使用了类似技术。
我想知道,这是怎么实现的,我们有可能自个写个DOS程序加到这个过程中去吗?
给分原则还是给最先给出答案的朋友,或是给出有效提示的几位朋友。
...全文
361
18
打赏
收藏
呼唤高手关于XP/win2003的ScanDisk的起动原理
我们知道,XP/win2003在非法关机后,再起动时系统就会在一个类DOS的界面下调出ScanDisk。 现在KV2006也使用了类似技术。 我想知道,这是怎么实现的,我们有可能自个写个DOS程序加到这个过程中去吗? 给分原则还是给最先给出答案的朋友,或是给出有效提示的几位朋友。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ma100
2005-10-01
打赏
举报
回复
是某个隐含
ma100
2005-10-01
打赏
举报
回复
要是我的话我会在系统启动时在每个隐含的地方写上0,关机的最后动作写上1,每次开机检查这个地方不就行了
weill
2005-10-01
打赏
举报
回复
UP一下,看看C++里有没有高人出来说说。
wohow
2005-09-30
打赏
举报
回复
alloutoflove(andrew)的回答在FAT(包括FAT32)上是对的,NTFS一致性由NTFS文件系统自己保证,所以即使非正常关机,如果系统分区和引导分区均为NTFS,那也看不到Scandisk(在2000后已经被Chkdsk取代)的出现,看看NTFS的数据结构就明白了。
weill
2005-09-30
打赏
举报
回复
constantine(飘遥的安吉儿)的解答只怕是把简单的东西复杂化了。
weill
2005-09-30
打赏
举报
回复
看了上面这么多朋友的回复,我很高兴有这么多朋友对此感兴趣参与进来,并帮我解答。
在这儿先行谢过。
alloutoflove(andrew)的解答似乎比较好,我再自个试试。
alloutoflove
2005-09-29
打赏
举报
回复
具体可以在网上搜一下NATIVE APPLICATION相关的东西...
alloutoflove
2005-09-29
打赏
举报
回复
HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\Session Manager
下有一键值:
BootExecute
用来指定在启动时运行的程序
详细可以参考这里:
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;160963&sd=tech
KV2006加入后该项值为:
autocheck autochk *
KvNative.exe
KvNative是32位程序,不过不让在GUI环境下启动, 也不是我们常见的一般可执行PE文件, 我试着用ollydbg装载不成功,不过用PEEditor可以看出这个程序只调用了Ntdll.dll中的函数, 所以应该不一定非要用驱动,但在启动时运行的话有好多平时的API不能用.
yind192168
2005-09-29
打赏
举报
回复
可能是写成了类似硬件驱动这样的东西,在跑完那几圈滚动条的时候就已经加载了,然后判断标志是否要执行,猜测的,具体的我是不懂的,我不是高手,只是经常安装系统,还有个O&O BlueCon软件还可以在滚动条跑完的时候运行起来提供一个命令行处理,好像这个时候系统还没有加载注册表,因为可以在这个命令行下对注册表文件删除操作,到了GUI里面,这些注册表文件就都删除不了了。
xibingwuqing
2005-09-29
打赏
举报
回复
如果是原理,到其它版块问问吧
constantine
2005-09-29
打赏
举报
回复
这个是我个人的见解,不一定对,不过屏蔽Ctrl+Alt+Del就可以这样做来干预系统的一些操作,我想应该这个也可以吧
constantine
2005-09-29
打赏
举报
回复
应该不是dos吧,想要在这个过程中动手脚,你可以考虑这个过程是在系统那个程序或是什么dll中运行的
最好就自己做个dll,然后用远程注入的方法注入到系统这个对应的dll中,不过还要了解对应这个过程发送什么事情,有没有对应的消息什么的,不然估计也没有用
alloutoflove
2005-09-29
打赏
举报
回复
刚看了一下kv2006的运行截图, 实现起来应该不简单, 对KV系列感觉好只是在Dos时代的kv100/200/300
alloutoflove
2005-09-29
打赏
举报
回复
我觉得应该是系统启动时会置一个标志, 正常关机时会清掉该标志, 如果是非正常关机, 下次启动时该标志依然有效, 则说明上一次是非正常关机. 在STOP蓝屏时, 应该也会置一个标志, 这可以为什么有时2003能在STOP后重启动系统时会自动将错误关机原因置成STOP错误.
lz_zxf
2005-09-29
打赏
举报
回复
应该是XP/win2003在非法关机后系统留下了一个尾巴,启动时系统查找到有尾巴就调用ScanDisk。
Behard
2005-09-29
打赏
举报
回复
查看 setupact.log 发现 Windows 通过 Task 来实现的
Behard
2005-09-29
打赏
举报
回复
你字节测试一下可以知道的
首先监控注册表,然后手工启动硬盘检测【检测系统安装所在分区,这时是不能马上检测的】
然后选择重启之后检测硬盘,看看注册表有什么变化
BTW:这个是系统自己设置的,你手工设置更他一样,应该能达到目的吧
binbin
2005-09-28
打赏
举报
回复
肯定不是"DOS"程序吧???
scand
isk
,硬盘修复工具
原装的硬盘坏道扫描并修复工具,推荐大家使用。 大家可以用UltraISO制作到U盘做启动盘,启动后就可以检测硬盘坏道了。 可由
ScanD
isk
修复的问题 1、
ScanD
isk
在下列区域内检查和修复故障: ★文件分配表 (FAT) ★ 文件系统的结构(丢失的簇、交叉链接的文件) ★ 目录树结构 ★ 驱动器的物理盘面(坏簇) ★ DoubleSpace卷头(MDBPB) ★ DoubleSpace卷文件结构 (MDFAT) ★ DoubleSpace压缩结构 ★ DoubleSpace卷签 ★ MS-DOS引导区 2、驱动器类型
ScanD
isk
能查找和修复下面几类驱动器上的故障: ★ 硬盘驱动器 ★ DoubleSpace驱动器 ★ 软盘驱动器 ★ RAM驱动器 ★ 内存卡 3、
ScanD
isk
不能查找或修复下面几类驱动器上的故障: ★ CD-ROM驱动器 ★ 网络驱动器 ★ 用ASSIGN、SUBST或JOIN命令创建的驱动器 ★ 用INTERLNK创建的驱动器
U3
scand
isk
工具
U3
scand
isk
量产工具,可将U3 量产为CD-ROM启动盘,也可以卸载U3CD-ROM启动盘。
ScanD
isk
.exe(
ScanD
isk
磁盘修复工具)绿色免费版
Microsoft
ScanD
isk
磁盘分析和修复工具能检查驱动器上的错误并排除所找到的任何故障。 可由
ScanD
isk
修复的问题 1、
ScanD
isk
在下列区域内检查和修复故障: ★文件分配表 (FAT) ★ 文件系统的结构(丢失的簇、交叉链接的文件) ★ 目录树结构 ★ 驱动器的物理盘面(坏簇) ★ DoubleSpace卷头(MDBPB) ★ DoubleSpace卷文件结构 (MDFAT)
scand
isk
U3量产工具
这是专用的破解工具,望受大家朋友试试……
ScanD
isk
(磁盘修复工具) v1.0 绿色免费版.zip
Microsoft
ScanD
isk
磁盘分析和修复工具能检查驱动器上的错误并排除所找到的任何故障。 可由
ScanD
isk
修复的问题: 1、
ScanD
isk
在下列区域内检查和修复故障: ★文件分配表 (FAT) ★ 文件系统的结构(丢失的簇、交叉链接的文件) ★ 目录树结构 ★ 驱动器的物理盘面(坏簇) ★ DoubleSpace卷头(MDBPB) ★ DoubleSpace卷文件结构 (MDFAT) ★ DoubleSpace压缩结构 ★ DoubleSpace卷签 ★ MS-DOS引导区
C++ Builder
13,822
社区成员
102,680
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章