UBUNTU中GRUB的配置(转载)

UBUNTU中GRUB的配置

Ubuntu的/boot分区是启动分区,即内核文件所在地。GRUB的配置文件就存在此目录中,/boot/grub/menu.lst就是grub的配置文件,此文件有启动时grub程序进行读取,然后根据v此文件的内容启动相应的操作系统。一旦此文件发生错误,则可能会使系统启动失败,将进入GRUB的命令模式。
关于GRUB的配置
在终端中运行$sudo gedit/boot/grub/menu.lst命令就会显示配置的详细信息,其中#后的内容为注释。去掉注释,其中重要的主要信息有:
==============================================================================
default       0
timeout     3
hiddenmenu
title       Ubuntu 9.04, kernel 2.6.28-11-generic
uuid           bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel         /vmlinuz-2.6.28-11-genericroot=UUID=5e0cc8d2-2b7f-41a5-aa58-acc670569b5f ro quietsplash 
initrd           /initrd.img-2.6.28-11-generic
quiet

title             Ubuntu9.04, kernel 2.6.28-11-generic (recovery mode)
uuid           bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel         /vmlinuz-2.6.28-11-genericroot=UUID=5e0cc8d2-2b7f-41a5-aa58-acc670569b5f ro single
initrd           /initrd.img-2.6.28-11-generic

title           Windows 95/98/NT/2000
root           (hd0,0)
makeactive
chainloader     +1

