无忧启动论坛

 找回密码
 注册
搜索

请教如何编辑NTBOOT将set sys=win7 写入autoexec.bat批处里?

查看数: 5221 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-7-8 20:40

正文摘要:

请教如何编辑NTBOOT将set sys=win7 写入autoexec.bat批处里? ====NTBOOT============ !BAT debug off checkrange 20111212:-1 read 0x8278 || call :error Not supported grub4dos version! set NTBOOT=%~f0 ...

回复

527104427 发表于 2013-7-9 15:02:47
icons 发表于 2013-7-9 14:25
用你推荐的方法试验,win7恢复成功了,但xp失败了:

看你的截图,与我提供的命令无关。

我只是提供思路,你可以自行变通。
527104427 发表于 2013-7-9 11:19:38
icons 发表于 2013-7-9 10:34
明白了谢谢!

用下面的比较灵活,不用去数位置,寻找特征字符替换就行了。
注意autoexec.bat中,set sys=后面要有足够的空格。

====NTBOOT============
!BAT
debug off
checkrange 20111212:-1 read 0x8278 || call :error Not supported grub4dos version!
set NTBOOT=%~f0
setlocal
:recovery
map --mem %NTBOOT%.BMP/W7REVHD.IMG (fd0)
map --hook
::查找VHD镜像所在分区,获取分区号
find --set-root --ignore-floppies --ignore-cd /vhdos/win7/win7_child.vhd (fd0)/diskid
cat --skip=0x4ff00 (md)+0x300 | set vhdp=
::准备 omnfis 标准盘符
echo %vhdp% > (md)0x200+1
cat --locate=\: --replace=\. (md)0x200+1
cat (md)0x200+1 | set vhdp=
:: 盘符写入指定位置
write --offset=52 (fd0)/autoexec.bat %vhdp%\r\n
cat --locatei="set sys=" --replace="set sys=WIN7" --number=1 (fd0)/autoexec.bat
chainloader (fd0)/io.sys
boot
exit
=====autoexec.bat==============================
@echo off
cls
tway /np >nul
:sys_set
set v_part=::::::::::
set sys=                                                                                                                                                         
cls
echo.
wbat text 3,6 (+green on black)"正删除%SYS%_child.vhd并从%SYS%_bak.vhd恢复,稍后启动......!!!"
echo.
omnifs delete %v_part%:\vhdos\%SYS%\%SYS%_child.vhd >nul
omnifs copy %v_part%:\vhdos\%SYS%\%SYS%_bak.vhd   %v_part%:\vhdos\%SYS%\%SYS%_child.vhd
goto end
:end
quit.com r
============================================

点评

用你推荐的方法试验,win7恢复成功了,但xp失败了:  详情 回复 发表于 2013-7-9 14:25
icons 发表于 2013-7-9 10:34:31
zhaohj 发表于 2013-7-9 10:11
你自己数一下也能计算,回车换行占两个字节;
用winhex查看也行

明白了谢谢!

点评

用下面的比较灵活,不用去数位置,寻找特征字符替换就行了。 注意autoexec.bat中,set sys=后面要有足够的空格。 ====NTBOOT============ !BAT debug off checkrange 20111212:-1 read 0x8278 || call :er  详情 回复 发表于 2013-7-9 11:19
zhaohj 发表于 2013-7-9 10:11:19
你自己数一下也能计算,回车换行占两个字节;
用winhex查看也行

Snap3.jpg (95.4 KB, 下载次数: 94)

Snap3.jpg

点评

明白了谢谢!  详情 回复 发表于 2013-7-9 10:34
icons 发表于 2013-7-9 09:28:56
zhaohj 发表于 2013-7-9 08:29
象下面的就是:
write --offset=52 (fd0)/autoexec.bat %vhdp%\r\n
-----------------

请问write --offset=xx中的XX数值应该怎样设置?
zhaohj 发表于 2013-7-9 08:29:22
象下面的就是:
write --offset=52 (fd0)/autoexec.bat %vhdp%\r\n
-----------------
write --offset=xx (fd0)/autoexec.bat set sys=win7 \r\n
条件:autoexec.bat文件足够大

点评

请问write --offset=xx中的XX数值应该怎样设置?  详情 回复 发表于 2013-7-9 09:28

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 22:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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