Ïåðåéòè èç ôîðóìà íà ñàéò.

ÍîâîñòèÔàéëîâûå àðõèâû
ÏîèñêÀêòèâíûå òåìûÒîï ëèñò
ÏðàâèëàÊòî â on-line?
Âõîä Çàáûëè ïàðîëü? Ïåðâûé ðàç íà ýòîì ñàéòå? Ðåãèñòðàöèÿ
Êîìïüþòåðíûé ôîðóì Ru.Board » Êîìïüþòåðû » Ïðîãðàììû » GRUB4DOS è GNU GRUB (÷àñòü 2)

Ìîäåðèðóåò : gyra, Maz

gyra (06-12-2016 03:18): GRUB4DOS è GNU GRUB (÷àñòü 3)  Âåðñèÿ äëÿ ïå÷àòè • ÏîäïèñàòüñÿÄîáàâèòü â çàêëàäêè
Íà ïåðâóþ ñòðàíèöóê ýòîìó ñîîáùåíèþê ïîñëåäíåìó ñîîáùåíèþ

   

VV2006

Silver Member
Ðåäàêòèðîâàòü | Ïðîôèëü | Ñîîáùåíèå | Öèòèðîâàòü | Ñîîáùèòü ìîäåðàòîðó

Êîä:
!BAT
debug off
checkrange 20111212:-1 read 0x8278 || call :error Not supported grub4dos version!
if not exist NTBOOT && set NTBOOT=%~f0
setlocal
set ISO_TYPE=
set ISO_INST=
set NTPATH=
echo
echo NTBOOT by chenall 2011-12-12,$[0101]http://chenall.net
goto %1 || goto :NTBOOT_HELP
 
:menu
configfile %NTBOOT%.LST/MENU.LST
exit
 
::¼ì²âÏÂÒ»¸öÎļþ¡£ÔÚʹÓÃcall :CHECK_FILE %FILE1% %FILE2% Ö®ÀàµÄÇé¿öÏ»áÓõ½
:CHECK_NEXT_FILE
set tmp=%2
if not exist tmp && goto :input_file
shift
if "%0"=="%1" && goto :CHECK_NEXT_FILE
::¼ì²é/²éÕÒÎļþ
:CHECK_FILE
echo Checking file $[0107]%1 ...
set file=%1
set tmp=%~pnx1
::Èç¹û·¾¶ÊÇÒÔ"("¿ªÍ·µÄ,ÔòÊÇÒ»¸öÍêÕûµÄ·¾¶,²»ÔÙ½øÐвéÕÒ.
if not "%file:~0,1%"=="(" && goto :_FIND1
cat --length=0 %1 || goto :CHECK_NEXT_FILE
root %~d1
goto :eof
 
:_FIND1
find --set-root --devices=h %1 || goto :CHECK_NEXT_FILE
goto :eof
 
:input_file
::»ñÈ¡Óû§ÊäÈëµÄÎļþ,
echo
echo File not found or not support: $[0105]%file%
echo  
echo Please enter a new path to the file: $[0104]%~x1
set file=
set /p:5 file=NTBOOT>
if not exist file goto :exit
set tmp=%~x1
set tmp=%tmp:~0,3%
call Fn.11 "%file%" "%tmp%" || goto :input_file
echo
call :CHECK_FILE %file%
exit
 
:NT5
:NT6
E1
::¼ì²âÐèÒªµÄÄ£¿é
insmod %NTBOOT%.MOD/NTBOOT.MOD || call :error Missing module NTBOOT.MOD...
::Ó³ÉäNTBOOTÆô¶¯¾µÏñ
set /u file=NTBOOT.%1
map --mem %NTBOOT%.MOD/%file% (rd) || call :error Missing module %file%...
 
