无忧启动论坛

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

请教grub的menu.lst的一些问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-8-26 18:02:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.在menu.lst中经常看见 find --set-root 这个命令,我一直没有弄明白这个命令的具体用法,想请教一下大家。
比如这句话 find --set-root /0PE/0PE.ISO
意思是不是在当前盘的跟目录下面的OPE文件夹中寻找OPE.iso这个文件?

再比如
title find and boot 0PE.ISO
fallback 5
find --set-root /0PE/0PE.ISO
map /0PE/0PE.ISO (0xff) || map --mem /0PE/0PE.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2


在这段里面,首先用到了find命令,但是后面接着的map命令里面也指定了iso的位置,这两句是否重复了呢?
我试着吧find --set-root /0PE/0PE.ISO这句去掉,也一样能够正常启动pe。不知道在这段编码里面find --set-root /0PE/0PE.ISO这句到底起到了什么作用。

2.接下来是有关map命令的用法

map /0PE/0PE.ISO (0xff)

map --mem /0PE/0PE.ISO (0xff)

map 中的 --mem命令的作用在哪里呢?

同时在这段编码中
map /0PE/0PE.ISO (0xff) || map --mem /0PE/0PE.ISO (0xff)
map --hook
chainloader (0xff)

里面出现了Oxff ,下面的chainloader中也对应的出现了 (0xff), 我曾经看到过有这样的用法
map /0PE/0PE.ISO (hd32)
map --hook
chainloader (hd32)


我这里想问的,就是这个hd32,0xff是不是只是一个代号?实际上里面的内容可以改成任意自己想要的内容?比如chainloader (abcd)之类的。

由于本人还是刚入门的菜鸟,可能问题问的比较菜,希望各位朋友能多多谅解,并帮助解答,谢谢!!



2#
发表于 2009-8-26 20:40:13 | 只看该作者
find --set-root /0PE/0PE.ISO   楼主因当看到了,  这命令中间没有加hd   fd    CD  什么的,  这道命令相当于,  DOS  下的FIND  差多


   是查找  所有磁盘  里面的确  /0PE/0PE.ISO   目录,     如果你GRUBDOS 启动的所在盘里没有/0PE/0PE.ISO   那程序会搜索它能收到的所有  磁盘分区中的   0PE/0PE.ISO   


map /0PE/0PE.ISO (0xff) || map --mem /0PE/0PE.ISO (0xff)    先映射0PE.ISO  如果持行不成功(映射不了)  就持行||后面的命令  整文件内存加载


   后面的map  什么就好说了,   照猫画虎吧

[ 本帖最后由 x9tian 于 2009-8-26 20:42 编辑 ]
回复

使用道具 举报

3#
发表于 2009-8-27 01:24:47 | 只看该作者
find --set-root /0PE/0PE.ISO这个命令,是查找磁盘包括硬盘分区、软盘、光盘中 /0PE 目录下的0PE.ISO文件,找到了就将存放0PE.ISO文件的硬盘作为“根”(相当于默认当前磁盘或分区)。
回复

使用道具 举报

4#
发表于 2009-8-27 09:23:54 | 只看该作者
真深奥,不懂!!!!!!!!
得慢慢学了!
回复

使用道具 举报

5#
发表于 2009-8-27 10:28:52 | 只看该作者
LZ似乎完全不懂.

1.不是当前盘,而是在GRUB支持的设备里到处找,找到了就把放那东西的盘作为当前磁盘.
2.差别就在一个--mem上,这个参数要求把文件载入内存,可以提高启动成功率.因为map如果遇到了不连续存放的文件就不能继续运行,但是加上了--mem就不会有这个限制,不过如果文件很大的话,会很费时间内存.
3.||参照2楼.
4.--mem看第二条.
5.0xff和hd32是两个设备代号,如果随便改的话估计你的机器会出点问题的.
回复

使用道具 举报

6#
 楼主| 发表于 2009-8-28 13:07:14 | 只看该作者
原帖由 yichya 于 2009-8-27 10:28 发表
LZ似乎完全不懂.

1.不是当前盘,而是在GRUB支持的设备里到处找,找到了就把放那东西的盘作为当前磁盘.
2.差别就在一个--mem上,这个参数要求把文件载入内存,可以提高启动成功率.因为map如果遇到了不连续存放的 ...


非常感谢兄弟的解答。

5.0xff和hd32是两个设备代号,如果随便改的话估计你的机器会出点问题的.

那么除了这两个设备代号以外,还有其他的设备代号吗?
回复

使用道具 举报

7#
发表于 2009-9-12 13:10:34 | 只看该作者
原帖由 zcy85611 于 2009-8-28 13:07 发表


非常感谢兄弟的解答。

5.0xff和hd32是两个设备代号,如果随便改的话估计你的机器会出点问题的.

那么除了这两个设备代号以外,还有其他的设备代号吗?


hd32等于0xA0,好像是表示加载为cdrom
0xFF grub的说明档的意思好像是,如果用hd32(或者0xA0)出错,可以尝试用0xFF

其他设备代码, 0x后面的两位16进制不同就会代表不同的设备

我只知道0x00是第一个软驱,0x01是第二个软驱,等同于fd0,fd1,以此类推

0x80是第一个硬盘,0x81是第二个硬盘,等同于hd0,hd1,以此类推

其他的就不清楚了

本人今天刚学的grub,说错不要见怪

[ 本帖最后由 NicTense 于 2009-9-12 15:49 编辑 ]
回复

使用道具 举报

8#
发表于 2009-9-12 13:16:33 | 只看该作者
我也想学一、二
哪位大大能针对LZ的问题,较详细的说说
回复

使用道具 举报

9#
发表于 2010-1-10 22:27:46 | 只看该作者
真是不错啊,学到了不少知识.
回复

使用道具 举报

10#
发表于 2010-1-16 14:24:58 | 只看该作者

我也灌水下

问题1 、是查找所有GRUB支持的存储介质,并找到--后的路径和文件,同时设置找到的地方设置为GRUBFORDOS的根目录,在没有再次FIND前,所有操作都在该根目录下进行。
问题2、带-mem 的是把需要操作的文件释放到内存镜像后在运行,不带的是直接从介质运行程序和操作。具体的差别我也没实验过,估计和执行速度与稳定性有关。此外那个“||”是或的意思,当前面的map操作失败就执行||后面的操作。这样就增强了命令执行的成功率。
问题3、我也不太清楚,只知道被GRUB识别为硬盘设备的就得告诉它是hd32,软盘镜像的用fd至于oxff和hd32的关系,就得查GRUB的说明。
建议可以看下论坛的GRUB初级教程。
回复

使用道具 举报

11#
发表于 2010-1-17 08:51:17 | 只看该作者
楼主还处在社会主义初级阶段,建议找找lianjiang写的使用文件看看,上面说的很清楚。
回复

使用道具 举报

12#
发表于 2010-1-17 18:15:06 | 只看该作者
挖坟挖得这么没建设性,还不如让他沉了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-16 19:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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