sp_star 发表于 2014-4-14 17:36
没找到你说的zero.bin。
用BootICE清0:
zero.bin233#补上了。
你那个也可以。
》》写入128M的MBROS.MOS,提示空间不足
先要删除 G: 分区吧。
前面需要128M空闲空间。
mdyblog 发表于 2014-4-14 17:45
zero.bin233#补上了。
你那个也可以。
试了一下,取消EFI启动,还是有UEFI启动项,且能启动成功。操作步骤:
1. 按上图用bootice清0扇区
2. 用你工具里的分区管理删除了一个类型为0x04的分区,可以写入镜像了。
3. 写入镜像
4. 启动, UEFI启动OK。
win7系统diskmgmt.msc看到的:
“设置EFI启动“
”取消EFI启动“
从图上看,取消EFI启动应该是成功的。
取消EFI启动后:
mdyblog 发表于 2014-4-14 17:42
我找这种 U 盘试试。
这和U盘有关系吗?
很遗憾,没搞成功,大致过程如下
1、将我的8G U盘用DG分区,前面空余2.3G
2、做MOS文件,做好后挂载,拖一个grldr过去,卸载,启动检测一个,进grldr命令行,说明可以了
3、再可修改挂载,将我那个合盘的内容都拖进去
4、卸载再写入,写入之前先将MBROS.mpj拷贝到MOS所在的位置,否则不行
5、启动测试,成功出g4d菜单,启动进8PE行了
6、再将硬盘全部卸了,再启动,不行了,原来前面所谓行是用了硬盘上的。查看了一下root为HD0,要改菜单。
干脆用你的模板来做:
1、前面有下“GPT-UEFI.万能USB-MBROS-grub2-F2-H3CDALL-模板”,将MOS挂载,用你的新的LDUDPE更换原来的,其它文件不动,再将合盘中的其他文件拷进去
2、最后写入U盘
3、启动出菜单,但03和8PE都用不了,03的出几串数字,8PE出现COPY PE文件,等一下后回到了无背景菜单。
另外我还有个疑问,这还是不是UD?
g4d中显示为HD0
sp_star 发表于 2014-4-14 18:02
这和U盘有关系吗?
有关。
改好了。 可以 取消 或 卸载 了 。重新下载。
hhh333 发表于 2014-4-14 18:41
另外我还有个疑问,这还是不是UD?
g4d中显示为HD0
UDv2 不是UD 的格式。
所以 g4d 不认为是(ud), 而只是 原始格式(hdX) (fdX) 。...
对 UD, G4D 会有2名字, 一个 是原始的,形式: (hdX) (fdX)..;一个是(ud)
(ud)可理解为一个别名,或虚拟设备。
2个名字都可访问,结果一样。
本帖最后由 mdyblog 于 2014-4-14 19:16 编辑
hhh333 发表于 2014-4-14 18:13
很遗憾,没搞成功,大致过程如下
1、将我的8G U盘用DG分区,前面空余2.3G
2、做MOS文件,做好后挂载,拖 ...
要用 包内的 grldr. 内置菜单 修改点。
menu.lst好像 也改了几行(开头)。
否则, 有乱跑的 问题, 跑到其它的 磁盘上区了。
晚上我按你说的做一遍,看看问题在哪儿。
》》3、启动出菜单,但03和8PE都用不了,03的出几串数字,8PE出现COPY PE文件,等一下后回到了无背景菜单。
综合 上面的现象, 看样子, 好像没有正确写下去。
[检查]一下
【修复】一下
mdyblog 发表于 2014-4-14 18:58
有关。
改好了。 可以 取消 或 卸载 了 。重新下载。
多谢!原U盘被清掉了,下载备用。
mdyblog 发表于 2014-4-14 19:07
要用 包内的 grldr. 内置菜单 修改点。
menu.lst好像 也改了几行(开头)。
否则, 有乱跑的 问题 ...
检查了,也修复了,再检查OK了,但启动还是不行,错误依旧
03是这:
8pe先显示Coping WimPE file:,Please waiting...等一下就回到了无背景的菜单
我用你的LDUDPE,按正常方式做的UD也不能启动PE,回到了无背景菜单状态。换回我原来的没有问题
可以将我那个menu.lst改一下,如果能够将hd0 map 为fd0,则仍然沿用H3_GR2HD.LST菜单
而以正常方式的UD,还是用我原来的LDUDPE
debug off
timeout 1
default 1
set h3cd=H3CDALL.ISO
#默认启动菜单
set grmenu=H3_GR2HD.LST
#UD启动菜单(注意:menu.lst位于UD内时表示启动文件和内核均藏于UD内启动,即H3PE约定menu.lst总是跟着BOOT和内核走,切记!)
if %@root%==(ud) set grmenu=H3_GR2UD.LST
#光启菜单
if %?_BOOT%==(cd) set grmenu=H3_GR2CD.LST
#网启菜单
if %?_BOOT%==(pd) pxe keep && set grmenu=H3_GRPXE.LST
#UDv2
if %@root%==(hd0) command /BOOT/GRUB/MAPUD
#ISO整体启动菜单
if %?_BOOT%==(ud) if exist (ud)/%h3cd% root (ud)
if exist /%h3cd% timeout 15 || configfile /BOOT/%grmenu%
color white/blue white/red yellow/blue white/magenta
title __________Load %h3cd% _________
clear
title --"map --mem /%h3cd%" at first\nNeed large memory and spend more time to load iso to memory,but support all function besides win7pe,don't use on usb1.x.
set ldiso=NO
pause --wait=0 Tring to load ISO to mem...
map --mem /BOOT/IMGS/FIRADISK.IMA (fd0) || map --mem /FIRADISK.IMA (fd0)
map --mem /%h3cd% (0xff) && set ldiso=YES
if %ldiso%==NO pause --wait=0 Tring to direct map link to ISO... && map /%h3cd% (0xff) && set ldiso=YES
if %ldiso%==YES map --e820cycles=3 && map --hook && rootnoverify (0xff) && chainloader (0xff)
boot
title --"map /%h3cd%" at first\nNeedn't more memory and very fast,but the iso must be contig and can't support all function.
set ldiso=NO
pause --wait=0 Tring to direct map link to ISO...
map /%h3cd% (0xff) && set ldiso=YES
if %ldiso%==NO pause --wait=0Tring to load ISO to mem... && map --mem /BOOT/IMGS/FIRADISK.IMA (fd0) || map --mem /FIRADISK.IMA (fd0)
if %ldiso%==NO map --mem /%h3cd% (0xff) && set ldiso=YES
if %ldiso%==YES map --e820cycles=3 && map --hook && rootnoverify (0xff) && chainloader (0xff)
boot
hhh333 发表于 2014-4-14 20:30
我用你的LDUDPE,按正常方式做的UD也不能启动PE,回到了无背景菜单状态。换回我原来的没有问题
你那现在MBROS U盘能启动PE吗?
hhh333 发表于 2014-4-14 19:46
检查了,也修复了,再检查OK了,但启动还是不行,错误依旧
03是这:
我测试了一下那个模板, 能启动。
先 解开 出 MBROS.MOS
MBROSTool.EXEMBROS.mpjinit.ini也拷到到该目录。
用 MBROSTool.EXE 加载MBROS.MOS 到z:
你那 H3CDALL.ISO 加载到Y:
将 Y:\中的文件目录依次 拷贝到Z:\, 不要覆盖任何文件(这个要注意)。
卸载Z:Y: , MBROS.MOS 写到 U盘。
启动,正常。
hhh333 发表于 2014-4-14 20:51
可以将我那个menu.lst改一下,如果能够将hd0 map 为fd0,则仍然沿用H3_GR2HD.LST菜单
而以正常方式的UD, ...
这样也行。
逻辑上一样。
mdyblog 发表于 2014-4-14 20:55
你那现在MBROS U盘能启动PE吗?
我再重新做看一下
想问一下:
//加载 UD2 ,只读 。如果已直接加载则不加载
PART LIST disk,&&disks
ENVI &&UDV2=
FORX * %&disks%,&&hd,
{
ENVI &&MountDrv=
CALL GetFreeDrive &MountDrv
FIND $%&MountDrv%=, EXIT
FIND $%&MountDrv%>=W:, EXIT
EXEC* &&v=MBROSToolMOUNT\\.\PhysicalDrive%&hd% %&MountDrv%
MSTR&&v1=<1>%v%
FIND $%v1%=,!ENVI UDV2=%UDV2% %v1%
}
最后一句应为 FIND $%&v1%=,!ENVI UDV2=%UDV2% %&v1%吧
这个脚本的意思是将所有的磁盘都挂一次,如果有3个盘,0 1 2
MBROSToolMOUNT\\.\PhysicalDrive0 %&MountDrv%
MBROSToolMOUNT\\.\PhysicalDrive1 %&MountDrv%
MBROSToolMOUNT\\.\PhysicalDrive2 %&MountDrv%
什么样的盘会得到挂载?
卸挂是不是MBROSToolUNMOUNT %&MountDrv%
或者你发的mountmbros UNMOUNT %&MountDrv%
既然MOUNTMBROS本来是用来挂载的,没必要还弄个mount参数了,能否这样可好:
挂:MOUNTMBROS \\.\PhysicalDrive1 B:
卸:MOUNTMBROS -u B:
经过调试基本成功了,还要测一下UEFI,具体作了以下改进:
1、利用LZ的MAPUD,制作了UDV2FD,完成UDV2的hd0到fd0,并将root设为fd0;
2、改主菜单,如果检测到root为hd0则执行UDV2FD,其他不变,因此会按默认的方式会转到H3_GR2HD.LST,所有二级菜单不用作任何改变。经测试NT5和6都能启动,不需要象LZ的模板中的那样改菜单LDUDPE也不要改了。
即主菜单中只加了:
#UDv2
if %@root%==(hd0) command /BOOT/GRUB/UDV2FD
就OK了。
3、系统中对UDV2的映射:遗憾的是mountmbros.exe不行,它将可见区映射了,换mbrostool.exe通过了,pecmd.ini中加了如下代码:
`UDV2隐藏区装载外置
_SUB LOAD_UDV2HIDE_OP
PART LIST disk,&&disks
FORX * %&disks%,&&hd,
{
EXEC =!%W%\ORDERDRV\MBROSTool.EXE MOUNT \\.\PhysicalDrive%&hd% B:
IFEX B:\H3PE\WINPE.INI,EXIT FORX
}
IFEX B:\H3PE\WINPE.INI,LOAD B:\H3PE\WINPE.INI
_END
其他的还要再测试,请LZ修正mountmbros.exe,或者整合这个功能到PECMD中。
我刚才想把grldr换成4.5c的版本,但不出菜单,直接进提示符了,这个有要求?
sp_star 发表于 2014-4-14 18:00
试了一下,取消EFI启动,还是有UEFI启动项,且能启动成功。操作步骤:
1. 按上图用bootice清0扇区
2....
盘符加上了。
本帖最后由 mdyblog 于 2014-4-15 07:55 编辑
hhh333 发表于 2014-4-14 20:30
我用你的LDUDPE,按正常方式做的UD也不能启动PE,回到了无背景菜单状态。换回我原来的没有问题
LDUDPE加上MAPUD 功能后出问题了, 已修正。
好像 chainloader%dst%%ldr%
//dst带()
2个%%连在一起 grub蒙了。
这个问题绕过去了:chainloader(%dst%)%ldr%
//dst不带()
hhh333 发表于 2014-4-14 22:46
想问一下:
最后一句应为 FIND $%&v1%=,!ENVI UDV2=%UDV2% %&v1%吧
》》最后一句应为 FIND $%&v1%=,!ENVI UDV2=%UDV2% %&v1%吧
也可以。 原来也可以。
上面设了 ForceLocal=1
>>什么样的盘会得到挂载
内部会检测的。
MBROS 做了标记。 好比U+DH 、 UD。
》》卸挂
MBROSTool 界面可以。在 盘符上右键 “卸载Imdisk...” 即可。
现在没有加 卸挂 命令。
稍后加。
哦,你的grldr内部菜单经过了改写,换启动文件好象要重新格式化,比较麻烦。
hhh333 发表于 2014-4-14 22:58
既然MOUNTMBROS本来是用来挂载的,没必要还弄个mount参数了,能否这样可好:
挂:MOUNTMBROS \\.\Physical ...
MBROSTool需要的。
MBROSTool直接转过来的, 所以。。。
将来还有Umount list 。。。。
hhh333 发表于 2014-4-15 00:34
经过调试基本成功了,还要测一下UEFI,具体作了以下改进:
1、利用LZ的MAPUD,制作了UDV2FD,完成UDV2的hd ...
》》1、利用LZ的MAPUD,制作了UDV2FD,完成UDV2的hd0到fd0,并将root设为fd0;
LDUDPE 有 这个功能: 完成UDV2的hd0到fd0,并将root设为fd0;
command /BOOT/GRUB/LDUDPE
或command /BOOT/GRUB/LDUDPE(fd0)
其中的问题 已修正。
hhh333 发表于 2014-4-15 00:34
经过调试基本成功了,还要测一下UEFI,具体作了以下改进:
1、利用LZ的MAPUD,制作了UDV2FD,完成UDV2的hd ...
》》系统中对UDV2的映射:遗憾的是mountmbros.exe不行,它将可见区映射了,换mbrostool.exe通过了
测试 最新的mountmbros.exe 正常。
hhh333 发表于 2014-4-15 06:01
我刚才想把grldr换成4.5c的版本,但不出菜单,直接进提示符了,这个有要求?
要把 grldr 的呢只菜单 提出来, 替换 4.5c的菜单即可。
hhh333 发表于 2014-4-15 07:33
哦,你的grldr内部菜单经过了改写,换启动文件好象要重新格式化,比较麻烦。
》》哦,你的grldr内部菜单经过了改写,换启动文件好象要重新格式化,比较麻烦。
grldr 需要放到前 70M 以内, 后面不找了。 需要连续存放。
可以做个稍大(如2M)的 , grldr 等 BIOS 引导器 放在其中。
BOOT.IMG 最先放到 更目录下,
以后随便 换。加载 BOOT.IMGS:, 把S:的文件全部剪切出来, 修改后,再放回去。
//另外 可以放到 专用引导区, 改程序后还未测试过。
map --hook
rootnoverify (%dst%)
应该map --hook && rootnoverify (%dst%)更科学,MAP成功了再改变root设备
