| 
 | 
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 
============================================ |   
 
 
 
 |