无忧启动论坛

标题: fba 转 iso, grub4dos提示找不到boot.lzma ? [打印本页]

作者: 2012wqmeng    时间: 2012-6-26 23:27
标题: fba 转 iso, grub4dos提示找不到boot.lzma ?
fba 转 iso, grub4dos提示找不到boot.lzma ?

小弟试着用饭大的 native win7 pe 把fba 转换成 iso 的。 修改了menu.lst文件之后, 启动里面的native win7 pe, 提示找不到这个 boot.lzma 文件,请问如何解决?


在 fba 里面是用
map --mem (ud)/ISO/B.GZ (hd) > nul
map --hook
map --mem (ud)/ISO/boot.lzma (hd) > nul
map (ud)/ISO/win7two.iso (0xfe) > nul
map --hook
chainloader (hd-1,0)/bootmgr
boot

我在 iso 里面用 map --mem (cd)/ISO/boot.lzma (hd) > nul

这样做有什么不妥? 好像看帮助,说cd要确保光驱已经可以访问该设备。 是不是我这里没有提前做好访问cd的准备?应该如何处理, 看了几个iso的PE好像都不是用grub做的启动菜单。

看到0PE里面有 用map --mem ()/0PE/0PENB.LZMA (hd), 仿着写了个 map --mem ()/ISO/boot.lzma (hd) , 也不行
使用 map -mem /ISO/boot.lzma (hd) , 也不行

请大家指点下




timeout 10
default 0
color 0x1100408011ffffff 0x1100a00011ffff00 0x110000801100ff00 0x110000001100ff00
//color normal=0x1F highlight=0xE1 helptext=0x1D heading=0x0A standard=0x0F border=0x1F
font (cd)/BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 100:1000 100:1000 16:32
//splashimage (cd)/BOOT/GRUB/BG.bmp
terminal --font-spacing=0:6
title  1. 启动 Native WIN7PE 网络版
echo -e \n$[0003]  正在加载Win7PE 网络版一级内核!
echo -e \n$[0003]  此过程可能需要几分钟。。。
map --mem (cd)/ISO/B.GZ (hd) > nul
map --hook
map --mem (cd)/ISO/boot.lzma (hd) > nul
//map --mem ()/ISO/boot.lzma (hd) > nul
//map --mem /ISO/boot.lzma (hd) > nul
map (cd)/ISO/win7two.iso (0xfe) > nul
map --hook
chainloader (hd-1,0)/bootmgr
boot

[ 本帖最后由 2012wqmeng 于 2012-6-26 23:30 编辑 ]
作者: pseudo    时间: 2012-6-26 23:47
您可以做个试验:
用7-zip工具将boot.lzma解压,得到的文件改名为boot.img取代boot.lzma,菜单里也相应使用boot.img作为文件名。
作者: 2012wqmeng    时间: 2012-6-27 00:25
感谢P大和F大的指点,  我用 boot.lzm 确实是找到这个文件了, 从来没有想到会是这个故障原因, 再次感谢。

现在又来了一个问题, 提示找不到 分区表 或者 分区表损坏。   就是 最后这步, chainloader (hd-1,0)/bootmgr  。


这个会是什么原因? 难道这个压缩包没有被正确解压吗?   这里好像 map 了多个 hd, 是不是每次 map 一次, 就会多一个硬盘出来?  第一个硬盘对应的应该是B.gz 这个文件里面的 img 吧。  这个没有分区表吗 ?

我进入 grub 的命令行, 也没有看到有什么命令可以查看映射好的硬盘。 只能看到原来ISO里面的。
作者: 2012wqmeng    时间: 2012-6-27 00:47
上面的问题暂且放一下。  应该也可以使用压缩包的吧。 lzma 格式的这个。


按照 P 大说的, 把这个boot.lzma 解压之后修改为 boot.img ,  重新改写了 memu.lst 之后, 可以找到分区表了,并且进入了PE。 但是 进入 了 native shell 之后, 提示mount 出错。


Mount Failed 0xC0000034.
Mount Failed 0xC0000034.
Mount Failed 0xC0000034.
X:\windows\system32>  

连续三个错误。

请问是不是加载二级内核出问题了?  应该如何处理 ?
作者: 2012wqmeng    时间: 2012-6-27 02:20
现在用最新的饭大的fba修改。   新版本名称为 fb.fba  , 饭大发布日期应该是2012, 6月 10 日
文件: fb.fba
大小: 157738496 字节
修改时间: 2012年6月10日, 11:32:35
MD5: 96FC71AAF66EB40E31E68AC4E56ED8CC
SHA1: 673D13A700C2D9715A44E486ECE3DC35B9551CDA
CRC32: 7BE1467F


