首页 > 学院 > 操作系统 > 正文

grub编辑

2024-06-28 16:01:15
字体:
来源:转载
供稿:网友

grub启动时会在/boot/grub/中寻找一个名字为menu.lst的配置文件,如果找不到此文件则不进入菜单模式而直接进入命令行模式。menu.lst 是一个文本文件,你可以用任何一个文本编辑器来打开它。每一行代表一个配置命令,如果一行的第一个字符为井号”#”则这一行为注释,你可以简单地用增加或减少注释行来改变配置。   编辑menu.lst,一般会有以下各行 timeout second   设定在second秒之后引导默认的操作系统。如果设成-1,则grub会一直等待直到用户选择一个选项为止。 default num   默认启动第num+1行选项,也就说default=0则默认启动菜单第一行的操作系统,default=1则启动第2行的系统,如此类推。 splash pathname/filename   指出开机画面的文件所存放的路径和文件名,如splash /boot/logo/800x600x8.img,是指用在/boot/logo路径下的800x600.img文件作为开机画面 title OSname title   后面的字符就是你在菜单项上所看见的选项,你可以写上操作系统的名字和描述,如用title BluePoint linux, Single Mode代表这一选项是引导蓝点Linux的单用户模式。   下面结合两个系统引导描述来解释几个引导选项的意义 title BluePoint Linux, Default Mode root (hd0,1) kernel /boot/vmlinuz vga=auto root=/dev/hda2 hd0是指第一个硬盘(主硬盘) (hd0,1)是指第一个硬盘的第二个分区。 kernel /boot/vmlinuz 是指出Linux核心的路径在/boot/vmlinuz中。vga=auto 是设定显示模式,root=/dev/hda2是指把第一个硬盘的第二个分区作为根挂载点(”/”)。 title Microsoft Windows root (hd1,0) chainloader (hd1,0)+1 root (hd1,0)这是指第二个硬盘(从硬盘)上第一个分区 chainloader (hd1,0)+1 装入一个扇区的数据然后把引导权交给它。


一、菜单命令 菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。 1、default //设置默认启动的菜单项 2、fallback //设置启动某菜单项失败后反回的菜单项 3、hiddenmenu //隐藏菜单界面 4、timeout //设置菜单自动启动的延时时间 5、title //开始一个菜单项 二、常规命令 常规命令可以应该于配置文件和grub命令行交互界面,可使用的常规命令有 1、bootp //通过bootp初始化网络设备 2、color //设置菜单界面的颜色 3、device //指定设备文件作为驱动器 4、dhcp //通过DHCP初始化网络设备 5、hide //隐藏某分区 6、ifconfig //手工配置网络设备 7、pager //改变内部页程序的状态 8、partnew //新建一个主分区 9、parttype //改变分区的类型 10、passWord 为菜单界面设置口令 11、rarp //通过RARP初始化网络设置 12、serial //设置串口设备 13、setkey //设置键盘映射 14、splashimage //设置GRUB启动时的背景图片文件 15、termainal //选择终端类型 16、tftpserver //指定TFTP服务器 17、unhide //还原某隐藏分区 三、命令行和菜单项命令 命令行和菜单项命令可应该于GRUB配置文件的菜单项设置中,也可以用在GRUB命令交互界面。 1、bolcklist //显示某文件所在分区位置(block list notation) 2、boot //启动操作系统 3、cat //显示文件内容 4、chainloader //把启动控制权软交给另外的启动引导器 5、cmp //比较两个文件 6、configfile //加载已存在的GRUB配置文件 7、debug //设置为debug模式 8、displayapm //显示APM BIOS信息 9、displaymem //显示内存配置 10、embed //嵌入Stage 1.5文件 11、find //查找包括某文件的所有设备 12、fstest //测试文件系统 13、geometry //显示某驱动器的物理信息 14、halt //停止计算机运行(软件关机) 15、help //显示GRUB的命令帮助信息 16、impsPRobe //查询对称多处理器(SMP)的信息 17、initrd //加载initrd文件 18、install //安装GRUB 19、ioprobe //查询某驱动器的输入输出(I/O)端口 20、kernel //引导操作系统内核 21、lock //锁定某GRUB导菜单项,使其输入密码后才可启动 22、makeactive //激活某主分区 23、map //虚拟映射某驱动器 24、md5crypt //使用MD5加密口令 25、module //加载模块 26、modulenounzip //加载模块不进行解压 27、pause //暂停并等待按键 28、quit //退出GRUB 29、reboot //重新启动计算机 30、read //读取内存中的内容 31、root //设置GRUB的root设备 32、rootnoverify //设备GRUB的root设备但不装载文件系统 33、savedefault //保存当前的启动菜单项为默认启动 34、setup //自动安装GRUB 35、testload //从文件系统中测试读取某文件 36、testvbe //测试VESA BIOS EXTENSION 37、uppermem //强制设置主机上位内存的大小 38、vbeprobe //查询VESA BIOS EXTENSION信息

