无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 8876|回复: 43
打印 上一主题 下一主题

grldr启动后修改菜单再启动提示找不到文件

[复制链接]
跳转到指定楼层
1#
发表于 2017-11-15 17:01:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
win7系统bootmgr加载的grldr,C盘有boot文件夹,我在F盘建立了boot文件夹,把grldr放在F盘根目录
我把ghost.img文件放在F盘的boot文件夹中

启动grldr后,修改菜单中的:
map --mem /boot/Win98.img (fd0)

map --mem /boot/ghost.img (fd0)

确认后启动提示找不到文件

root命令返回结果为(hd0,0),奇怪,根目录应该在F盘是(hd0,3),怎么变为(hd0,0)了呢

注:如果不修改菜单启动Win98.img又正常
----------------------------------------------------------------------------------------------
grldr菜单修改前如下

pxe detect
configfile
default 0
timeout 10
terminal console
find --set-root /grldr
font /boot/unifont.hex(3500汉字).GZ
graphicsmode -1 640:480
splashimage /boot/bj2008.xpm.gz
color normal=0x0187ec highlight=0xE0 helptext=0x0187ec heading=0x0187ec standard=0x0068b7 border=0x0068b7

title 启动WIN8PE和WIN7PE
chainloader /boot/bootmgr

title 使用map启动本地硬盘上的 Win98 软盘镜像文件
map --mem /boot/Win98.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Grub 命令行
commandline
2#
 楼主| 发表于 2017-11-15 21:08:36 | 显示全部楼层

谢谢回复

我查看了,所有分区根目录只有F盘有grldr,bcd也是指向的F盘的grldr,即使某分区根目录有改名的grldr也应该不会影响吧
回复

使用道具 举报

3#
 楼主| 发表于 2017-11-16 08:28:44 | 显示全部楼层
不点 发表于 2017-11-16 06:10
这问题自己肯定能找到原因,用不着费劲来问吧?难道会修改却不会调试?

谢谢回复

调试 是指启动grldr时马上按insert键吗

点评

根据你的描述,你修改前,是正常的。你修改后不正常了。 你只要确定究竟是那一处修改造成的问题即可。 比方说,你修改了 10 个地方。你先恢复 9 个地方(保持修改前的状态),只留下一个修改,试试看行不行。  详情 回复 发表于 2017-11-16 20:52
回复

使用道具 举报

4#
 楼主| 发表于 2017-11-16 08:33:26 | 显示全部楼层
2011yaya2007777 发表于 2017-11-16 06:47
把c盘的boot文件夹删除

谢谢回复

C盘的boot中的bcd指向的F盘的grldr,把c盘的boot文件夹删除了,grldr又怎么能启动呢

回复

使用道具 举报

5#
 楼主| 发表于 2017-11-16 09:39:46 | 显示全部楼层

win7是从c盘启动的,C盘的boot中的bcd指向F盘的grldr

我没有使用menu.ls,使用的是grldr内置菜单
回复

使用道具 举报

6#
 楼主| 发表于 2017-11-16 21:32:09 | 显示全部楼层
本帖最后由 yjqd 于 2017-11-16 21:33 编辑
不点 发表于 2017-11-16 20:52
根据你的描述,你修改前,是正常的。你修改后不正常了。

你只要确定究竟是那一处修改造成的问题即可。 ...


谢谢回复

grldr这个文件本身的内置菜单我没修改,只是在启动grldr后在菜单选项界面修改了一项,就是把启动的dos镜像名改成了新增加的dos镜像的名称,即原来是启动的Win98.img,改成启动ghost.img
修改
map --mem /boot/Win98.img (fd0)

map --mem /boot/ghost.img (fd0)

发现修改后确认,grldr所在的根目录就会改变,变成(hd0,0)

我确实还没找到根目录改变的原因
回复

使用道具 举报

7#
 楼主| 发表于 2017-11-16 21:40:45 | 显示全部楼层
本帖最后由 yjqd 于 2017-11-16 21:46 编辑
不点 发表于 2017-11-16 20:52
根据你的描述,你修改前,是正常的。你修改后不正常了。

你只要确定究竟是那一处修改造成的问题即可。 ...


