|
理解grub菜单和常见lst后缀菜单及学习思考
在坛子上,经常能看到grub菜单例子,但什么意思是不太懂,百度查了一下,跟大家分享。例如果
title 【 1 】运行MAXDOS7.1加强版
map --mem ()/BOOT/IMGS/MAXDOS.IMG (fd0) || find --set-root /BOOT/IMGS/MAXDOS.IMG (fd0) && map --mem ()/BOOT/IMGS/MAXDOS.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
上例**五行,现在分行解读
1、title行显示菜单目录是“运行MAXDOS7.1加强版”
2、映射()/BOOT/IMGS目录下的MAXDOS.IMG 文件,搜索并将这个映象所在分区(fd0) 作为启动分区
(&&)并将目录下的MAXDOS.IMG 加载到内存,并虚拟成软驱
3、map --hook 虚拟的软驱,立即生效
4、chainloader 从虚拟的软驱引导启动,此处'+1'是指示GRUB读入分区的第一个扇区的引导记录。
5、rootnoverify (fd0) 告诉引导程序说,我们是从软盘启动机器的。END。
map命令的不是馬上起作用的。map --mem 意思是说映射到内存中,后跟路径。但是,要從虛擬磁盤中啟動,就必須從中讀取數據,因此需要使映射提前起效。map --hook的作用便是使前面map命令指定的映射立刻生效,map --hook 命令激活 A 盘(fd0)或CDROM(0xff)的就地仿真。如果没有 map --hook 命令,那么后续的 chainloader (fd0)+1 命令就要寻找真实软驱的软盘介质上的内容,而不是我们想要的虚拟软盘上的内容。grub中chainloader +1 此处'+1'是指示GRUB读入分区的第一个扇区的引导记录。 chainloader (hdx,y)+1,其中x,y用来指明硬盘所在分区号。最后一条 rootnoverify (fd0) 告诉引导程序说,我们是从软盘启动机器的。
[ 本帖最后由 20116339 于 2011-7-11 11:03 编辑 ] |
-
菜单第一行
-
UD中MAXDOS所在位置
|