:NTBOOT_START
::ÉèÖÃĬÈÏWINDOWS·¾¶
if not exist WinDir set WinDir=WINDOWS
set boot_cfg=
shift
set file=%1
set tmp=/%WinDir%
::Èç¹ûûÓмӲÎÊý»ò²ÎÊýÊÇÒ»¸ö´ÅÅÌ·ÖÇø
if not exist file && goto %0.HDD
if "%~d1"=="%1" && goto %0.HDD
::ÒÔÉÏÊÇNT5»òNT6Ó²ÅÌÆô¶¯
if /i "%0"=="pe1" && set PDIR=WXPE && goto E1_BOOT
call :CHECK_FILE %file%
::תµ½¶ÔÓ¦µÄÆô¶¯Àà±ð£¬±ÈÈçNT5.IMG_BOOT£¬NT6.WIM_BOOT£¬NT6.VHD_BOOT
goto %0%~x1_BOOT
 
:NT5.HDD
echo Searching NT5.X on Hard Disk(/%WinDir%)
if exist file && root %1 ! find --set-root --devices=h /%WinDir%/system32/ntoskrnl.exe cat --locate=\0\x35\0\x2E /%WinDir%/system32/version.dll
goto :NT5_BOOT
:NT6.HDD
echo Searching NT6.X on Hard Disk(/%WinDir%)
if exist file && root %1 ! find --set-root --devices=h /%WinDir%/system32/winload.exe
goto :NT6_BOOT
 
:ISO_INST64
set ISO_TYPE=amd64
:ISO_INST
shift 1
::ÒÔÏÂÃüÁîÓÃÓÚÉú³ÉÒ»¸ö¿Õ°×µÄÈíÅÌ(fd0)
echo > (md)0x200+2
write --offset=0xb (md)0x200+3 \x00\x02\x01\x01\x00\x01\x70\x00\x10\x00\xfd\x01\x00\x08\x00\x01
write 0x401FE 0xAA55
write 0x40200 0xfffffe
map --mem (md)0x200+2 (fd0)
::ת»»µ½´óд
set /u boot=%1.IMG
set boot=%NTBOOT%.IMG/%boot%
::×Ô¶¯¼ÓÔضÔÓ¦Çý¶¯µÄÈíÅ̾µÏñµ½(fd1)
map --mem %boot% (fd1) || call :Error Missing Module %boot%...
::Èç¹ûÓû§Ö¸¶¨ÁËfloppyµÄ»°½«»áÓÉÓû§Ö¸¶¨µÄ¾µÏñ´úÌæ
set boot=cdrom
set ISO_INST=%1
goto :%1
 
::::AUTO_CONFIG::×Ô¶¯²ÎÊýÅäÖýӿÚ::::::::::::::::::::::::::::::::::::::::::::::::
::¿ÉÒÔ×Ô¶¯ÅäÖÃFIRADISK»òVBOOTµÄÆô¶¯²ÎÊý£¬À©Õ¹ºóÒ²¿ÉÒÔÉèÖÃÆäËü²ÎÊý¡£
::µ÷Ó÷½·¨£º call :AUTO_CONFIG VBOOT|FIRADISK [options...]
::ÆäÖÐoptions¸ù¾ÝÅäÖÃÀàÐ͵IJ»Í¬¶ø²»Í¬,µ«ÓÐÒ»¸ö²ÎÊýÊÇÏàͬµÄboot
::×¢£º³ýÁËbootºÍopt²ÎÊýÍâÆäËüµÄ²ÎÊý¶¼Ó¦¸ÃÊÇ type=FILE,ÀýÈçcdrom=/cd/xp.iso»òharddisk=(hd0,0)/test.imgÖ®ÀàµÄ
:AUTO_CONFIG
set ISO_INST=%1
:AUTO_CONFIG_LOOP
shift
shift
::
::Á½¸öshiftÖ®ºó.%0¾ÍÊÇ֮ǰµÄ%2,%1¾ÍÊÇ֮ǰµÄ%3
::Àý×Ó£º call :AUTO_CONFIG VBOOT harddisk=/test/test.vhd
::ûÓÐshift֮ǰ%0ÊÇ:AUTO_CONFIG,Á½´Îshift¾ÍÈ¥µôÁËÇ°ÃæµÄÁ½¸ö²ÎÊý£¬±ä³ÉÁËharddisk.
::
if "%1"=="" && exit
::Èç¹û²ÎÊýÊÇboot£¬ÔòÉèÖÃboot²ÎÊý¡£
if /i "%0"=="boot" && set boot=%1 && goto :AUTO_CONFIG_LOOP
::Èç¹û²ÎÊýÊÇopt/addons,²»µ÷ÓÃÎļþ²éÕÒ¼ì²â¹¦ÄÜ
set file=%~1
if "%0"=="opt" || if "%0"=="addons" || call :CHECK_FILE %1
if /i "%~x1"==".iso" && call Fn.11 "%~n1" "64" && set ISO_TYPE=amd64 && echo %ISO_INST%: ISO_TYPE = amd64
::¸ù¾Ý²»Í¬²ÎÊýµ÷Óò»Í¬µÄº¯Êý,ÏñFIRADISK.HARDDISK
echo %ISO_INST%: %0=%file%
call :%ISO_INST%.%0 %file%
::ÏÂÒ»¸ö²ÎÊý
goto :AUTO_CONFIG_LOOP
 