简单的说:

我的grldr原菜单,启动后只要不修改它,任何一个启动项都能正常启动,如果对菜单进行修改,不管修改多少,gfldr所在的目录都会返回到(hd0,0)

没表述准确,应该要把grldr目录固定在所在的分区这种修改除外
回复

使用道具 举报

8#
 楼主| 发表于 2017-11-16 22:26:00 | 显示全部楼层
2011yaya2007777 发表于 2017-11-16 22:13
‘’只是在启动grldr后在菜单选项界面修改了一项,‘’  前面说没有menu.lst菜单,那么引号里的菜单是什么 ...

不好意思,我没拍摄图片
=====================
我使用的是grldr内置菜单

引号中的选项是:使用map启动本地硬盘上的 Win98 软盘镜像文件

选中它,按E键就可看到具体内容:

map --mem /boot/Win98.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

我把Win98.img改成ghost.img,回车确认,再按B键启动,提示错误15,文件没发现
回复

使用道具 举报

9#
 楼主| 发表于 2017-11-16 22:35:06 | 显示全部楼层
pseudo 发表于 2017-11-16 22:26
看样子楼主修改了grldr内置菜单。
请留意以下线索:
1、grldr的版本、日期?

谢谢回复

看来我要拍照片了,果机传图片不太方便

先说一下:
1、2016的grldr和2017的grldr都使用过
2、编辑grldr是用的grubmenu.exe,我还不知道怎样看它的版本,此贴中菜单的修改是指启动grldr后,在菜单选项界面进行的修改

回复

使用道具 举报

10#
 楼主| 发表于 2017-11-16 23:07:29 | 显示全部楼层
pseudo 发表于 2017-11-16 22:26
看样子楼主修改了grldr内置菜单。
请留意以下线索:
1、grldr的版本、日期?

照片大于2m,重新捕获了一下

捕获1.PNG (664.1 KB, 下载次数: 148)

修改前

修改前

捕获2.PNG (659.85 KB, 下载次数: 130)

修改前

修改前

捕获3.PNG (822.49 KB, 下载次数: 139)

修改前

修改前

捕获4.PNG (729.67 KB, 下载次数: 145)

修改后

修改后

捕获5.PNG (716.21 KB, 下载次数: 136)

修改后

修改后

捕获6.PNG (757.9 KB, 下载次数: 118)

修改后启动报错

修改后启动报错
回复

使用道具 举报

11#
 楼主| 发表于 2017-11-16 23:09:30 | 显示全部楼层
2011yaya2007777 发表于 2017-11-16 22:13
‘’只是在启动grldr后在菜单选项界面修改了一项,‘’  前面说没有menu.lst菜单,那么引号里的菜单是什么 ...

yaya,我上传了照片
回复

使用道具 举报

12#
 楼主| 发表于 2017-11-17 13:44:25 | 显示全部楼层
不点 发表于 2017-11-16 20:52
根据你的描述,你修改前,是正常的。你修改后不正常了。

你只要确定究竟是那一处修改造成的问题即可。 ...

明白一些了:

第一种情况:
用win7的bootmgr加载grldr


如果这个grldr内置菜单没有用find --set-root /xxx,启动后,root命令结果是(hd0,0)  也就是根目录是win7的bootmgr所在的目录C
如果这个grldr内置菜单用了find --set-root /xxx,启动后,root命令结果会是xxx所在的根目录,比如此帖中是在F盘,一旦对grldr启动后的菜单进行编辑,哪怕你选中菜单的某一项,按了E键,即使没编辑,回车后,按C键,输入root,root命令结果是(hd0,0),不知为什么会返回(hd0,0)

第二种情况:
用win7的bootmgr加载grldr.mbr


不管grldr.mbr放在哪个分区根目录,grldr内置菜单不管有没有用find --set-root /xxx,grldr放在哪个分区,启动后,root命令查看,它所在的根目录就是它所在的分区,比如放在E盘,root看到的就在E盘(当然,应该是(hdx,x)这各形式),如果放在F盘,root看到的就在F盘

并且对对grldr启动后的菜单进行编辑也不会自动返回目录到(hd0,0),修改后也能正常启动了

