不同的菜单写法导致PE不同的兼容性! 特殊的机器,特殊的U盘才存在?
GRUB4DOS版本 0.4.5C 2012-05-22新版本的没测试。这些个PE,在虚拟机中测试都很正常。
前提:
我的慧荣3257enaa,银灿916d,都量产和Ud了自己的PE,测试过很多机子,包括04年的台式机和笔记本,都可以顺利启动,个别小内存的启动W8很慢,CPU不支持w8的不能启动。
今天,用闪迪DM8261 4G U盘,制作UD版,在07年浪潮(VIA)主板,启动遇到了我自己从未遇到的现象,方知道有些坛友反馈的问题的原因。
1、在这个机器上,我的慧荣3257enaa,银灿916d,量产了和Ud了自己的PE,非VBE菜单的,所有项目启动正常;
2、在这个机器上,我的慧荣3257enaa,银灿916d,量产了自己的PE,VBE菜单的,所有项目启动正常;
3、在这个机器上,我的慧荣3257enaa,银灿916d,UD了自己的PE,VBE菜单的,出现不了启动菜单,停留在有两行字母的界面;
4、在这个机器上,用闪迪DM8261 4G U盘 UD了非VBE菜单的pe,nvtive版的pe(包括分级启动和整体启动)找不到二级内核,进不了桌面、常规版的PE,能进桌面但加载不了外置工具;
5、在这个机器上,用闪迪DM8261 4G U盘 UD了VBE菜单的pe,出现不了启动菜单,停留在有两行字母的界面。
结论,制作pe,首先要选主控好的U盘,其次要选择合适的pe,兼容性才会好,才能适应大部分新老级,当然,没有100%。
我的写法不对还是版本老? 我的UD版菜单
timeout 90
default 9
gfxmenu (ud)/boot/grub/m
configfile (md)4+8
iftitle 【1】 启动快速Win8系统
echo $ booting Fast win8, please wait ...
calc *0x82b9&0xff/2 && map(ud)/uddiy/win8.ISO (0xff) ! map --mem (ud)/uddiy/win8.ISO (0xff)
map --hook
chainloader (0xff)
iftitle 【1】 启动快速Win8系统
echo $ booting Fast win8, please wait ...
checkrange 0x80 read 0x8280 && map(ud)/uddiy/win8.ISO (0xff) ! map --mem (ud)/uddiy/win8.ISO (0xff)
map --hook
chainloader (0xff)
title 【2】 极速网络 03pe系统
(ud)/boot/grub/F6IMG
echo $ booting Fast 03pe, please wait ...
map (ud)/boot/03pe.ISO (0xfa)
map --mem (ud)/boot/03.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 【3】 常规启动 03pe系统
(ud)/boot/grub/F6IMG
calc *0x82b9&0xff/2 && map(ud)/boot/03pe.iso (0xff) ! map --mem (ud)/boot/03pe.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 【3】 常规启动 03pe系统
(ud)/boot/grub/F6IMG
checkrange 0x80 read 0x8280 && map(ud)/boot/03pe.iso (0xff) ! map --mem (ud)/boot/03pe.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 【4】 启动常规xppe系统
calc *0x82b9&0xff/2 && map(ud)/boot/XPPE.ISO (0xff) ! map --mem (ud)/boot/XPPE.ISO (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 【4】 启动常规xppe系统
checkrange 0x80 read 0x8280 && map(ud)/boot/XPPE.ISO (0xff) ! map --mem (ud)/boot/XPPE.ISO (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN
title 【5】 运行Dos 工具大全
command (ud)/boot/grub/run --set-ext=.img (ud)/uddiy/MAXDOS.IMG
title 【6】 运行 自定 映像工具
command (ud)/boot/grub/run --set-ext=.img|.ima|.iso /uddiy/.AUTOMENU
title 【7】 绕过 win密码登录
echo $ Loading Image, Please Wait ...
map --mem (ud)/imgs/KON.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【8】 运行 win密码清除
echo $ Loading apc Image, Please Wait ...
map --mem (ud)/imgs/PASSWORD.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【9】 运行Win7内存检测
map --mem (ud)/imgs/W7MT.GZ (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【0】 从 硬盘启动 计算机
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgr
VBA的:
command --set-path=(ud)/BOOT/GRUB/
timeout 300
default 9
splashimage /BOOT/GRUB/back.lzma
font /BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 100:1000 100:1000 24:32
color normal=0x0F highlight=0x0E helptext=0x0A heading=0x02 standard=0x02 border=0x0D
call Fn.0 0x40000 "!BAT\necho -P:0000 $\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1
MENUSETTING 2 13 0 16 15 6 50 29
write 0x8274 0x2E01
iftitle 启动WIN8PE全能精简版 \n
echo $ booting Fast win8, please wait ...
map (ud)/diy/win8.ISO (0xff)
map --hook
chainloader (0xff)
iftitle 启动WIN8PE全能精简版 \n
echo $ booting Fast win8, please wait ...
map --mem (ud)/diy/win8.ISO (0xff)
map --rehook
chainloader (0xff)
iftitle 常规启动2003PE网络版 \n
command (ud)/BOOT/GRUB/F6IMG
echo $ booting Fast 03pe, please wait ...
map (ud)/boot/03pe.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff) || chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 常规启动2003PE网络版 \n
command (ud)/BOOT/GRUB/F6IMG
echo $ booting Fast 03pe, please wait ...
map --mem (ud)/boot/03pe.iso (0xff)
map --rehook
chainloader (0xff) || chainloader (0xff)/WXPE/SETUPLDR.BIN
title启动2003PE极速网络版 \n
command (ud)/boot/grub/F6IMG
echo $ booting Fast 03pe, please wait ...
map (ud)/boot/03pe.ISO (0xfa)
map --mem (ud)/boot/03.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff) || chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 启动微型常规XPPE系统 \n
echo $ booting Fast xppe, please wait ...
map (ud)/diy/XPPE.ISO (0xff)
map --e820cycles=3
map --hook
chainloader (0xff) || chainloader (0xff)/WXPE/SETUPLDR.BIN
iftitle 启动微型常规XPPE系统 \n
echo $ booting Fast xppe, please wait ...
map --mem (ud)/diy/XPPE.ISO (0xff)
map --rehook
chainloader (0xff) || chainloader (0xff)/WXPE/SETUPLDR.BIN
title启动MaxDOS全能工具箱 \n
echo $ Loading Image, Please Wait ...
command (ud)/boot/grub/run --set-ext=.img (ud)/diy/MAXDOS.IMG
title运行 DIY目录自定工具 \n
command (ud)/boot/grub/run --set-ext=.img|.ima|.iso /diy/.AUTOMENU
title绕过 WINDOWS密码登录 \n
echo $ Loading Image, Please Wait ...
map --mem (ud)/BOOT/imgs/KON.gz (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title运行 WINDOWS密码清除 \n
echo $ Loading apc Image, Please Wait ...
map --mem (ud)/BOOT/imgs/PASSWORD.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title运行 WINDOWS内存检测 \n
map --mem (ud)/BOOT/imgs/W7MT.GZ (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title启动 硬盘WIN操作系统\n
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
map (hd0) ()
map () (hd0)
map --rehook
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
chainloader /ntldr || chainloader /bootmgr
boot
我的量产版菜单:
timeout 90
default 7
gfxmenu /BOOT/GRUB/MESSAGE
configfile (md)4+8
title 【01】 启动Win8PE全能精简版
chainloader /boot/bcemgr
title 【02】 启动Win8X64PE精简版
chainloader /boot/bcfmgr
title 【03】 启动 W03PE 极速网络版
F6IMG
echo $ Loading 03PE, Please Wait ...
find --set-root /WXPE/SET03LDR.BIN
chainloader /WXPE/SET03LDR.BIN
title 【04】 启动 常规WinXP精简版
echo $ Loading XPPE, Please Wait ...
find --set-root /WXPE/SETUPLDR.BIN
chainloader /WXPE/SETUPLDR.BIN
title 【05】 运行 MaxDos9.3工具箱
map --mem /BOOT/IMGS/DOS.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【06】 Ghost备份/还原智能版
map --mem /BOOT/IMGS/OKDOS.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【07】 >>跳转到 增强功能菜单
configfile /BOOT/GRUB/run.lst
title 【08】 启动硬盘windows系统
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgr
VBA的:
timeout 300
default 9
splashimage /BOOT/GRUB/back.lzma
font /BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 100:1000 100:1000 24:32
color normal=0x0F highlight=0x0E helptext=0x0A heading=0x02 standard=0x02 border=0x0D
call Fn.0 0x40000 "!BAT\necho -P:0000 $\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1
MENUSETTING 2 13 0 16 15 6 50 29
write 0x8274 0x2E01
title启动 Win8X32PE全能版 \n
chainloader /boot/bcemgr
title启动 Win8X64PE精简版 \n
chainloader /boot/bcfmgr
title启动 W03PE极速网络版 \n
F6IMG
echo $ Loading 03PE, Please Wait ...
find --set-root /WXPE/SET03LDR.BIN
chainloader /WXPE/SET03LDR.BIN
title启动 常规WinXP精简版 \n
echo $ Loading XPPE, Please Wait ...
find --set-root /WXPE/SETUPLDR.BIN
chainloader /WXPE/SETUPLDR.BIN
title运行 MaxDos9.3工具箱 \n
map --mem /BOOT/IMGS/DOS.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title运行 DIY目录自定文件 \n
command RUN --automenu /DIY/
title绕过 Windows密码登录 \n
command /BOOT/GRUB/RUN /BOOT/IMGS/KON.gz
title清除 Windows登录密码 \n
command /BOOT/GRUB/RUN /BOOT/IMGS/PASSWORD.IMG
title运行 Windows内存检测 \n
map --mem /BOOT/IMGS/W7MT.GZ (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title启动 硬盘Windows系统 \n
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgr 本帖最后由 不点 于 2013-4-20 20:47 编辑
已经有报道说,当用户使用 gfxmenu 时,会出现不可预料的问题。
看到你的菜单也是含有 gfxmenu 命令,不多说了 ……
另外,还发现你有 if exist (fd0)/... 之类的命令,这属于 “机器适应性” 错误用法。
就是说,在菜单中,不可以有访问真实软驱的动作,因为不少电脑的 BIOS 都有 bug,当访问 fd0 时,直接死机,或者假死(等待很长很长的时间才会活过来)。菜单中可以访问你自己用 map 建立的虚拟软驱,这没问题。但是不能访问主板 BIOS 所建立的软驱,因为恶意的 BIOS 会建立一个虚假的软驱,故意让 grub4dos 以及同类的开源软件发生死机。这个问题已经充分暴露了,所以,我们就把 if exist (fd0)/... 之类的用法当作错误的用法来对待了。这已经属于常规的错误了,可能你对此还不了解。
本帖最后由 无垠 于 2013-4-20 20:34 编辑
0PE_NBv1.4.3(2012-06-19)2in1_83MB_FBA.
按一下两种方式格式化这个闪迪U盘:
按一下两种方式格式化这个闪迪U盘:
http://bbs.wuyou.net/data/attachment/forum/201304/20/201523x5uiqzt34p6y3xi6.jpg
http://bbs.wuyou.net/data/attachment/forum/201304/20/201525tome50mopuolkrkg.jpg
不论选哪项菜单,都进不了桌面,停留在如下画面,需冷启动重启:
http://bbs.wuyou.net/data/attachment/forum/201304/20/201527r7z57b6unzypjpyq.jpg
http://bbs.wuyou.net/data/attachment/forum/201304/20/201630xlzkodswddbjsowl.jpg
而用慧荣3257主控的U盘,可以正常启动XPPE,和我的极速版启动时间一样。
看来,有些U盘就是不能做启动盘来用,不能启动不是PE的原因。 不点 发表于 2013-4-20 20:22 static/image/common/back.gif
已经有报道说,当用户使用 gfxmenu 时,会出现不可预料的问题。
看到你的菜单也是含有 gfxmenu 命令,不 ...
怪了,正相反,在这个机器上,gfxmenu 的启动正常,只是闪迪的U盘启动nvtive pe找不到二级内核,常规pe不能加载外置;在这个机器上,VBE菜单的会停留在只有两行字母的界面上,不出菜单。两个U盘都是, 5楼给出的图片都不属于 grub4dos 的范畴。那都表明,grub4dos 已经成功启动 PE,但是 PE 自己不能继续启动。
看看是不是你的 PE 不适应你的 BIOS,或者你的 PE 不喜欢你的 ud 启动方式?
无论哪一种,都可看成 PE 的错。
本帖最后由 无垠 于 2013-4-20 21:45 编辑
不点 发表于 2013-4-20 20:53 static/image/common/back.gif
5楼给出的图片都不属于 grub4dos 的范畴。那都表明,grub4dos 已经成功启动 PE,但是 PE 自己不能继续启动。 ...
原来遇到过软驱问题,这次在BIOS中关闭了软驱。
我的问题实际上是4个,1.U盘主控;2.电脑BIOS;3.菜单写法;4.pe
PE应该没问题,慧荣主控没问题,电脑BIOS兼容性不强,菜单写法VBE的在此电脑上有问题。
VBE菜单,在此机上停留在如下画面:
但量产的VBE菜单启动又没问题,郁闷了。 你犯了另外一个错误:没有试试最新版。
但从错误提示来看,已经进入 grub4dos,因此有可能是菜单的错误造成的。
注意我前面用红字提醒你的地方。
本帖最后由 无垠 于 2013-4-20 21:52 编辑
不点 发表于 2013-4-20 21:45 static/image/common/back.gif
你犯了另外一个错误:没有试试最新版。
但从错误提示来看,已经进入 grub4dos,因此有可能是菜单的错误造 ...
但量产的VBE菜单启动又没问题,郁闷了。
我把 非VBE菜单的中间部分 替换到VBE菜单中,也不行。弄不明白UD启动VBE的这个菜单到底错在哪?我去掉条件判断的语句再试试。 量产的情况,BIOS 环境变了,有可能不再存在那个有问题的、虚假的 fd0 了,所以问题消失了。
另外,究竟什么时候会出现这个假的、导致死机的 fd0,那是说不定的:完全看主板 BIOS 的 “嗜好”。它喜欢在什么情况下祭出这个恶意的 fd0,它就祭出了。不一定非得在普通 USB 启动的时候才祭出。
根据你的描述,你这个主板在量产时可能就不出现这个恶意的 fd0,因此你的菜单侥幸通过了。
无垠 发表于 2013-4-20 20:28 static/image/common/back.gif
0PE_NBv1.4.3(2012-06-19)2in1_83MB_FBA.
按一下两种方式格式化这个闪迪U盘:
只要启动有动静就好办了。
开始时有3秒读秒,按空格键,后面就应该没问题了。
pseudo 发表于 2013-4-20 21:54 static/image/common/back.gif
只要启动有动静就好办了。
开始时有3秒读秒,按空格键,后面就应该没问题了。
我再试试。。。。。。。 不点 发表于 2013-4-20 21:54 static/image/common/back.gif
量产的情况,BIOS 环境变了,有可能不再存在那个有问题的、虚假的 fd0 了,所以问题消失了。
另外,究竟 ...
去掉条件判断语句,果然可以了。 pseudo 发表于 2013-4-20 21:54 static/image/common/back.gif
只要启动有动静就好办了。
开始时有3秒读秒,按空格键,后面就应该没问题了。
按空格,是相当于iso整体启动,加mem参数,可以了。
这个闪迪u盘在这台机器上,vbe菜单去掉条件判断语句,可以启动nvtive pe和常规PE到桌面了,但不能加载外置。全内置的pe可以;慧荣主控的在这台机子上就无问题。 阅读完LZ 两个帖子,记住2点:
关闭软驱;
不用iftitle 快雪时晴 发表于 2013-4-20 23:15 static/image/common/back.gif
阅读完LZ 两个帖子,记住2点:
关闭软驱;
不用iftitle
还有两点:
好主控的U盘
全内置的PE
符合这4点,基本就启动无忧了 pseudo 发表于 2013-4-20 21:54 static/image/common/back.gif
只要启动有动静就好办了。
开始时有3秒读秒,按空格键,后面就应该没问题了。
P大,在这台机器上,用这个闪迪的U盘,0PE只有菜单的第二项 按空格键 才能正常启动到桌面。第一项 按空格键 等加载完65M的文件后,一会儿直接启动了硬盘上的系统。 无垠 发表于 2013-4-21 07:25 static/image/common/back.gif
P大,在这台机器上,用这个闪迪的U盘,0PE只有菜单的第二项 按空格键 才能正常启动到桌面。第一项 按空格 ...
你试试第三菜单项,如果正常就没大问题了。 以我的经验看,主板的原因与U盘主控的原因同时存在。
因为我使用Micro卡加读卡器的形式,出现两种情况:
1、同一Micro卡、同一读卡器在不同电脑上出现识别的不同,一台电脑是识别为0x00,另一台电脑识别为0x80。
2、同一Micro卡、不同读卡器在同一台电脑上,一只读卡器识别为0x00,另一只读卡器识别为0x80。 正在学习!!! 所以LZ是G4D版本过低的问题还是软驱没关的问题?
然后楼主关掉软驱就OK了?
页:
[1]