:WINVBLK
call :AUTO_CONFIG %*
goto :WINVBLK_BOOT
 
:WINVBLK.CDROM
map %1 (0xCD) || map --mem %1 (0xCD)
exit
:WINVBLK.FLOPPY
map --mem %1 (fd0)
exit
:WINVBLK.HARDDISK
map %1 (hd0) || map --heads=255 --sectors-per-track=63 %1 (hd0)
map (hd0) (hd)
map --harddrives=1
exit
 
:FIRADISK.@HARDDISK
:WINVBLK.@HARDDISK
map --mem --heads=0 --sectors-per-track=0 %1 (hd0)
map (hd0) (hd)
map --harddrives=1
exit
:FIRADISK.@CDROM
:WINVBLK.@CDROM
map --mem %1 (0xCD)
exit
 
:FIRADISK.#HARDDISK
:WINVBLK.#HARDDISK
map --mem --top --heads=0 --sectors-per-track=0 %1 (hd0)
map (hd0) (hd)
map --harddrives=1
exit
:FIRADISK.#CDROM
:WINVBLK.#CDROM
map --mem --top %1 (0xCD)
exit
 
 
:FIRADISK
::ʹÓÃÄÚ´æµØÖ·0x40000¿ªÊ¼´¦µÄ10¸öÉÈÇø´æ·ÅFIRADISK²ÎÊý¡£
::echo -n > (md)0x210+1
set fira.opt=
call :AUTO_CONFIG %*
::Èç¹ûÄÚ´æµØÖ·0x40020µÄÊýÖµ·Ç0£¬Ôò˵Ã÷ÓÐдÈëÁ˲ÎÊý.
::read 0x40020 && map --mem (md)0x200+16 (99)
::echo -e \" >> (md)0x210+1
map --hook
if not exist fira.opt && goto :FIRADISK_BOOT
cat --locate=###### --number=1 (fd1)/%ISO_TYPE%/TXTSETUP.OEM > nul || call :error firadisk.img file error..
set offset=%?%
write --offset=%offset% (fd1)/%ISO_TYPE%/TXTSETUP.OEM value=Parameters,StartOptions,REG_SZ,"%fira.opt%"\r\n
cat --skip=%offset% --locate=/ --replace=\\ (fd1)/%ISO_TYPE%/TXTSETUP.OEM
goto :FIRADISK_BOOT
 
:FIRADISK_BOOT
:WINVBLK_BOOT
map --hook
::±£Ö¤(fd1)µÄλÖÿ¿ºó.ÏêÇé:http://bbs.wuyou.com/viewthread.php?tid=203313
map (1)+1 (rd)
map --mem (rd)+1 (1)
map --rehook
if exist BOOT && %BOOT%
if /i "%boot%"=="cdrom" && chainloader (0xCD) && boot
if /i "%boot%"=="harddisk" && chainloader (hd0)+1 && boot
if /i "%boot%"=="floppy" && chainloader (fd0)+1 && boot
exit
 
