无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3646|回复: 4
打印 上一主题 下一主题

[求助] 请解读一下GRUB4DOS启动XP故障恢复控制台的菜单中的write命令

[复制链接]
跳转到指定楼层
1#
发表于 2017-5-11 19:46:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
XP系统中安装了故障恢复控制台

boot.ini中故障恢复控制台启动项如下
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows XP Recovery Console" /cmdcons

(BOOTSECT.DAT其实就是从C分区提取的分区引导扇区得到的文件,被修改成搜索cmdldr)

在它下面增加了
C:\GRLDR="GRUB4DOS启动故障恢复控制台"


启动计算机,选择 Microsoft Windows XP Recovery Console,启动了故障恢复控制台
又启动计算机,选择 GRUB4DOS启动故障恢复控制台
在命令行中输入:
chainloader /cmdldr
boot

不能启动故障恢复控制台,提示txtsetup.sif无效或丢失


看了fujianabc的帖子
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=32602
用grub4dos加载setupldr.bin时,要加两句特殊语句

title cmdcons
chainloader (hd0,0)/setupldr.bin
write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F


于是在命令行中输入:
chainloader /cmdldr
write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F
boot

就成功启动了故障恢复控制台

下面的命令也可以:

chainloader /cmdcons/setupldr.bin
write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F
boot

(上面的两个命令也可启动U盘中的故障恢复控制台)

write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F
这两句是什么意思




另外:

如果加载BOOTSECT.DAT,也不能启动故障恢复控制台,提示txtsetup.sif无效或丢失,命令如下:

chainloader /cmdcons/BOOTSECT.DAT
write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F
boot



chainloader /cmdcons/BOOTSECT.DAT
boot





推荐
发表于 2017-5-11 21:29:46 | 只看该作者
write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F
这两句是什么意思


0x63646D63 就是 cmdc

0x00736E6F 就是 ons\0

合起来就是 cmdcons\0。

用不着解释为什么吧?启动微软的东西,能启动就已经很不错了,要再去问个 “为什么”,是不是有点“贪”?

点评

今天把故障恢复控制台的cmldr换成GRLDR,重启计算机,选择 Microsoft Windows XP Recovery Console,启动了GRLDR,在命令行输入: cat --hex (md)62+1 执行结果可看到偏移位置0x7C03处开始就有cmdcons字符  详情 回复 发表于 2017-5-15 20:01
谢谢回复 原来是写入cmdcons\0字符串,相当于指定了启动路径,就能启动故障恢复控制台了  详情 回复 发表于 2017-5-11 21:50
回复

使用道具 举报

3#
发表于 2017-5-11 21:46:08 | 只看该作者
难道有一天还能直接引导winload.exe?
回复

使用道具 举报

4#
 楼主| 发表于 2017-5-11 21:50:54 | 只看该作者
不点 发表于 2017-5-11 21:29
0x63646D63 就是 cmdc

0x00736E6F 就是 ons\0

谢谢回复

原来是写入cmdcons\0字符串,相当于指定了启动路径,就能启动故障恢复控制台了
回复

使用道具 举报

5#
 楼主| 发表于 2017-5-15 20:01:47 | 只看该作者
不点 发表于 2017-5-11 21:29
0x63646D63 就是 cmdc

0x00736E6F 就是 ons\0

今天把故障恢复控制台的cmldr换成GRLDR,重启计算机,选择 Microsoft Windows XP Recovery Console,启动了GRLDR,在命令行输入:

cat --hex (md)62+1

执行结果可看到偏移位置0x7C03处开始就有cmdcons字符

原来boot.ini中故障恢复控制台启动项的参数/cmdcons作在计算机启动过程中会在内存的0x7C03处写入了cmdcons字符
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-14 15:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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