无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4740|回复: 7
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2013-7-8 20:40:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请教如何编辑NTBOOT将set sys=win7 写入autoexec.bat批处里?

====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
chainloader (fd0)/io.sys
boot
exit
=====autoexec.bat==============================
@echo off
cls
tway /np >nul
:sys_set
set v_part=::::::::::
set sys=WIN7
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
============================================
2#
发表于 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
回复

使用道具 举报

3#
 楼主| 发表于 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数值应该怎样设置?
回复

使用道具 举报

4#
发表于 2013-7-9 10:11:19 | 只看该作者
你自己数一下也能计算,回车换行占两个字节;
用winhex查看也行

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

Snap3.jpg

点评

明白了谢谢!  详情 回复 发表于 2013-7-9 10:34
回复

使用道具 举报

5#
 楼主| 发表于 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
回复

使用道具 举报

6#
发表于 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
回复

使用道具 举报

7#
 楼主| 发表于 2013-7-9 14:25:21 | 只看该作者
527104427 发表于 2013-7-9 11:19
用下面的比较灵活,不用去数位置,寻找特征字符替换就行了。
注意autoexec.bat中,set sys=后面要有足够 ...

用你推荐的方法试验,win7恢复成功了,但xp失败了:

捕获2.JPG (20.41 KB, 下载次数: 45)

捕获2.JPG

点评

看你的截图,与我提供的命令无关。 我只是提供思路,你可以自行变通。  详情 回复 发表于 2013-7-9 15:02
回复

使用道具 举报

8#
发表于 2013-7-9 15:02:47 | 只看该作者
icons 发表于 2013-7-9 14:25
用你推荐的方法试验,win7恢复成功了,但xp失败了:

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

我只是提供思路,你可以自行变通。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-14 02:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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