::FIRADISK ²ÎÊý×Ô¶¯ÉèÖ㬿ÉÉèÖÃCDROM,FLOPPY,HARDDISKµÈ²ÎÊý
:FIRADISK.CDROM
::ÓÅÏÈʹÓÃÖ±½ÓÓ³É䣬ʧ°ÜÔÙ³¢ÊÔÄÚ´æÓ³Éä¡£
set fira.opt=cdrom,vmem=find:%~pnx1;%fira.opt%
map %1 (0xCD) || map --mem %1 (0xCD)
exit
:FIRADISK.FLOPPY
map --mem %1 (fd0)
exit
:FIRADISK.HARDDISK
map %1 (hd0) || map --heads=255 --sectors-per-track=63 %1 (hd0)
map (hd0) (hd)
set fira.opt=disk,vmem=find:%~pnx1;%fira.opt%
exit
:FIRADISK.OPT
set fira.opt=%~1;%fira.opt%
exit
::ÒÔÉÏÊÇFIRADISK ²ÎÊý×Ô¶¯ÉèÖÃ
 
:VBOOT
if not exist (0xfd)/vbootldr && map --mem %NTBOOT%.MOD/VBOOT.ISO (0xfd) || call :Error Missing Module VBOOT...
map --hook && echo VBOOT module loaded successfully.
echo -n vboot  > (0xfd)/vboot/grub/grub.cfg
if exist ISO_INST goto :VBOOT_INST
shift
::::::::::·ÇISO_INSTÊÇĬÈÏÆô¶¯´ÅÅÌΪharddisk::::::::::::::::::::
::::::::::µ÷ÓÃAUTO_CONFIGÀ´ÅäÖÃVBOOTµÄÆô¶¯²ÎÊý:::::::::::::::::
set boot=harddisk
call :AUTO_CONFIG vboot harddisk=%*
goto :VBOOT_BOOT
::ʹÓÃVBOOTÀ´°²×°ÏµÍ³£¬ÏÈÓ³ÉäVBOOT.IMG
:VBOOT_INST
call :AUTO_CONFIG %*
goto :VBOOT_BOOT
 
::::ÒÔÏÂÄÚÈÝΪVBOOTµÄÆô¶¯²ÎÊý×Ô¶¯ÅäÖÃ:::::::²»Á˽âÇë²»Òª¸Ä±ä£¬·ñÔò»áÆô¶¯Ê§°Ü::::::::
:VBOOT.CDROM
:VBOOT.HARDDISK
:VBOOT.FLOPPY
::VBOOT.TAKE_SNAPSHOT //
uuid ()
::VBOOT±È½Ï±¿£¬±ØÐëСд¡£¡£
set /l UUID=%?%
set /l tmp=%~x0
echo -e -n %tmp:~1%=(UUID=%UUID%)%~pnx1  >> (0xfd)/vboot/grub/grub.cfg
exit
:VBOOT.OPT
echo -e -n %~1  >> (0xfd)/vboot/grub/grub.cfg
exit
::::ÒÔÉÏÄÚÈÝΪVBOOTµÄÆô¶¯²ÎÊý×Ô¶¯ÅäÖÃ:::::::
 
:VBOOT_BOOT
echo -e boot=%boot%\nboot >> (0xfd)/vboot/grub/grub.cfg
if exist BOOT && %BOOT%
kernel (0xfd)/vbootldr
boot
exit 90
 
:NT6.VHD_BOOT
::¹Ì¶¨Ó÷¨,±¾ÈíÅ̶ÔÓ¦µÄBCDÎļþרÓÃ.ÏÂͬ
set boot_cfg=:BCD_CFG_VHD#WIM b 0x7D72 0x82EA
goto :NT6_BOOT
 
:NT6.WIM_BOOT
set boot_cfg=:BCD_CFG_VHD#WIM a 0x76A0 0x7A48
goto :NT6_BOOT
 
:NT5.IMG_BOOT
set boot_cfg=:NT5_RAM_CFG
goto :NT5_BOOT
 