下面是修改的menu.lst 菜单, 这个目前还是出现上面说的 Mount Failed 0xC0000034. 错误。
其中参考了 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210671  剑大的那个处理 Mount Failed 错误的方法但是仍然没有成功。




timeout 10
default 0
color 0x1100408011ffffff 0x1100a00011ffff00 0x110000801100ff00 0x110000001100ff00
font (cd)/BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 100:1000 100:1000 16:32
//splashimage (cd)/BOOT/GRUB/BG.bmp
terminal --font-spacing=0:6

title  1. 启动 Native WIN7PE 网络版
echo -e \n$[0003]  正在加载Win7PE 网络版一级内核!
echo -e \n$[0003]  此过程可能需要几分钟。。。。。。
command (cd)/BOOT/GRUB/DRV7
map --mem (cd)/ISO/win7boot.img (0xff) > nul
map (cd)/ISO/win7two.iso (0xfe) > nul
map --hook
rootnoverify (0xfe)
ls (0xfe)/ > nul
chainloader (0xff)/bootmgr
boot
作者: 2012wqmeng    时间: 2012-6-27 02:23
用新版的, 我测试了下, 在X: 下面无法 md 目录, 好像X 是只读的。

用以前的老版本, 测试的时候, X 下面是可以写入的 。 但是仍然有 Mount Failed 错误。
作者: pseudo    时间: 2012-6-27 11:12
标题: 回复 #5 2012wqmeng 的帖子
1、据#5楼对#2楼试验结果看,从grub4dos角度,已经没问题了。
#1楼问题原因在于生成iso所用工具、参数配置方面有所不当,导致找不到boot.lzma。0pe生成iso的方式可供参考。

2、#5楼报错未必是转iso导致。
这属于pe方面的问题了。
讨论稀饭兄弟的东西可能需要某种“资格”,我少说为好。
作者: 2012wqmeng    时间: 2012-6-27 15:23
P大您好,对于第一个问题, 是不是我 Map 这个 ISO 的参数有问题? 导致ISO以 8.3 标准的iso 映像的?  

2 号问题, 好像和G4D 关系不大了,  奇怪的是用 UD 就可以, 但是用 CD 就导致了盘是只读的。   现在不知道饭大的新版里面那个DRV 有什么修改, 那个是一个脚本+压缩包的东西 , 不知道压缩包里面是什么。 难道是吧 B.gz 整合到一个文件里面了?  不会有固定的代码吧, 如果这样, 换成 ISO 难度就更大了。

您的 0PE, 我也在看, 只是脚本功力尚浅, 想先弄个简单的, 试试是否可行,然后再加到您的0PE的框架里面。  

您的 0PE 已经可以使用Native7了吗?  现在都是UD版的, 想用ISO光盘只能自己来动手了。
作者: smine    时间: 2012-6-27 17:25
嘿嘿 ,似乎忽略了一个重要的命令,cdrom --init

不初始化CD设备的化似乎grub似乎不认cd,个人猜测,可以试试
作者: 2012wqmeng    时间: 2012-6-27 21:29
感谢S大您的提醒, 我加入了这个 cdrom -init 命令好像还是不行, 不知道我加入的位置是否正确。  我看了您的Native7。 您的和饭大的封装方式好像不一样? 启动好像也是 Win 7 自己带的?  您的一级核心好像是WIM, 对这个我也不是很清楚。  但是您已经解决了 grub map nativepe ISO的问题, 我觉得我这里遇到的困难也是您解决的这个, 但是不太了解您的做法好像需要调整驱动加载的顺序。  我在等 饭大 , 看看他是否最近会有更新。说不定他的内核按您说的顺序调整之后, 这个问题也就不存在了。 期待。

timeout 10
default 0
color 0x1100408011ffffff 0x1100a00011ffff00 0x110000801100ff00 0x110000001100ff00
font (cd)/BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 100:1000 100:1000 16:32
//splashimage (cd)/BOOT/GRUB/BG.bmp
terminal --font-spacing=0:6
cdrom --init