看来用win7的bootmgr加载grldr,内置菜单写上用find --set-root /xxx,如果启动后不编辑菜单,那么就可以不写绝对路径
如果启动后要编辑菜单,那么就老老实实的写上绝对路径

回复

使用道具 举报

13#
 楼主| 发表于 2017-11-17 13:51:05 | 显示全部楼层
窄口牛 发表于 2017-11-17 12:51
改哪,哪就不行,意思是utf8编码问题?

不是utf8编码问题的问题

我的内置菜单用了find --set-root /grldr,但所有的启动项中都没用绝对路径,一旦对grldr启动后的菜单进行编辑,根目录会变成(hd0,0),当然会提示找不到文件,就启动不了
回复

使用道具 举报

14#
 楼主| 发表于 2017-11-17 20:54:47 | 显示全部楼层
2011yaya2007777 发表于 2017-11-17 18:16
执行了 find --set-root /xxx,root命令结果才会是xxx所在的根目录。

菜单项包含这一指令,执行菜单就 ...

谢谢回复

我再想一想:

win7的C盘的bootmgr加载grldr这种情况,grldr不管放在哪个分区,它的原始命令目录就是bootmgr所在的C盘
此贴中grldr放在(hd0,3),也就是F盘根目录,grldr内置菜单中,find --set-root /grldr只有一处,在加载字体和图片之前,所有 title 启动项之内都没有find --set-root /grldr
当启动grld后,图片、字体被加载了,说明find --set-root /grldr被执行了,而且此时root命令返回的结果是在(hd0,3),也就是F盘根目录
此时当我又编辑title 某启动项的内容时,确认后,再执行root命令,返回的结果是在(hd0,0),也就是C盘根目录

小结:
当启动grld后,如果对某title 启动项进行编辑,虽然没执行root (hd0,0),但仍然会从(hd0,3)返回到原始命令目录,就是bootmgr所在的C盘
================================================================
刚才我测试了一下,提前用grubmenu.exe对grldr的title 使用map启动本地硬盘上的 Win98 软盘镜像文件下面增加了find --set-root /grldr,其它没作任何更改
find --set-root /grldr
map --mem /boot/Win98.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

启动后,用root命令返回的结果是在(hd0,3),编辑map --mem /boot/Win98.img (fd0)为map --mem /boot/ghost.img (fd0),回车确认,再root命令返回的结果是在(hd0,0),再按B键启动,成功启动了ghost.img

小结:编辑时虽然目录从(hd0,3)变为(hd0,0),但执行时,find --set-root /grldr得到了执行,目录从(hd0,0)变为(hd0,3),所以成功启动了ghost.img

============================================
要是编辑时不返回原始命令目录就好了,写菜单可以少写点内容
回复

使用道具 举报

15#
 楼主| 发表于 2017-11-17 21:49:23 | 显示全部楼层
2011yaya2007777 发表于 2017-11-17 21:28
这个现象没注意,挺奇怪。抽时间研究一下。

可能是大家基本上都是把grldr放在C盘的,启动grldr后,不管修不修改启动菜单,它的目录都会在C盘

所以修改菜单后仍可能启动
回复

使用道具 举报

16#
 楼主| 发表于 2017-11-18 08:36:45 | 显示全部楼层
2011yaya2007777 发表于 2017-11-18 08:27
修改菜单,或者修改grldr内置菜单
map --mem /boot/Win98.img (fd0)

谢谢回复

我用grub4dos-0.4.6a-2017-10-23.7也测试过
难道是我的电脑阴差阳错出了问题
我再去试一下
回复

使用道具 举报

17#
 楼主| 发表于 2017-11-18 09:00:18 | 显示全部楼层
2011yaya2007777 发表于 2017-11-18 08:27
修改菜单,或者修改grldr内置菜单
map --mem /boot/Win98.img (fd0)

刚才测试了,用的 grub4dos-0.4.6a-2017-10-23.7z

情况还是如此
=======================================
BCD增加grldr启动项最早是用的微软的BCDEDIT命令,后来用的BOOTICE(有时记不住BCDEDIT命令了)

BOOTICE编辑时:

设备类型选的:partition
启动分区选的F盘

启动文件:
\grldr
回复