::GET_ARC_PATH£¬°ÑÒ»¸ö·¾¶×ª»»ÎªARC¸ñʽ±íʾ
:GET_ARC_PATH
checkrange 0:1 read 0x82a0 && goto :FD_ARC
::checkrange 0x9E:0xFF read 0x82a0 && goto :CD_ARC
:HD_ARC
DISKID ret=0x60000 || goto :CD_ARC
set /a R=*0x60000>>24&0xFF
set /a P=*0x60000>>16&0xFF
echo multi(0)disk(0)rdisk(%R%)partition(%P%)%tmp% > (md)0x3000+4
:SET_ARC_PATH
::Ìæ»»GRUB4DOS·¾¶µÄ/ΪWINDOWS·¾¶\
cat --locate=/ --replace=\\ (md)0x3000+4
::ÉèÖñäÁ¿ARC_PATH
cat (md)0x3000+4 | set ARC_PATH=
goto :eof
 
:FD_ARC
set /a R=*0x82A0&0xFF
echo multi(0)disk(0)fdisk(%R%)%tmp% > (md)0x3000+4
::Èç¹ûÊÇ(fdx,y)µÄÐÎʽ£¬Ó³Éä³É(fdx)
checkrange 0xFFFFFF00 read 0x829b || map +1 ()
goto :SET_ARC_PATH
 
:CD_ARC
set /a R=*0x82A0&0xFF
echo multi(0)disk(0)cdrom(%R%)%tmp% > (md)0x3000+4
goto :SET_ARC_PATH
 
:NATIVE_CFG
echo cd ?:%~pnx1 > (rd)/NATIVE.CFG
cat --locate=/ --replace=\\ --length=256 (rd)/NATIVE.CFG
exit
 
E1_BOOT
######ÒÔÏÂÈýÐÐÊÇÌṩ¸øNATIVEºËÐĵÄPEʹÓõÄ######################
echo -e @echo off\r\ncd ?:%~p1\r\ncd ?:%~pnx1 > (rd)/NATIVE.CFG
################################################################
cat --locate=/ --replace=\\ --length=256 (rd)/NATIVE.CFG
if /i "%file%"=="%~x1" && set file=/boot/imgs/boot%1
E1.OPTIONS
if /i "%2"=="PDIR" && set PDIR=%3
if /i "%2"=="OPTIONS" && set option=%~3
if /i "%2"=="NTPATH" && set NTPATH=%3
if /i "%2"=="Addons" && call :Addons %3 pe
shift 2
shift 2
if not "%2"=="" goto E1.OPTIONS
call :CHECK_FILE %file% %file:~0,-1%_
if not exist NTPATH && set NTPATH=%tmp%
call :NATIVE_CFG %NTPATH%
::Èç¹ûÊÇISO¸ñʽ¾ÍÌí¼ÓÒ»¸ö²ÎÊý/rdexportascd
if /i "%tmp:~-3,2%"=="is" && set option=/rdexportascd %option%
if /i "%tmp:~-3%"=="wim" && set option=%option% /rdimageoffset=8192 /rdimagelength=3161088
call :GET_ARC_PATH
echo -e [SetupData]\r\nBootDevice="ramdisk(0)" > (rd)/BOOT.INI
echo BootPath="\%PDIR%\SYSTEM32\" >> (rd)/BOOT.INI
echo OsLoadOptions="/minint /fastdetect %option% /rdpath=%ARC_PATH%" >> (rd)/BOOT.INI
::Ïû³ý¶àÓàµÄ¿Õ×Ö·û,·ñÔò»áÆô¶¯Ê§°Ü
cat --locate=\0 --replace=; (rd)/BOOT.INI
::ÐÞ¸ÄĬÈÏ·¾¶
if /i not %PDIR%=="I386" && write --offset=0x2A4FB (rd)/SETUPLDR.BIN %PDIR%
::ÐÞ¸ÄĬÈÏWINNT.SIFÎļþÃû
write --offset=0x2a432 (rd)/SETUPLDR.BIN BOOT.INI\0
if /i "%DEBUG%"=="on" && cat (rd)/BOOT.INI && checkrange 0x11b pause --test-key && goto :exit
if exist BOOT && %BOOT%
map --mem (rd)+1 (0xfd)
map --hook
chainloader (0xfd)/SETUPLDR.BIN
boot
exit
 
