|
谁能解释一下grldr中的代码? set F1o=151552 set F1s=275302 set F2o=428032 set F2s=764032 set F3o= set F3s= set F4o=1193984 set F4s=514419 set F5o=1710080 set F5s=9225364 set F6XPo=40351744 set F6XPs=3490692 set F62003o=10936320 set F62003s=3717029 set F7XPo=43843584 set F7XPs=21351905 set F72003o=14653440 set F72003s=24553109 set F8XPo=39206912 set F8XPs=1143187 set F82003o= set F82003s= set F9o=309516288 set F9s=47242 set F10o=320356352 set F10s=1703 set F11o=65644544 set F11s=2127969 #-----optimized ending flag-----# if not exist showmenu set showmenu=0 terminal console echo This is 0PE by pseudo && debug off font write 0x60368 0 checkrange 0x80 read 0x8280 && write 0x60368 1 if "%?_BOOT:~1,3%"=="hd0" write 0x60368 1 find --devices=u && checkrange 0x80 calc *0x82B9&0xff && write 0x60368 1 terminal graphics graphicsmode -1 640 checkrange 20130419:-1 read 0x8278 || clear && echo Need grub4dos-0.4.6a-2013-04-19 or later. && pause 您用了旧版grub4dos。此PE强加限制:须用0.4.6a-2013-04-19以上版本。 && reboot echo -e \n\n5秒内按键有花样: echo -e \n\t<回车键>——显/隐菜单切换(有菜单强,无菜单快)\n\t<空格键>——较多组件载入内存(可拔U盘,可插3.0口)\n\t<Esc 键>——grub4dos-0.4.6a命令行\n set keyt= pause --wait=5 && set /A keyt=*0x4CB00 if not exist keyt commandline debug off set mapmem= if /i "%keyt%"=="0x20" set mapmem=1 set ready= #可改0PE.ISO的路径、名字。默认/0PE.ISO。 if not exist PEISO set PEISO=/0PE.ISO #可改SRS路径。 if not exist SRS0PE set SRS0PE=/SRS/ call Fn.0 0 0x8217 | set /u menu0pe= checkrange 0x21 read 0x8280 && if not "%menu0pe:~-4%"==".0PE" pxe detect NotExist set menu0pe= write 0x60064 0 write 0x6006C 0 write 0x60130 0 checkrange 0x21 read 0x8280 && write 0x60064 1 checkrange 524:-1 calc *0x413 & 0xffff || map --int15nolow=1 && pause Warnning: less memory #set noacc= #if "%showmenu%"=="1" if /i "%keyt%"=="0xD" set noacc=1 #if not "%showmenu%"=="1" if /i "%keyt%"=="0x1" set noacc=1 #read 0x60064 && set noacc=1 ! if not exist (bd)/BOOT/GRUB/USB_ACC.0PE set noacc=1 #set curdev=%@root% #if not exist noacc if exist (bd)/BOOT/GRUB/USB_ACC.0PE (bd)/BOOT/GRUB/USB_ACC.0PE --time-out-disable:0 #rootnoverify %curdev% set mydm= default 0 timeout 0 #0 title echo checktime read 0x60064 || goto 4 goto 5 #1 title goto 3 #2 title set noacc= dd if=(md) of=(md) bs=1 count=8 skip=0x829c seek=0x60130 echo read 0x60064 && pxe || echo -n echo Loading /0PE/0PENB.LZMA from %@root%... set inf=()/0PE/0PENB.LZMA if not "%@root%"=="(hd127)" set mydm= if not exist F2s set mydm= if exist mydm goto 8 map --mem %inf% (hd) map --hook goto 9 #3 title echo Loading %@root%%PEISO%... read 0x60064 && checkrange 0x21 read 0x82A0 && set mapmem=1 if "%@root%"=="(cd)" set mapmem=1 if not exist mapmem set mydm=%@root%%PEISO% && echo Direct map %PEISO% && map %PEISO% (0xff) || set mydm= && set mapmem=1 && echo Warnning: Fail to direct map %PEISO%, try to map with --mem. if exist mapmem echo Map %PEISO% with --mem && map --mem %PEISO% (0xff) || pause Error: Fail to map --mem %PEISO% (0xff). && reboot map --hook if not exist ready rootnoverify (0xff) && goto 2 goto 10 #4 title if exist (bd)/0PE/0PENB.LZMA rootnoverify (bd) && goto 2 if exist (bd)%PEISO% && rootnoverify (bd) && goto 1 if exist /0PE/0PENB.LZMA goto 2 if exist %PEISO% goto 1 set hdu= if "%?_BOOT%"=="(hd0,3)" cat --locate="U+" (hd0)97+1 > nul && set hdu=1 && goto 6 ! echo -n read 0x60064 || goto 5 goto 6 #5 title find --devices=uh --set-root /0PE/0PENB.LZMA && goto 2 ! echo -n find --devices=uh --set-root %PEISO% && goto 1 ! echo -n map --status=0xff && rootnoverify (0xff) if "%?_BOOT%"=="(hd0,3)" cat --locate="U+" (fd0)97+1 > nul && if exist (fd0)/0PE/0PENB.LZMA rootnoverify (fd0) && goto 2 ! echo -n if "%?_BOOT%"=="(hd0,3)" cat --locate="U+" (fd0)97+1 > nul && if exist (fd0)%PEISO% rootnoverify (fd0) && goto 2 ! echo -n find --devices=cfp --set-root /0PE/0PENB.LZMA && goto 2 ! echo -n find --devices=cfp --set-root %PEISO% && goto 1 ! echo -n read 0x60064 && goto 4 goto 6 #6 title set /a bdrive=*0x8280&0xffffffff dd if=(%bdrive%)96+1 of=(md)768+1 bs=1 count=8 skip=502 set /a pe=*393216&429496 |
|