请解读一下GRUB4DOS启动XP故障恢复控制台的菜单中的write命令
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
write 0x7C03 0x63646D63
write 0x7C07 0x00736E6F
这两句是什么意思
0x63646D63 就是 cmdc
0x00736E6F 就是 ons\0
合起来就是 cmdcons\0。
用不着解释为什么吧?启动微软的东西,能启动就已经很不错了,要再去问个 “为什么”,是不是有点“贪”? 难道有一天还能直接引导winload.exe?{:3_141:} 不点 发表于 2017-5-11 21:29
0x63646D63 就是 cmdc
0x00736E6F 就是 ons\0
谢谢回复
原来是写入cmdcons\0字符串,相当于指定了启动路径,就能启动故障恢复控制台了 不点 发表于 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字符
页:
[1]