:BCD_CFG_VHD#WIM
::±¾ÈíÅÌBCD¶ÔÓ¦µÄÌض¨Óï¾ä,ÐÞ¸ÄĬÈÏÆô¶¯Ïî
write --offset=0x4E74 (rd)/BOOT/BCD %1
::δ¹«¿ª¹¦ÄÜ¡£°Ñ±äÁ¿µÄÖµASCII×Ö·û´®Ê¹ÓÃUNICODE±àÂë·Åµ½ÄÚ´æ0x40000λÖᣱàÂ뷽ʽ\xH1\0\XH2\0.....
WENV get tmp=0x40000
::Ì滻·¾¶×Ö·ûÖеÄ/Ϊ\
cat --locate=\\x2F --replace=\\x5C (md)0x200+3
::±¾ÈíÅÌBCD¶ÔÓ¦µÄÌض¨Óï¾ä£¬ÐÞ¸ÄÎļþ·¾¶
WENV call write --offset=%2 (rd)/BOOT/BCD *0x40000$
WENV call write --offset=%3 (rd)/BOOT/BCD *0x40000$
exit
 
:NT5_RAM_CFG
set default=ramdisk(0)/%WinDir%
echo %default%="ramdisk" #fastdetect #noguiboot %opt% #rdpath=%ARC_PATH% >> (rd)/BOOT.INI
exit
 
:NT5_HDD_CFG
set default=%ARC_PATH%
echo %default%="NT5" #fastdetect %opt% #NoExecute=AlwaysOff #PAE  >> (rd)/BOOT.INI
exit
 
:NT5_BOOT
set /a cur_drv=*0x82A0&0x7F
set /a cur_pri=*0x829C>>16&0xFFFF
clear
echo
echo $[0105]  Will Boot NT5.X From $[0102](hd%cur_drv%,%cur_pri%)$[0106]%tmp%
echo
echo $[0101]  Press $[1103]Esc$[0101] to quit!
checkrange 0x11b pause --wait=3 --test-key && goto :exit
call :GET_ARC_PATH
shift 1
set opt=%*
echo [operating systems] > (rd)/BOOT.INI
if exist boot_cfg && call %boot_cfg% ! call :NT5_HDD_CFG
echo [boot loader] >> (rd)/BOOT.INI
echo timeout=0 >> (rd)/BOOT.INI
echo default=%default% >> (rd)/BOOT.INI
::Ìæ»»GRUB4DOS¸ñʽ·¾¶µÄ\Ϊ/
cat --locate=/ --replace=\\ (rd)/BOOT.INI
::Ìæ»»²ÎÊý£¬Ç°ÃæдÈëµÄ²ÎÊýÖеÄ/¶¼ÊÇʹÓÃ#´úÌæµÄ¡£
cat --locate=# --replace=/ (rd)/BOOT.INI
::Ïû³ý¿Õ×Ö·û£¨Ì滻Ϊ;£©
cat --locate=\0 --replace=; (rd)/BOOT.INI
if /i "%DEBUG%"=="on" && cat (rd)/BOOT.INI && checkrange 0x11b pause --test-key && goto :exit
if exist BOOT && %BOOT%
map --mem (rd)+1 (0xfd)
map --hook
chainloader (0xfd)/NTLDR
boot
exit
 
:NT6_BOOT
::»ñÈ¡µ±Ç°´ÅÅ̺Å
set /a cur_drv=*0x82A0&0x7F
set /a cur_pri=*0x829C>>16&0xFFFF
clear
echo
echo $[0105]  Will Boot NT6.X From $[0102](hd%cur_drv%,%cur_pri%)$[0106]%tmp%
echo
echo $[0101]  Press $[1103]Esc$[0101] to quit!
checkrange 0x11b pause --wait=3 --test-key && goto :exit
if exist boot_cfg && call %boot_cfg%
 