title       Ubuntu 9.04, memtest86+
uuid           bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel         /memtest86+.bin
quiet
==============================================================================
上面的选项的作用:
(1)default0:此选项是在默认的情况下,GRUB启动哪个操作系统,如果装了多个操作系统,GRUB能够指定默认是启动那个操作系统。如果是0,则默认启动第一个(最上面的)的操作系统;如果是1,则默认第二个,以此类推。
(2)timeout3:超时时间,单位是秒,在此时间内如果用户没有进行任何操作,那么将启动default指定的操作系统,如果是正数,则此等待时间规定为秒数,如果是0,则立刻进入指定操作系统,如果是负数,则进入GRUB的程序界面,一直等待用户选择进入指定的操作系统。
(3)hiddenmenu:表示隐藏GRUB的程序界面,在Ubuntu系统中,默认情况下GRUB的程序界面是隐藏的,如果想显示,则需要按提示按下Esc键。
(4)title       Ubuntu 9.04, kernel2.6.28-11-generic:表示出现在GRUB程序界面中的字符串,这里可以是任何字符串,原则上都使用引导的操作系统的名称。
(5)root(hd0,1):这个是GRUB中分区的表示方法,GRUB程序中分区的表示方法与Ubuntu系统中的表示分区方法不同,在Ubuntu中表示分区的方法如同hda1:其中h表示IDE硬盘,d表示设备,a表示第一个IDE设备中的主盘,1表示此硬盘的第一个主分区(具体分配信息请查阅其他有关资料)。而在grub中是使用(hd0,1)的方式表示的,其中h表示IDE硬盘,d表示设备,0表示第一块IDE设备中的主盘,1表示此硬盘上的第二个分区。因此在GRUB程序v中,硬盘的分区是从0开始的,而硬盘数也是从0开始的,如Ubuntu系统的hdb5在GRUB程序中就表示为(hd1,4)。注意,前面的root表示的是操作系统的启动分区,而不是root目录。
(6)kernel:kernel及其后面的部分指定的是具体的内核文件,并且根据分区的挂载点和特性,后面指定了内核文件所在位置以及内核文件名,并且指明了跟目录所在的分区,并且将其以只读(ro)方式挂载。
(7)initrd:这部分是虚拟磁盘的文件名。
(8)chainloader+1:存在Windows操作系统的时候就会有这一项,这是Ubuntu采用的链式启动引导器,即表示启动分区有GRUB的启动分区直接下移到下一个位置(windows的引导位置)。
通过对GRUB的配置文件menu.lst的配置,可以很容易对启动的操作系统进行控制(在此文件中有大量#表示的详细说明)。
GRUB安全设置
如果希望其他人进入某些系统中来,可以通过给GRUB设置密码实现。设置密码后,如果进入操作系统时就会出现下面信息:
Boting Ubuntu 9.04, kernel 2.6.28-11-generic

lock

Error 32:Must be authenticated

Press any key to continue...
这时候需要按任意健进入到GRUB程序界面,然后再按“p”健输入密码方可进入。
使用grub-md5-crypt命令可以给GRUB设置密码。
kaavield@Ubuntu:~$ grub-md5-crypt
Password:
Retype password:
$!fdfWWo$QxJqS1sSDNcJg1DkZqs$x2
kaavield@Ubuntu:~$ grub-md5-crypt >passwd
kaavield@Ubuntu:~$ 
使用grub-md5-crypt命令可以产生密码,因为小v要将产生的密码添加到menu.lst文件中,所以可以使用命令重定向将密码保存,设定完密码后将声称的密码添加到menu.lst文件中,添加方式如下:
password --md5 生成的密码值
然后在不想让用户随便进入系统Title下面添加“lock”便可将此系统锁住,这样其他不知道GRUB密码的用户就不能进入相应的操作系统了。
GRUB命令行
GRUB配置文件可能因某些原因出现问题,这样就导致系统后直接进入GRUB的命令行而步伐直接进入操作系统:
=======================================================================
GNU GRUB version 0.97 (638k lower / 16178k upper memory)
[ Minimal BASH-like line editing is supported.  For
the   first   word, TABlists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub> 

=======================================================================
此时可以通过GRUB命令直接指定操作系统的启动分区和内核文件来启动操作系统。GRUB程序的主要作用就是在系统启动开始找到引导分区和内核文件,因此我们能够直接输入启动和内核文件名,就可以启动操作系统,找到启动分区,在GRUB程序命令行界面中,先进行如下操作:
grub>root (hd
然后按Tab键,这时系统就会提是所有存在的硬盘的引导分区,如果只有一块硬盘,那么肯定就是此盘了,显示如下:
grub>root (hd       #Tab
hd0
此是输入0,然后再按两次回车健,将此硬盘的所有分区列出来。
这时要记得自己Ubuntu所安装分区,根据提示,选择所在分区。
这样就指定了Ubuntu系统的启动分区,然后接着指定的内核文件。如果暂时记不清内核文件的名字,则可以通过find命令找到menu.lst文件,查看其写法,(如果此文件也没有了,那么需要自己写一个),使用find命令查找menu.lst文件操作如下:
grub>find /boot/grub     #Tab
Possible files are:device.map stage 1 stage2.....menu.lst
找到此文件后,可用cat命令查看其内容:
grub>cat /boot/grub/menu.lst #Tab
=========================
=..............................................=
=..此处显示menu.lst文件内容...=
=========================
此时就可以按照menu.lst文件中内容进行指定内核的操作了,操作如下:
grub>〔此处输入menu.lst文件中的“kernel/boot/vmlinu...."一行再按回车键〕
grub>〔输入menu.lst文件中的”initrd/boot....."一行〕
grub>boot
在上面输入boot命令后回车即可启动Ubuntu系统了。

其他错误

如果先装了Ubuntu系统,然后安装了Windows操作系统,那么Windows操作系统的启动应道程序会将MBR中的GRUB引导程序覆盖掉,因此小v要重新将GRUB安装到MBR中去,这时需要用光盘修复模式进入系统。
插入光盘后出现如下选项:
Install to the hard disk

Check CD for defects

Rescue a broken system (选择此项)

Memory test

Boot from first hard disk
选择第三项Rescue a broken system进入光盘修复模式后执行命令:
#grub-install /dev/hda
重新安装GRUB后,退出重新启动系统,即可实现GRUB对Linux和Windows的多系统引导。对于具体情况选择合适的参数。

GRUB选项设置错误

如果启动的时候显示,“Error15”显示系统无法找到grub.conf中指定的内核。根据提示信息可发现因为打字错误,内核文件的“vmlinuz"打成了其他字符,这是很多初学者在修改GRUB设置时很容易犯的一个错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值