使用道具 举报

18#
 楼主| 发表于 2017-11-18 09:34:24 | 显示全部楼层
2011yaya2007777 发表于 2017-11-18 09:17
明白了。
修改完菜单,不执行boot指令,菜单中的指令都没有执行,此时按c键进入命令行,执行root,根目录 ...

把我虚惊一跳,我以为我在乱反映问题

刚才在惠普电脑上测试也是如此
此贴中的grldr是经过编译了的,我以为问题出在编译上,今天之前于是用过grub4dos-0.4.6a-2017-10-23.7z测试,情况也是如此
======================================
看来修改时只能多增加一条命令了
否则,根目录要回到C盘,就不能启动修改的文件了
回复

使用道具 举报

19#
 楼主| 发表于 2017-11-18 09:39:20 | 显示全部楼层
2011yaya2007777 发表于 2017-11-18 09:17
明白了。
修改完菜单,不执行boot指令,菜单中的指令都没有执行,此时按c键进入命令行,执行root,根目录 ...

不知能否改变这一情况,在你有时间和精力的情况下,也不知改变了会不会带来其它的问题
回复

使用道具 举报

20#
 楼主| 发表于 2017-11-18 11:14:26 | 显示全部楼层
不点 发表于 2017-11-18 10:37
提醒一下楼主,你的 grldr 菜单开头这句

configfile

谢谢回复

我检查了下所有根目录没有menu.lst
刚才从grub4dos-0.4.6a-2017-10-23.7z里提取grldr出来
新建文本文档,内容如下:

default 0
timeout 10
find --set-root /grldr

title 使用map启动本地硬盘上的 Win98 软盘镜像文件
map --mem /boot/Win98.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Grub 命令行
commandline

用grubmenu.exe将文本文档导入grldr
测试结果仍如前所述
观察到的现象是:
当启动grldr后,编辑title启动项中的内容后,发现root的结果从(hd0,3)变成(hd0,0)
回复

使用道具 举报

21#
 楼主| 发表于 2017-11-18 11:34:35 | 显示全部楼层
2011yaya2007777 发表于 2017-11-18 11:25
把你的grldr发上来。你确认win98.img与ghost.img在同一文件夹?

确认win98.img与ghost.img在同一文件夹

grldr你是要grub4dos-0.4.6a-2017-10-23.7z中的
还是要我导入了菜单那个grldr
回复

使用道具 举报

22#
 楼主| 发表于 2017-11-18 12:12:00 | 显示全部楼层
本帖最后由 yjqd 于 2017-11-18 18:03 编辑


新版本导入的grldr  已上传

请看一下
回复

使用道具 举报

23#
 楼主| 发表于 2017-11-18 12:23:50 | 显示全部楼层

把grldr放在C盘之外的分区
启动后按C键,输入root看下结果
然后选中 使用map启动本地硬盘上的 Win98 软盘镜像文件
按E键
再选中 map --mem /boot/Win98.img (fd0)
按E键
你可对它编辑,或不编辑就按回车键
此时就在这个界面按C键,输入root看下结果


其它的title启动项你也可试一试

点评

菜单启动项如果有密码,你删除就是了  详情 回复 发表于 2017-11-18 12:28
回复

使用道具 举报

24#
 楼主| 发表于 2017-11-18 12:28:35 | 显示全部楼层
yjqd 发表于 2017-11-18 12:23
把grldr放在C盘之外的分区
启动后按C键,输入root看下结果
然后选中 使用map启动本地硬盘上的 Win98 软 ...

菜单启动项如果有密码,你删除就是了
回复

使用道具 举报

25#
 楼主| 发表于 2017-11-18 12:29:02 | 显示全部楼层

菜单启动项如果有密码,你删除就是了
回复

使用道具 举报

26#
 楼主| 发表于 2017-11-18 18:00:45 | 显示全部楼层
2011yaya2007777 发表于 2017-11-18 17:54
由 bootmgr 通过 BCD 加载 F 盘的 grldr,根目录在 C 盘。执行 find --set-root /grldr 后,根目录才改变为 ...


谢谢回复

辛苦了,yaya

感谢以上诸位朋友的帮助!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-12 20:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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