::»ñÈ¡MBRÇ©Ãû
dd if=(hd%cur_drv%)+1 of=(md) bs=1 count=4 skip=0x1b8 seek=0x60000
::»ñÈ¡µ±Ç°·ÖÇøÆ«ÒÆ
cat --length=0 ()-1
dd if=(md) of=(md) bs=1 count=8 skip=0x8290 seek=0x60004
::ÐÞ¸ÄMBRÇ©Ãû
cat --locate=\x53\xB7\x53\xB7 --replace=*0x60000 --hex=4 (rd)/BOOT/BCD
cat --locate=\0\x7E\0\0 --replace=*0x60004 --hex=8 (rd)/BOOT/BCD
if /i not "%WinDir%"=="windows" && call :CHG_NT6_WINDIR
if /i "%DEBUG%"=="on" && call :NT6_DEBUG
if exist BOOT && %BOOT%
map --mem (rd) (fd0)
map --hook
chainloader (fd0)/BOOTMGR
boot
exit
 
:NT6_DEBUG
find --set-root --devices=h /ntboot_bcd || call :error DEBUG: Missing file /ntboot_bcd.
dd if=(rd)/BOOT/BCD of=()/ntboot_bcd
exit
 
:CHG_NT6_WINDIR
::ÒÔ϶¼ÊDzâÊÔ£¬Ìæ»»BCDÀïÃæWINDOWSĿ¼£¬ÎÒ×Ô¼ºÒ²Ã»ÓÐÓùý²»ÖªÄÜ·ñÕý³£Ê¹Óá£
WENV get WinDir=0x60000
WENV call write --offset=0x3F76 (rd)/BOOT/BCD *0x60000$
set tmp=%WinDir%\system32\winload.exe
WENV get tmp=0x60000
WENV call write --offset=0x39A6 (rd)/BOOT/BCD *0x60000$
exit
 
:error
pause Error: %*
:exit
root %NTBOOT%
root ()
exit 1
 
:FIRADISK.Addons
:WINVBLK.Addons
:VBOOT.Addons
:Addons
setlocal
set addons=%*
call Fn.11 "(/" "%addons:~0,1%" || set addons=%NTBOOT%.MOD/%addons%
%addons% && echo -n
endlocal
exit
 
:NTBOOT_HELP
echo
echo Usage:
echo $[0102]    NTBOOT $[0107]NT5$[0105]|$[0107]NT6$[0105][=$[0107]root$[0105]|$[0107]file$[0105]]
echo
echo $[0102]    NTBOOT $[0105]PE1=file [PDIR=pdir] [OPTIONS=options] [ADDONS=cmd]
echo
echo $[0102]    NTBOOT $[0105]VBOOT=file [options...]
echo
echo $[0102]    NTBOOT $[0107]ISO_INST$[0105]|$[0107]ISO_INST64$[0105]=[$[0107]firadisk$[0105]|$[0107]vboot$[0105]|$[0107]winvblk$[0105]] $[0106][options...]
echo $[0106]    options: [[@]CDROM=iso_file] [FLOPPY=srs_img] [[@]HARDDISK=hdd_img]  
echo $[0106]            [BOOT=cdrom|floppy|harddisk] [ADDONS=cmd] [...]
echo $[0106]         "@" will map image to RAM(used for firadisk/winvblk only).
echo $[0106]         "#" will map image to top of RAM(firadisk/winvblk only).
echo
exit 2

Âñåãî çàïèñåé: 2123 | Çàðåãèñòð. 10-02-2006 | Îòïðàâëåíî: 10:57 11-11-2012 | Èñïðàâëåíî: VV2006, 11:04 11-11-2012
   

Íà ïåðâóþ ñòðàíèöóê ýòîìó ñîîáùåíèþê ïîñëåäíåìó ñîîáùåíèþ

Êîìïüþòåðíûé ôîðóì Ru.Board » Êîìïüþòåðû » Ïðîãðàììû » GRUB4DOS è GNU GRUB (÷àñòü 2)
gyra (06-12-2016 03:18): GRUB4DOS è GNU GRUB (÷àñòü 3)


Ðåêëàìà íà ôîðóìå Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Ðåéòèíã.ru