menu.lst是什么?

来源:装机吧 

menu.lst是什么,menu.lst是DOS工具启动的菜单界面设置文件,这个文件了解winpe的才知道如何去写入,不是一般能看得懂的,menu.lst中文意思就是菜单列表的。装机吧教如何读懂menu.lst是什么东西:

首先来看一下/boot/grub/menu.lst中的内容:
default=0
timeout=5
#splashimage=(hd0,6)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.11-1.1369_FC4)
root (hd0,6)
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
initrd /boot/initrd-2.6.11-1.1369_FC4.img
title Windows XP
rootnoverify (hd0,0)
chainloader +1
其中:
default=0
表示默认启动的第0号的操作系统,在GRUB中,title定义了启动的操作系统,从第1个开始,GRUB中是0,而第2个是1,依次类推...
timeout=5
表示的是出现GRUB界面后,无操作情况下进入default设定的操作系统的时间,如果上下移动选择,则该选项无效
splashimage=(hd0,6)/boot/grub/splah.xpm.gz
表示的是允许出现的GRUB背景的path,显然(hd0,6)指定了分区(不知能否这么解释,呵呵),而后边的则是正常的path(在例子中,用#把它注释,为一可选项)
hiddenmenu
表示隐藏GRUB的启动菜单,直接进入由default庙宇的操作系统中去,为一可选项.

linux类
其格式一般为:
title (......)
root (hd[0-n],x)
kernel (......)
initrd (......)
其中:
title行,是定义一个启动操作系统,而后边可以自己随便写上喜欢的名字,呵,当然最起码要自己能认出来。

root行,指定相应的linux所有的/boot,如果在写分区和挂载时没有单独挂载,那么就和/在同一个分区中,hd[0-n]表示的是第几个硬盘,而x则表示的是[第几个分区-1],即x比分区号小1,特别要注意。

kernel 行,在这里以kernel 起始,指定Linux的内核的文件所处的绝对路径(通过在终端输入命令:ls /boot/vmlinuz*来看内核的全名);因为内核是处在/boot目录中的,而如果/boot是独立的一个分区,则需要把boot省略,因为 /boot所在的分区在root (hd[0-n],x)中指定了,所以就无需要再指明内核处在哪个分区了;ro 表示只读;root=LABEL=/ 来表示Linux的根所处的分区。LABEL=/ 这是硬盘分区格式化为相应文件系统后所加的标签;如果您不了解什么是标签,也可以直接以/dev/hd[a-z]X 或者/dev/sd[a-z]X来表示;就看您的Linux是根分区是在哪个分区了。比如我的是在/dev/hda3, 那这里就可以写成root=/dev/hda3;

initrd行,如果是/boot独立一个分区,initrd 一行要把/boot中省略;如果/boot不是处于一个分区,而是和Linux的/分区处于同一分区,不应该省略;我们通过查看/boot中的 initrd的文件名到底是什么来写这一行代码,在终端输入:ls /boot/initrd*
很容易能得到initrd文件名,然后写入.

在了解了以上情况之后,我们就很容易地理解另一种写法了:
title (......)
kernel (hd[0-n],y)(/boot)...... ro root=......
initrd (hd[0-n],y)(/boot)......
其实只是省略的root很实在地写在了kernel和initrd行中去了而已

附:
其 实在GRUB启动菜单不能工作的时候,进入GRUB命令行(可按CTRL+C键)后,我们同样可以一步一步地把系统启动起来,其实在menu.lst中, 除title不是指令外,其余的都是GRUB指令,我们只要一步步地输入它们(错了要从新开始),中间输入关于kernel和 initrd要利用
TAB键补齐写好,最后只要boot一下就行了.

用GRUB指令引导windows:
GRUB> rootnoverify (hd0,0)
GRUB> chainloader +1
GRUB> boot
# 1. 直接指定核心开机
既然要指定核心开机,所以当然要找到核心档案啦!此外,有可能还需要用到 initrd 的 RAM Disk 设定档案 (通常是放置在 /boot 底下啊!)。但是如前说的, 尚未开机完成,所以我们必须要以 grub 的硬碟认识方式找出完整的 kernel 与 initrd 档名才行。 因此,我们可能需要有底下的方式来设定才行!
1. 先指定核心档案放置的 partition,再读取档案 (目录树),最后才加入档案的实际档名与路径 (kernel 与 initrd);
假设仅有一颗硬碟,且仅划分出 /dev/hda1 (亦即根目录为 /dev/hda1)而已:
root    (hd0,0)    <==代表核心档案放在那个 partition 当中?
kernel /boot/vmlinuz ro root=/dev/hda1 vga=771
initrd /boot/initrd
# root :代表的是‘核心档案放置的那个 partition 而不是根目录’喔!不要搞错了!
# kernel :至于 kernel 后面接的则是核心的档名,而在档名后面接的则是核心的参数,
# 在 kernel 后面接的 root 才是‘根目录所在的 partition ’,
# 另外,核心还可以外加很多的参数喔,例如 vga 即是一个解析度参数!
# initrd :就是前面提到的 initrd 制作出 RAM Disk 的档案档名啦!
2. 直接指定 partition 与档名,不需要外接 root !
kernel (hd0,0)/boot/vmlinuz ro root=/dev/hda1 vga=771
initrd (hd0,0)/boot/initrd
注意到:kernel 后面其实只要接 ‘核心档案档名’与 ‘根目录 (/) 的所在磁碟代号 (用一般 Linux 磁碟代号) 就可以了。 老实说,以第二个方式来书写你的 title 的内容会比较好一点~ 不会造成两个 root 是啥意思的紊乱!上面的案例还很好理解,如果是底下的案例呢? 思考看看:
例题:
我的 Linux 主机仅有一颗硬碟,但为了制作多重开机,所以我将 /boot 独立出来成为一个 partition, partition 的对应是‘ /boot → /dev/hda2 ’ ‘ / → /dev/hda1 ’,而且我仅有 kernel file, 档名为 /boot/vmlinuz-2.6.11-1.1369_FC4 请问 grub 当中的 title 要如何写?
答:
只要列出 kernel 的档名即可!因为我将 /boot 独立成为 /dev/hda2 ,因此,整个核心档案档名应该是:
/boot/vmlinuz-2.6.11-1.369FC4 –>
(/dev/hda2)/vmlinuz-2.6.11-1.1369_FC4 –>
(hd0,1)/vmlinuz-2.6.11-1.1369_FC4
因为 /boot 是一个完整的 partition 嘛!所以说,整个核心档案的写法,可以这样做:
title FC4 default
kernel (hd0,1)/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda1
因为 vmlinuz-2.6.11-1.1369_FC4 这个档案其实是在 /boot 所在的 partition 上, 而 /boot 是 (hd0,1) ,因此,整个档名就成为 (hd0,1)/vmlinuz-2.6.11-1.1369_FC4 了! 只要你能够瞭解这个档名的来源,那么 grub 对你而言,已经没有什么大问题了! ^_^
# 2. 利用 chain loader 的方式:
所谓的 chain loader 仅是在将控制权交给下一个 boot loader 而已, 所以 grub 并不需要认识与找出 kernel file ,‘ 他只是将 boot 的控制权交给下一个 super block 或者是 MBR 内的 boot loader 而已 ’ 所以通常他也不需要去查验下一个 boot loader 的开机磁区啊! 一般来说, chain loader 的设定只要两个就够了,一个是指定开机区的 root partition,另一个则是设定 chainloader 在那个磁区上!所以说,假设我的 Windows 磁区在 /dev/hda1 ,且我又只有一颗硬碟, 那么要 grub 将控制权交给 windows 的 loader 只要这样就够了:
[root@linux ~]# vi /boot/grub/menu.lst
….前略….
title Windows partition
root (hd0,0)
chainloader +1
那个 root 代表的就是 Windows 的 C 槽啦!而 chainloader 则是载入 boot loader 的定义值, 那个 +1 代表的是‘第一个 sector ’也可以说成 Super block 啊!这样说,理解吗?! 但其实我们的 grub 功能是很强大的!他还可以隐藏某些 partition 呢! 让您的 Windows 不会去读取 Linux 的 partition 啊!举例来说,以上面的例子在延伸, 假设我的 /dev/hda5 是 Linux 的磁碟系统,我想将他隐藏,并且把原先隐藏的 /dev/hda2 开启,并且不去检查 /dev/hda1 的开机区,所以,会变成:
[root@linux ~]# vi /boot/grub/menu.lst
title Windows partition
unhide (hd0,1)
hide (hd0,4)
rootnoverify (hd0,0)
chainloader +1
makeactive
最后那个 makeactive 是让开机区的 boot 项目具有 active 的标志而已,有没有加都可以。

menu.lst是什么?相关推荐

  1. cd linux menu.lst,用ultraiso制作cdlinux的U盘启动盘

    准备工作: 一.启动ultraiso软件,文件->打开(cdlinux的镜像文件.ISO )->启动->写入硬盘镜像 (写入方式USB-HDD+) 二.启动bootice 物理磁盘处 ...

  2. CentOS6.3的Grub启动项的menu.lst文件内容

    不同机器可能由于安装的磁盘分区不同而内容有所变化,不过基本信息大同小异,大家用得着的可以作为参考: 具体位置在:/boot/grub/menu.lst,内容和/etc/grub.conf相同 View ...

  3. 设置grub从哪个分区的menu.lst引导系统

    grub> 我们就可以在这样的字符后面,输入: grub>root (hdX,Y) grub>setup (hd0) 如果成功会有一个succeed...... 这里的X,如果是一个 ...

  4. GRUB的menu.lst的写法

    作者:北南南北 来自:LinuxSir.Org 摘要: GRUB是多系统引导管理器,简单的说既能引导Linux,同时也能引导Windows:从LinuxSir.Org 讨论区近四年的观察来看,大多初学 ...

  5. cd linux menu.lst,怎么把cdlinux做成u盘启动?u盘启动cdlinux制作准备工具方法

    U盘是当代社会存储资料必不可少的工具,小巧玲珑但是存储容量大,怎么把cdlinux做成u盘启动?下面是小编介绍u盘启动cdlinux制作准备工具方法,有需要的小伙伴一起来下文看看吧,希望可以帮助到大家 ...

  6. linux boot菜单列表,/boot/grub/menu.lst详解

    基本概念 menu.lst有时候也叫grub.conf,但是/boot/grub/下会有一个名叫menu.lst的符号链接指向它.它是grub引导系统的配置文件. 基本选项 default 0 tim ...

  7. YUMI制作启动盘安装ubuntu时报错:booting ‘find /menu.lstk /boot/grub/menu.lst, /grub/menu.lst‘

    利用YUMI制作的Linux启动盘,在进入安装的时候显示:booting 'find /menu.lstk /boot/grub/menu.lst, /grub/menu.lst' 解决方法: 在U盘 ...

  8. GRUB - Debian 6 下无/boot/grub/menu.lst

    GRUB是一个多重操作系统管理器,用于引导不同的系统. 在Debian 6 以前 GRUB的版本是 v1,到了Debian 6之后,GRUB的版本就升级为v2,而配置v1与v2有着比较大的区别: 配置 ...

  9. android x86 安装花屏,笔记本安装Android 4.4 r1安装花屏解决办法(顺带menu.lst备份)...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 default=0 timeout=6 splashimage=/grub/android-x86.xpm.gz root (hd0,0) title A ...

  10. 实录:menu.1st配置错误导致从多路径启动失败

    现场环境: 华为刀片服务器+suse9sp3+华赛S2300 磁盘阵列,刀片服务器和存储采用多路径冗余方式连接. 现象描述: 存储配置完成后,在服务器通过fdisk -l 查看有冗余路径,存储映射卷有 ...

最新文章

  1. keras 的 example 文件 mnist_acgan.py 解析
  2. c# out ref
  3. eclipse——jsp字体设置
  4. 在中国,程序员是青春饭吗?
  5. python爬取贴吧所有标题的评论_用BS4爬取贴吧文章的作者信息时,如何兼顾爬取高亮的作者信息?...
  6. JAVA多线程总结(笔记)
  7. 国家开放大学2021春1108钢结构(本)题目
  8. MSRA-万字综述 直击多模态文档理解
  9. python和java后期发展_Python与java的发展前景谁最大
  10. 【Bye-Bye】MMD镜头+动作打包下载.zip
  11. mac启动台(launchpad)图标大小调整
  12. 如何同步企业微信的标签?
  13. wordpress主题模板开发制作教程
  14. oracle dbms_utility,dbms_utility的两个有用方法
  15. Java后台获取USB二维码扫描枪内容(Java监听系统键盘操作)
  16. N多的红烧茄子做法!
  17. 手眼标定算法---Navy算法(Robot sensor calibration: solving AX=XB on the Euclidean group)
  18. 不可忽视的软件测试环境问题
  19. ARCGIS SERVER:未指定的错误
  20. 声音鉴黄师饱受摧残,AI声音鉴黄师为何没帮上忙?

热门文章

  1. 测试你的爱情自私指数
  2. 都是纯自主CPU:战斗民族超算性能被国产碾压
  3. 钣金加工工艺难点及改进措施分析
  4. 苹果CMSV10之添加QQ微信防洪跳转功能
  5. Widows下如何安装Redis?
  6. PADS layout 移动元件时走线不跟着拉长
  7. 老师分糖果c语言编程,c语言实例--老师巧分糖果
  8. Java代码题m个小朋友分糖果,巧解“博弈”型算法题:分糖果问题
  9. 易瑞转债上市价格预测
  10. 洛谷 P1579 哥德巴赫猜想(升级版)题解