title  1. 启动 Native WIN7PE 网络版
echo -e \n$[0003]  正在加载Win7PE 网络版一级内核!
echo -e \n$[0003]  此过程可能需要几分钟。。。。。。
command (cd)/BOOT/GRUB/DRV7
map --mem (cd)/ISO/win7boot.lzma (0xff) > nul
map (cd)/ISO/win7two.iso (0xfe) > nul
map --hook
rootnoverify (0xfe)
ls (0xfe)/ > nul
chainloader (0xff)/bootmgr
boot
作者: 2012wqmeng    时间: 2012-6-27 21:45
感谢P大,  您的那个生成 PE ISO 的脚本非常的强大好用,  那个生产的 ISO 里面的lzma文件可以顺利使用。
大大的提高了效率, 再次感谢您的杰作和奉献,让我等新人受益无穷。
作者: 20121991106    时间: 2012-6-28 02:13
什么下载不了啊、、、
作者: zds1210    时间: 2012-6-28 11:51
map (cd)/ISO/win7two.iso (0xfe) > nul
这句不要,晕,二级内核各个文件直接解开放在整体iso上,就可以了。搞复杂了。再用我的统一
模式,cd U+或量产都应该没有问题。你又不搞支持ud统一版?
要搞支持ud的统一,这个问题就要解决,也 是技术难题,二级内核一定要map —mem

[ 本帖最后由 zds1210 于 2012-6-28 12:07 编辑 ]
作者: 2012wqmeng    时间: 2012-6-28 14:08
剑大您好。  您说的去掉是指?  直接不带 win7two 那个 iso 吗?   二级内核如何加载并且解开到那个iso上面?   小弟刚来, 实在是不太了解里面的精髓。


title  1. 启动 Native WIN7PE 网络版
echo -e \n$[0003]  正在加载Win7PE 网络版一级内核!
echo -e \n$[0003]  此过程可能需要几分钟。。。。。。
command (cd)/BOOT/GRUB/DRV7
map --mem (cd)/ISO/win7boot.lzma (0xff) > nul
#map (cd)/ISO/win7two.iso (0xfe) > nul
map --hook
#rootnoverify (0xfe)
#ls (0xfe)/ > nul
chainloader (0xff)/bootmgr
boot

现在去掉了二级, 还是出现mount failed 34那个错误提示。
作者: zds1210    时间: 2012-6-28 18:14
#map (cd)/ISO/win7two.iso (0xfe) > nul
把win7two.iso解开,里面有三个wim文件,直接放到iso里,然后删除win7two.iso,就可以找到二级内核了。兄弟连基本的启动流程都没有搞清楚。
三个wim可以放到任意可见区的根目录中,当然最好可以融合到iso中。。
作者: 2012wqmeng    时间: 2012-6-28 20:57
小弟刚刚接触这个 确实是不甚了解, 让剑大见笑了。

我也注意到了 现在ISO 光驱版的几个Native PE的, 基本都是WIM封装的。  但是饭大的fba版本, 有明确的一级 二级内核ISO。  按饭大的说明, Native PE的优势在于一级内核加载会加载USB的驱动, 这样可以大大提高二级内核加载的速度。

我现在不是很明白, 用您现在的WIM 封装的格式, 或者说删除了 win7two.iso 把这3个WIM文件直接放到 ISO 里面, 是否也可以分级别加载内核, 并且利用了先加载USB驱动, 达到加速加载二级数据的作用?  

小弟无奈需要用到模拟 USB-CDROM,  所以想把饭大的两级内核分开加载, 以达到一级内核加速二级内核的目的。  不知道我这样做, 是不是多次一举?


还望剑大不惜赐教。  万分感谢。
作者: 2012wqmeng    时间: 2012-6-28 21:01
我是担心, 如果所有的 WIM 放到了一个 ISO 里面, 是不是数据要等到整个ISO都加载了, 才会显示? 这样是不是就没有利用加载的USB驱动, 丧失了加速的优势?
作者: 2012qdsywh    时间: 2012-7-30 17:36
进入  native shell 之后, 提示mount 出错。


Mount Failed 0xC0000034.
Mount Failed 0xC0000034.
Mount Failed 0xC0000034.
X:\windows\system32>
==========================

楼主,你把grldr文件,放一份在根目录里试试
作者: 无垠    时间: 2012-8-1 01:40
试一下我修改饭大第五版ISO,这些问题都解决了

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210906&extra=page%3D3

[ 本帖最后由 一望无垠 于 2012-8-2 14:10 编辑 ]




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3