无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4750|回复: 10
打印 上一主题 下一主题

[求助] 为什么用grub4dos在win 7下引导不了启动ISO文件,难道是bug

[复制链接]
跳转到指定楼层
1#
发表于 2011-3-23 20:32:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么用grub4dos在win 7下引导不了启动ISO文件

我在win7下按照grub4dos的教程这样增加启动项:
bcdedit /create /d "grub4dos" /application bootsector
bcdedit /set {id} device partition=c:                     


bcdedit /set {id} path \grldr.mbr                                    
bcdedit /displayorder {id} /addlast                                




增加完后下载了最新的grub4dos,然后把grldr.mbr和grldr拷贝到系统的C分区。
之后把要启动的lang.iso拷贝到C分区下,在menu.lst也拷贝到C分区下,menu.lst里按照教程那样编写
引导iso文件。

color blue/green yellow/red white/magenta white/magenta
#   设置菜单颜色
timeout 30
#   菜单等待时间
default /default
#   设置默认菜单项,需default文件配合,可参见目录索引 default 部分



title lang
#   设置菜单项标题
fallback 5
#    本项菜单执行出错的话就转到菜单项5(本菜单文件中为下一菜单项)继续执行
find --set-root /lang.iso
#   在所有设备的/0PE/目录下查找 0PE.ISO文件,找到的话就将该设备设为根
map /lang.iso (0xff) || map --mem /lang.iso (0xff)
#    先尝试将iso镜像直接仿真为 (0xff)(要求镜像连续存放),失败的话再将iso镜像载入内存仿真为(0xff)
map --hook
#   使仿真生效
chainloader (0xff)
#    从(0xff)设备启动
savedefault --wait=2
#   将当前菜单项保存为默认菜单项,下次再加载本菜单文件时自动将当前菜单项设置为默认菜单项



情况变成是这样的:



启动系统后会出现这两个菜单:
windows 7
lang



当选择lang后,会出现一个画面,里面看到了一句短的ntldr这样的字样,然后又回到了上面的菜单画面:
windows 7
lang

根本就没启动lang.iso文件,这很奇怪。

按照出现ntldr这样的字符说明到了grub4dos的启动去了,但却没有出现menu.lst的菜单里的title菜单,说明还没有到munu.lst去。

我到另外一台机子上试了下,这台机子可以启动,但有几台机子都是这样的问题。

是不是grub4dos有这样的bug问题:
由于C盘分区很大,并且是ntfs分区,然后grug4dos在启动引导时,由于分区很大而导致搜索不到menu.lst或者lang.iso这样的文件呢。

为什么会出现画面一闪,然后就回到了windows启动选择则启动项的画面呢

望grub4dos的高手告知下,谢谢!
2#
发表于 2011-3-23 20:59:50 | 只看该作者
我能问一句  给win7增加启动项时  第二三四行命令里的 {id}  

是 {id} 这几个字符还是 第一行命令产生的id值
回复

使用道具 举报

3#
 楼主| 发表于 2011-3-23 21:20:37 | 只看该作者
是第一行产生的id
回复

使用道具 举报

4#
发表于 2011-3-23 21:40:11 | 只看该作者

回复 #3 2011tc 的帖子

那就应该没问题  我就是好奇为什么菜单项名字为什么会是lang  现在看来是lz自行修改过了  菜单项应该是正常的

可以看下根目录下的grldr文件内置菜单是什么  以及menu.lst在什么位置  确保grldr能找到菜单文件

菜单正文如下


  1. color blue/green yellow/red white/magenta white/magenta
  2. default 0

  3. title lang
  4. find --set-root /lang.iso
  5. map --mem /lang.iso (0xff)
  6. map --hook
  7. chainloader (0xff)
  8. boot
复制代码
回复

使用道具 举报

5#
 楼主| 发表于 2011-3-23 21:45:52 | 只看该作者
原帖由 sratlf 于 2011-3-23 21:40 发表
那就应该没问题  我就是好奇为什么菜单项名字为什么会是lang  现在看来是lz自行修改过了  菜单项应该是正常的

可以看下根目录下的grldr文件内置菜单是什么  以及menu.lst在什么位置  确保grldr能找到菜单文件 ...


问题的怪异就出现在这:为什么有些机子可以,有些机子不行?
如果说是找不到文件,为什么menu.lst的title菜单都没出现,如果出现这个菜单,然后选择,ok后,如果找不到iso文件,出错才是这个步骤上,为什么menu.lst的菜单都没出现,还是grldr根本没有找到menu.lst文件
回复

使用道具 举报

6#
发表于 2011-3-23 21:54:50 | 只看该作者

回复 #5 2011tc 的帖子

所以让你看下内置菜单是什么  如果没修改过就不用看了  可能就是其他原因
回复

使用道具 举报

7#
 楼主| 发表于 2011-3-23 22:04:20 | 只看该作者
原帖由 sratlf 于 2011-3-23 21:54 发表
所以让你看下内置菜单是什么  如果没修改过就不用看了  可能就是其他原因


menu.lst的菜单就是这个:

color blue/green yellow/red white/magenta white/magenta
#   设置菜单颜色
timeout 30
#   菜单等待时间
default /default
#   设置默认菜单项,需default文件配合,可参见目录索引 default 部分



title lang
#   设置菜单项标题
fallback 5
#    本项菜单执行出错的话就转到菜单项5(本菜单文件中为下一菜单项)继续执行
find --set-root /lang.iso
#   在所有设备的/0PE/目录下查找 0PE.ISO文件,找到的话就将该设备设为根
map /lang.iso (0xff) || map --mem /lang.iso (0xff)
#    先尝试将iso镜像直接仿真为 (0xff)(要求镜像连续存放),失败的话再将iso镜像载入内存仿真为(0xff)
map --hook
#   使仿真生效
chainloader (0xff)
#    从(0xff)设备启动
savedefault --wait=2

直接拷贝教程里的例子然后修改的
回复

使用道具 举报

8#
发表于 2011-3-23 22:59:50 | 只看该作者

回复 #7 2011tc 的帖子

这个是外置菜单  还有一个是内置到grldr内部的内置菜单  内置菜单优先于外置菜单执行

这个只能靠你自己找到原因了  比如其他分区根目录下有同名文件等原因

还有一点  最好是明白菜单项的命令起什么作用后再进行修改  

比如你修改后的菜单项  应该去掉 fallback 5 一行  因为你的菜单文件只有一个菜单项  若执行时出现错误将按fallback命令跳转到第六菜单项执行  但实际第六菜单项不存在  就只能报错了
回复

使用道具 举报

9#
 楼主| 发表于 2011-3-24 09:35:31 | 只看该作者
在点击lang菜单后,出现这个画面

后又返回
windows 7
lang

这个画面
回复

使用道具 举报

10#
 楼主| 发表于 2011-3-24 09:45:13 | 只看该作者
用grub4dos内置菜单导出器导出的menu.lst里面内容是空的
不知道是grub4dos内置菜单导出器的问题还是grldr的问题
回复

使用道具 举报

11#
 楼主| 发表于 2011-3-24 10:32:40 | 只看该作者
修改grldr的名字就搞定了,哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 08:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表