GRUB 里的设备命名法则 它使用了UNIX对设备的命名方法.比如我们拥有两块硬盘,那么采用这种形式(hdx,y), 这里,x,y, 都是从0开始计数的.所以两块硬盘是 (hd0,y),(hd1,y). 他们位于第一个IDE接口上. 对 hd0 来说, 请看下图:

(注, C: 为第一主分区, 其他分区是扩展分区.由于主分区只能有四个,即 0,1,2,3, 所以第一个扩展分区的编号从 4 开始.) 这是硬盘,那么光驱哪? 对,采用 (cd) 就可以了. 网络设备使用 (nd). 我估计,以后支持usb以后,可以使用 (ud). ;-) 欢迎你的参与,我们的开发还在继续.

ROOT的使用格式是:ROOT(HDX,Y) 其中X从0—N,Y也是。第一个硬盘,第一个分区就是(HD0,0),第一个硬盘,第二个分区就是(HD0,1); 第二个硬盘,第一个分区就是(HD1,0),第二个硬盘,第二个分区就是(HD1,1);如此类推,可以知道ROOT的用法了。 ROOT是GRUB识别硬盘和文件格式的命令,告诉GRUB启动设备是什么和启动设备MOUNT的文件格式,以及下一步可以到那里找GRUB的配置文件,启动核心,或启动IMG文件等。 SETUP 和 INSTALL 是安装GRUB 到指定位置如:MBR等,具体可以看HELP文件,没有什么特殊之处。 STAGE1,STAGE2针对不同的的文件系统,都可以到GRUB的包里或/USR/SHARE/GRUB目录里找到,拷到GRUB目录下就可以了。 GRUB.CONF的格式如下: default=0 timeout=10 splashimage=(hd1,2)/boot/grub/splash.xpm.gz title WindowsXP rootnoverify (hd0,0) chainloader +1 title RedHat9 root (hd0,1) kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ initrd /boot/initrd-2.4.20-8.img title Mandrake9.1 kernel (hd1,4)/boot/vmlinuz root=/dev/hdb5 quiet devfs=mount acpi=off vga=788 initrd (hd1,4)/boot/initrd.img default=X为默认启动的系统,0为排在第一个的系统,以此类推。 timeout=X为Grub菜单停留的时间,单位为秒 title XXX,XXX为标题,也就是你要引导的操作系统的名字,可以自己修改 rootnoverify (hd0,0) 告诉 GNU GRUB 您用的 Widnows C 盘在哪里,但同时不要试图将其挂载(‘noverify’,可选项)。    chainloader +1 告诉 GNU GRUB 不要试着自己载入 Windows (自身无法完成),而应该将启动进程交给 C 盘的首扇区,那里含有原始的 DOS/Windows 启动程序。

GRUB引导9个操作系统

title RedHat 73 root (hd0,8) kernel /boot/vmlinuz-2.4.18-3 ro root=/dev/hda9 initrd /boot/initrd-2.4.18-3.img title WinXP rootnoverify (hd0,0) chainloader +1 title SuSe80 rootnoverify (hd1,0) chainloader (hd1,0)+1 title Mandrake82 rootnoverify (hd1,1) kernel /boot/vmlinuz-2.4.18-6mdk root=/dev/hdb2 initrd /boot/initrd-2.4.18-6mdk.img title TurbO-80 rootnoverify (hd1,2) kernel /boot/vmlinuz root=/dev/hdb3 title Mandrake90 rootnoverify (hd1,4) kernel /boot/vmlinuz root=/dev/hdb5 initrd /boot/initrd.img title Red Hat Linux [limbo] root (hd1,5) kernel /boot/vmlinuz-2.4.18-5.58 root=/dev/hdb6 initrd /boot/initrd-2.4.18-5.58.img title Slackware 81 rootnoverify (hd1,6) kernel /boot/vmlinuz root=/dev/hdb7 title Debian rootnoverify (hd1,7) kernel /vmlinuz root=/dev/hdb8

恢复被windows破坏的grub.

如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub. 1.把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。 2.等安装界面出来后,按[F4]键,也就是linux rescue模式。 3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。 4.然后会出现这样的提示符: sh# 5.我们就可以操作GRUB了.输入grub: sh#grub 会出现这样的提示符: grub> 我们就可以在这样的字符后面,输入: grub>root (hdX,Y) grub>setup (hd0) 如果成功会有一个successful…… 这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。


上一篇:MHA自动切换9步走

下一篇:iptables

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表