|
谢谢2011yaya2007777的热心解答。
在联想z360笔记本电脑上,UD版采用GRUB4DOS版本0.4.6a(20130419)却可以启动成功。
(ud)/usbOSudboot内容如下:
!BAT
graphicsmode -1 640 480:800
set /a m=0
set dst=%@root:~1,4%
set ftl=no
if "%@root:~4,1%"=="," && set dst=%@root:~1,3%
if "%@root:~4,1%"==")" && set dst=%@root:~1,3%
if "%3"=="MAIN" goto MAIN
if "%3"=="B8" goto B8
:B
if "%@root:~1,1%"=="f" && find --set-root --devices=f %1 && goto A
find --set-root --ignore-floppies --ignore-cd %1 && goto A
if "%m%"=="1" && goto End
if not exist (ud)/%2 && goto BF
map (ud)/%2 (0xff) || map --mem (ud)/%2 (0xff)
map --hook
if exist (0xff)/usbos.ver && root (0xff) && set mapiso=yes && goto A
# 用特征文件锁定要还原的设备,确保 (%1) 就是UD所在设备,杜绝张冠李戴。
:BF
if not exist (%dst%)/fb.cfg && goto end
if not exist (%dst%)/usbos.ver && goto end
if not exist (%dst%)/MY.dpt && goto end
dd if=(ud)/my.dpt of=(%dst%)+1 bs=1 count=512 skip=0x110
set /a m=%m%+1
if "%m%"=="1" && goto B
goto End
:A
set temp=%1
if "%temp:~-4%"==".BIN" && goto A2
if not "%ftl%"=="yes" && font (ud)/MENU.HEX && set ftl=yes
clear
echo
echo
echo -e $[0003] 【1】 IDE + AHCI + RAID(默认)
echo
echo -e $[0003] 【2】 纯IDE模式(特殊)
echo
echo $[0003]请在$[0004]5秒内$[0003]从$[0004](1 2)中$[0003]选择一个启动项
echo
set /p:5 mfvar=请输入数字并回车:
if not "%mfvar%"=="2" && command /BOOT/GRUB/F6IMG ()/BOOT/DRIVERS/NT5X/SRS
map /BOOT/sky52PE.ISO (0xfe) || map --mem /BOOT/sky52PE.ISO (0xfe)
if "%mapiso%"=="yes" && map --rehook && goto A2
map --hook
:A2
if not "%mapiso%"=="yes" && goto A1
set mfvar=-1
if not "%ftl%"=="yes" && font (ud)/MENU.HEX && set ftl=yes
clear
echo
echo
echo -e $[0003] 默认的e820cycles参数是-1,多数情况下并不需要更改它。
echo
echo -e $[0003] 极少数计算机 (例如采用Intel H5X系列芯片组的主板 ) 需要\n\n选择合适的e820cycles参数来防止蓝屏失败。
echo
echo
set /p:10 mfvar=请在(-1 0 1 2 3)中选择一个数值作为e820cycles的值:
map --e820cycles=%mfvar%
:A1
chainloader %1
boot
goto End
:MAIN
if not exist (%dst%)/fb.cfg && goto end
if not exist (%dst%)/usbos.ver && goto end
if not exist (%dst%)/MY.dpt && goto end
dd if=(ud)/my.dpt of=(%dst%)+1 bs=1 count=512 skip=0x110
if "%@root:~1,1%"=="f" && find --set-root --devices=f %1 && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd %1 && configfile /boot/grub/menu.lst
goto End
:B8
if not exist (%dst%)/fb.cfg && goto end
if not exist (%dst%)/usbos.ver && goto end
if not exist (%dst%)/MY.dpt && goto end
dd if=(ud)/my.dpt of=(%dst%)+1 bs=1 count=512 skip=0x110
find --set-root --ignore-floppies --ignore-cd %1
chainloader %1
boot
:End
if not "%ftl%"=="yes" && font (ud)/MENU.HEX && set ftl=yes
set str= [Tab]、[F5]、[F6]
checkrange 20131130 read 0x8278 || set str=[Esc]、[F1]-[F4]
clear
echo
echo
echo -e $[0004] UD的MBR疑似被破坏,且在当前Grub4dos下自动还原分区表失败。
echo
echo
echo
echo ----------------------------------------------------------------------------
echo
echo
echo -e $[0003] . 可以尝试以下措施 .
echo
echo
echo
echo A、变换UD启动项:在本机用UD重启,并换为$[0004]%str%$[0007]当中的任意一项。
echo
echo B、换一台计算机继续尝试在Grub4dos下自动修复分区表。
echo
echo C、在Windows下运行“UD_DPT备份还原.EXE”还原分区表。
echo
echo
echo ---------------------------------------------------------------------------
echo
echo -e $[0004] 按任意键将关闭计算机。
echo
pause
halt |
|