⑴ linux开机如何进入grub界面
我不知道大家为什么都说按esc键,我按esc键就没有任何反映,重点是一定要用鼠标把虚拟机当前系统窗口点为激活状态,也就是说虚拟机系统窗口看不到鼠标了,然后你再按“任意键”就可以进入可选菜单了,说一下我的环境
VMware15Pr 安装在win10操作系统上
CentOS 5.11 安装 在VMware虚拟机上
从虚拟机开启linux想要进入启动时的grub需要注意几个点:启动菜单是否配置好,手速是否够快,系统蓝色窗口是否被鼠标激活等,说明如下~~
/boot/grub/menu.lst(或者/boot/grub/grub.conf),此文件是否timeout参数设置过小,默认是5秒,如果你手速不够快的话,可以改成10或者20秒。不够快的话系统会默认进入可选菜单的第一项
hiddenmenu参数默认开启,也就是说默认菜单选择界面是不显示的,只显示蓝色界面(当然你手速够快也没啥大问题),如果想开机显示可选菜单就把这个参数给注释掉,前面加上# 变成 #hiddenmenu
以上都没有问题后,在蓝色界面出现时按任意键就能够进入可选菜单,这时按下方界面说明 按e、a、c、b等键可进行grub命令控制或者修改你的menu.lst文件
⑵ linux系统管理之grub引导
什么是GRUB
GNU GRUB 是一个多重操作 系统 启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而来。GRUB 最初由Erich Stefan Boleyn 设计和应用;
系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;
Linux 中GRUB的配置文件
grub的配置文件位于/boot/grub/grub.conf其内容如下。
default=0 //默认启动的内核或者说默认启动的操作系统,0表示的是第一个内核或者操作系统,依次往后排(title所指定的那一项,第一个title是0,第二个是1,依次)
timeout=5 //默认的超时时间,这里定义的是5秒,如果5秒没有选择,默认启动第一个内核或者说是第一个操作系统
splashimage=(hd0,0)/grub/splash.xpm.gz //指定grub的背景图片,因为grub是系统开机后,运行系统所必须运行的第一个程序,所以,系统所自带的文件系统还没有被挂载,好在grub可以直接访问磁盘文件,grub所识别的硬盘跟linux系统的不太一样,grub认为,所有的磁盘都是hd的,而系统则不是。所以这里是(hd0,0),第一个0表示的是第一块硬盘,第二个0表示的是第一个分区。如果要引用磁盘设备,要用括号括起来,所以这里有一个括号。
hiddenmenu //隐藏grub菜单,如果有这一项,我们将看不到grub的菜单,只能看到grub的背景图片,然后上面出现了一个 please any key to enter the menu 下面是 Booting <default=0指定的,默认是第一个title的内容> in <timeout=N 超时时间设置>... 这样子。具体的看下面的图

然后可以通过按任意键,进入grub的菜单。如果有多个内核的话,我们可以选择启动哪一个内核。下图是grub的菜单

下面的英文内容,相信大家也看得懂。我就不多说了。通过编辑这里的grub菜单,我们可以直接进入单用户模式,然后修改密码。忘记密码的时候,可以试下这个方法。
title Red Hat Enterprise Linux Server (2.6.18-164.el5) //这就是一个标题,就是Grub菜单上所显示的内容,title关键字后面的内核,可以随便写,为了方便识别,建议还是写一些可以从字面意义看出是什么操作系统或者内核的文字描述。
root (hd0,0) //把hd0,0设置为根目录,方便访问.设置文件访问的起始点,这里设置的根,是grub的根。
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet //指定内核文件,在内核后面跟的root,指的是操作系统的根目录在哪儿. rhgb是redhat的一个小工具,显示各种输出的信息,包括硬件的初始化,quit表示是静默模式,不输出信息.启动系统的时候会卡一下,然后出现redhat就是因为没有显示rhgb小程序的输出信息.
initrd /initrd-2.6.18-164.el5.img //可以认为这是一个驱动程序,系统刚开机的时候,Grub第一个启动,要挂载文件系统,就要从文件系统里面读取驱动,如果驱动在内核里面还好,如果不在内核里面了,那不就……所以,这个可以认为是一个驱动。其实,他是一个微小的linux系统,这个系统里面,只包含了驱动程序,没有其它文件。可以先把它重命令为.gz的,然后解压,解压后再用cpio解压,就可以看到其内容了。目录结构跟你的linux系统是一样的,只不过没有文件,只有驱动程序而已。
刚才说过,可以直接通过这里改密码,这样是很不安全的。也就是说,如果别人能接触到我们的物理服务器,他就可以直接更改我们系统的密码,所以,我们可以给grub 加密 码,加密码的方法就是直接在grub.conf中指定,可以用关键字password 后面跟密码来实现,但是这样的密码是明文的,也不安全,所以我们可以用password --md5 通过grub的md5加密工具来加密,然后写到password --md5的后面。grub的md5加密工具是grub-md5-crypt ,直接使用这个命令,输出密码,然后会生成一段MD5加密后的值,写到关键字后面就可以实现md5加密grub了。
写的位置的不同,加密的效果也就不一样,我们可以写到一个title里面,只对指定的内核或者说操作系统来加密,当启动该内核或者系统的时候,会要求用户输入grub的密码。当写在所有的title外面的时候,编译grub菜单的时候,会要求输入密码,这时候密码先按p键输入密码,然后再按e键,才能编辑。
手动安装GRUB
安装grub有两种方法可以使用。下面进入详细的介绍,如果某些地方说的不太准确,希望大家能够提出,TKS
第一
可以使用grub-install命令来进行安装,具体方法是
grub-install --root-directory=/要安装到哪个目录 /要安装的设备
例:我这里用 虚拟机 演示一下,新加了一块磁盘,然后分区格式化(该操作不演示),然后挂载,然后用命令安装,如下图
x
注意:这里挂载点一定是boot目录,可以不是/mnt,但最后挂载的目录名字,一字叫boot,不然会出问题的。还有安装的时候--root-directory=一定不要指定到boot目录,要指定到boot所在的目录,因为grub安装的时候,会去找boot目录,如果找不到,会报错的。当我们把盘挂载到boot之后,可以认为,该盘的名字就叫boot,所以,它会在该盘内写入bootloader,以引导系统,如果我们安装的时候指定到了boot,那么就是把bootloader的内容写到了文件里面,而不是硬盘的MBR。切记切记。我做了好多次都没做出来,就是犯了这个错。
安装完成后,我们新建一个虚拟机,创建磁盘的时候,使用已有磁盘,找到我们安装过grub的磁盘,然后使用之即可。开机之后,会惊喜的发现,出现了grub的提示符。

第二种方法(有点儿麻烦):
首先把 /usr/share/grub/i386-redhat/里的所有文件,拷贝到grub目录
注意:这里同上,一定要挂载到boot目录下,无论boot目录在哪

然后开始grub的安装,直接使用命令grub

root (hd2,0) 表示grub要安装到第三块硬盘第1个分区上
setup (hd2) 指定要安装的设备,设备为第二块硬盘,安装完成后quit命令退出就可以了,至于图片,我就不上了,绝对是可以的。
⑶ Linux 修复grub开机引导(ubuntu)
问题 : 有时候Linux系统/boot分区损坏时,启动Linux系统时直接进入字符接口的grub引导,并没有进入到系统或者开机显示 error:unknow filesystem提示
解决办法:
Linux开机自动会进入到grub引导接口(如果没进入到grub引导接口可以按C键进入)
第一步:找到系统对应的扇区及/boot/grub目录
注意 :假设是硬盘接口类型sd,hd0对应是sda hd1对应是sdb
(hd0)≠(hd0)
(hd1,gpt2)=(hd1,2)
ls (hd1,gpt2) 查看(hd1,gpt2)扇区信息(盘符、空间等)
ls (hd1,gpt2)/ 查看(hd1,gpt2)扇区下的内容(文件、文本等)
如果打印每个扇区目录信息,会出现两种情况:
1、ls (hd1,gpt2)显示Unknow filesystem提示说明这个扇区不是我们要找系统分区
2、ls (hd1,gpt2)显示/boot /proc等系统目录信息说明这个扇区是我们要找的系统分区
如果找到对应扇区的系统分区,可能会遇到两种情况:
1、 A目录下有/boot/grub
2、A目录下有/boot,B目录下有/grub (此时在第二步加载系统内核要使用 set prefix=(hd1,gpt2)/grub 命令)
grub > ls
(hd0), (hd1), (hd1, gpt1), (hd2,gpt2), (hd3, gpt3)
第二步:加载系统内核
grub > set root=hd1,2 #此处不需要括号,加括号也可以,hd0和hd1是有区别
grub > set prefix=(hd1,2)/boot/grub
grub > linux /vmlinuz root=/dev/sdb2 #vmlinuz必须使用TAB补全(可能有后缀),注意sda或sdb需要看自己的实际情况
grub > initrd /initrd.img-xxx #TAB补全,多内核情况下版本需统一
grub > boot
提示 :如果在boot之后不幸进入BusyBox,说明参数设置有问题,可以仔细查看出错的日志,再重启系统后重复执行第二步操作(重启系统后上面设置的参数会被清空)。
第三步:修改grub引导
如果成功进入系统,记得要马上信息grub引导,不然重启系统后问题还是存在
sudo update-grub2 #grub2命令(高版本使用grub2)
$ sudo grub-install /dev/sdb
第四步:重启系统
重启系统后即可正常进入系统
reboot
⑷ LINUX系统grub常见错误分析
你还在为不知道LINUX系统grub常见错误分析而烦恼么?接下来是我为大家收集的LINUX系统grub常见错误分析,希望能帮到大家。
LINUX系统grub常见错误分析
1 : Filename must be either an absolute filename or blocklist
解释 :1号错误表示文件名格式错误。在 GRUB 中要么是以绝对路径给出文件
例子 :
grub> kernel vmlinuz root=label=/
Error 1: Filename must be either an absolute pathname or blocklist
grub>
引用:
2 : Bad file or directory type
解释 :2号错误表示命令期望的是一个普通文件,但相应文件名的对象是一个符号链接、目录、FIFO
例子 :
grub> kernel /testdir root=LABEL=/
Error 2: Bad file or directory type
grub>
引用:
3 : Bad or corrupt data while decompressing file
解释 :3号错误表示解压文件时发生错误。可能是因为这个文件被损坏了
引用:
4 : Bad or incompatible header in compressed file
解释 :4号错误表示压缩文件的头部格式不被兼容或者错误
引用:
5 : Partition table invalid or corrupt
解释 :5 号错误表示分区表无效或者被破坏。这是一个不好的预兆
引用:
6 : Mismatched or corrupt version of stage1/stage2
解释 :6号错误表示 install 命令发现 stage1 和 stage2 的颁布号不被兼容
引用:
7 : Loading below 1MB is not supported
解释 :This error is returned if the lowest address in a kernel is below
the 1MB boundary. The Linux zImage format is a special case and
can be handled since it has a fixed loading address and maximum size
引用:
8 : Kernel must be loaded before booting
解释 :8号错误表示执行 boot 命令之前没有先执行 kernel 命令
引用:
9 : Unknown boot failure
解释 :9 号错误表示未知的引导错误
引用:
10 : Unsupported Multiboot features requested
解释 :10 号错误表示请求 Multiboot header 所要求功能不被 GRUB 所支持。
引用:
11 : Unrecognized device string
解释 :11 号错误表示无法识别的设备字符串。
例子 :
grub> root hd0
Error 11: Unrecognized device string
grub>
引用:
12 : Invalid device requested
解释 :12 号错误表示请求的设备无效
例子 :
grub> root (hd2)
Error 21: Selected disk does not exist
grub> kernel /grub/grub.conf root=LABEL=/
Error 12: Invalid device requested
grub>
引用:
13 : Invalid or unsupported executable format
解释 :13 号错误表示无效或者无法识别的可执行格式
例子 :
grub> kernel /grub/grub.conf root=LABEL=/
Error 13: Invalid or unsupported executable format
grub>
引用:
14 : Filesystem compatibility error, cannot read whole file
解释 :14 号错误表示文件系统兼容性错误,无法读取整个文件
引用:
15 : File not found
解释 :请求的文件无法找到
例子 :
grub> find /grub-noexist/grub.conf
Error 15: File not found
grub>
引用:
16 : Inconsistent filesystem structure
解释 :16 号错误表示不一致的文件系统结构。可能是文件系统结构被破坏了。
引用:
17 : Cannot mount selected partition
解释 :17号错误表示无法挂载指定分区。例如 swap 分区
例子 :
grub> root (hd0,2) 这是一个 swap 分区
Filesystem type unknown, partition type 0x82
grub> kernel /vmlinuz
Error 17: Cannot mount selected partition
grub>
引用:
18 : Selected cylinder exceeds maximum supported by BIOS
解释 :18 号错误表示选择的柱面超过了 BIOS 支持的最大能力。这通常发生在不支持 LBA 模式
的硬盘上。
引用:
19 : Linux kernel must be loaded before initrd
解释 :19 号错误表示执行 initrd 命令前必须先执行 kernel 命令
引用:
20 : Multiboot kernel must be loaded before moles
解释 :20 号错误表示执行 mole 或者 moleunzip 命令前必须先执行 kernel 命令
引用:
21 : Selected disk does not exist
解释 :21 号错误表示选择的磁盘不存在
例子 :
grub> root (hd2)
Error 21: Selected disk does not exist
grub>
引用:
22 : No such partition
解释 :22 号错误表示分区不存在
例子 :
grub> root (hd0,10)
Error 22: No such partition
grub>
引用:
23 : Error while parsing number
解释 :23 号错误表示参数解释错误,希望是一个数值,但参数却是其他类型
例子 :
grub> root (hda,0)
Error 23: Error while parsing number
grub>
引用:
24 : Attempt to access block outside partition
解释 :24 号错误表示尝试访问的 block 超出了分区
引用:
25 : Disk read error
解释 :25 号错误表示磁盘读错误
引用:
26 : Too many symbolic links
解释 :26 号错误表示太多的符号连接(默认最多允许5个)
引用:
27 : Unrecognized command
解释 :无法识别的命令
引用:
28 : Selected item cannot fit into memory
解释 :选择的对象无法被加载到内存中。
例子 :
[root@monitor boot]# dd if=/dev/zero of=vmlinuz-2.4.20-31.9 bs=1024 count=1 seek=1
读入了 1+0 个块
输出了 1+0 个块
[root@monitor boot]#grub
grub> kernel /vmlinuz-2.4.20-31.9 root=label=/
[Linux-bzImage, setup=0x1400, size=0xfffff200]
Error 28: Selected item cannot fit into memory
grub>
引用:
29 : Disk write error
解释 :磁盘写错误
引用:
30 : Invalid argument
解释 :无效参数
例子 :
grub> serial --noarg=0
Error 30: Invalid argument
grub>
引用:
31 : File is not sector aligned
解释 :This error may occur only when you access a ReiserFS partition by
block-lists (e.g. the command `install'). In this case, you should
mount the partition with the `-o notail' option.
引用:
32 : Must be authenticated
解释 :要求输入口令才能继续进行下面的操作。例如配置文件中有 password 或者 lock 命令
例子 :
password root1234
title DOS
lock
rootnoverify (hd0,0)
chainloader +1
引用:
33 : Serial device not configured
解释 :33 号错误表示串口还没有配置。这一般发生在你执行 terminal serial 的时候
引用:
34 : No spare sectors on the disk
解释 :磁盘自由空间不足。可能发生在把 stage 1.5 嵌入到 MBR 之后的空间的时候。但这部分空间可能已经被分区表使用了
看了“LINUX系统grub常见错误分析”还想看:
1. linux系统能看到Grub但进不了系统问题及解决方案
2. 开机就是GURB无法进入系统的解决办法有哪些
3. Ubuntu更新GRUB怎么恢复系统引导
4. Ubuntu怎么删除grub
⑸ Linux grub
GRUB无法引导启动项了,直接显示为
GRUB>
--这时候不知道该怎么办了,然后google了下,解决办法如下
在提示符‘GRUB>’后输入find
/grub/stage1
查找到结果为(hd0,6)
--
这个命令其实就是找出/boot所在分区
运行
grub>root
(hd0,6)
(这个位置要填上你机子上的运行结果)
运行grub>setup
(hd0)
出现几行提示文字,最后是“...
succeeded”
修复成功
好了,重启系统
...
它还是从(hd0,5)找寻启动项
靠,我设置了的还出问题,没法了,先进入xp系统,运行无损分区工具,把E盘合并到D盘,
好了,现在linux
/boot分区就在hda5下了,重启电脑
糟糕,还是不能引导,而且进不到‘GRUB>’下了,卧槽...
再次google,好有结果了,linux系统盘进入救援模式
开始行动:
放入RHEL5系统盘,屏幕显示boot后
输入linux
rescue
进入救援模式
出现提示符: sh#后我们就可以操作GRUB了
sh#grub
grub>
grub>find
/grub/stage1
这次得到结果为(hd0,5)
grub>root
(hd0,6)
grub>setup
(hd0)
. ..
succeeded
好了,再次重启电脑
哈哈,久违的GRUB启动项又回来了,OK...
进入RHRL5吧...
⑹ Linux 如何修改 Grub
要修改grub,请注意以下几个重要文件:
1. /boot/grub/grub.cfg
此档案中包含了GRUB选单资讯。
注意他的开头,说明了这是由/etc/grub.d与/etc/default/grub所生成的,不要自己编辑。这个档案还是唯读属性,就是要避免你直接去编辑。
若是你修改了这个档案,只要更新核心,或是以指令更新grub选单,之前的修改就会被覆盖掉。所以除非不得已,请不要去动这个档案。要修改,请继续往下看。
2. /etc/default/grub
此档案为使用者修改grub设定的主要档案,真的改烂了请不要急,在/usr/share/grub/default/里还有一份,复制回来即可。
要修改这个档案,请输入
sudo gedit /etc/default/grub
3. /etc/grub.d目录
此目录放置档案,会在sudo update-grub时,合并到/boot/grub/grub.cfg中。
注意这些档案名称结构,前面都有数字。数字越小的,在合并时放在越前面。常有人问到,grub menu要怎么更改选项的顺序?就是更改数字的大小。
此外请你在这目录下输入ls -l,看一下各档案的属性,有没有看到都有x属性(可执行)?变动x属性,可以决定这个选项要不要出现在选单内。
以下介绍 /etc/default/grub 所使用的参数,我只介绍大家比较会去修改到的。
1. GRUB_DEFAULT - 设定预设选单选项。有以下几种作法。
GRUB_DEFAULT=0 以位置来设定预设选单选项。第一笔选单选项为 0,第二笔为 1,以此类推。
GRUB_DEFAULT="xxxx" 在此例中,选单中的位置不会有影响。例如:GRUB_DEFAULT="Ubuntu, Linux 3.11.0-13-generic"。注意要完整全称。
GRUB_DEFAULT=saved 由储存预设的作业系统开机。可以用grub-reboot和grub-set-default指令来设定预设作业系统。预设作业系统不会由来自选单中的互动式选择而被设定。
sudo grub-set-default 0 以位置来设定预设选单选项。第一笔选单选项为 0,第二笔为 1,以此类推。
sudo grub-set-default "xxxx" 以选单名称来设定
sudo grub-reboot 0 以位置来设定下次重启开机选项。第一笔选单选项为 0,第二笔为 1,以此类推。
sudo grub-reboot "xxxx" 以选单名称来重启开机
2. GRUB_HIDDEN_TIMEOUT - 此设定用来决定GRUB选单会有多长时间不被显示。
GRUB_HIDDEN_TIMEOUT=0 在单一作业系统电脑中,会立刻以预设作业系统开机。在只有一个作业系统状况下,这是预设的设定。假如还是要显示选单,请在这行前加上 # 注销掉,并确认 GRUB_TIMEOUT 设定为正整数。
GRUB_HIDDEN_TIMEOUT=X x为秒数,空白画面几秒后,系统将会依照预设开机,不会出现选单。当萤幕是空白时,使用者可以按下任何键以显示选单。
3. GRUB_HIDDEN_TIMEOUT_QUIET - 在空白画面时,是否显示倒数计时器
GRUB_HIDDEN_TIMEOUT_QUIET=true '不'显示计时器
GRUB_HIDDEN_TIMEOUT_QUIET=fault 显示计时器
4. GRUB_TIMEOUT - 选单显示多久之后自动以预设作业系统开机
GRUB_TIMEOUT=10 10秒后以预设系统开机
GRUB_TIMEOUT=-1 持续显示选单,直到使用者选择
5. GRUB_GFXMODE - 设定grub选单显示的分辨率。一般是注解掉。
GRUB_GFXMODE=640x480 以640x480模式显示。
除非开机时选单显示就有问题,不然不要启用这个参数,据说会影响进入grub选单的时间。真的要启用,后面的数值请依照你显卡可以支援的模式填入,如1280x1024x16,800x600x24,640x480
6. GRUB_DISABLE_LINUX_RECOVERY - 救援模式要不要显示?
你在选单中是不是都有看到救援模式(recovery mode)?假如你的电脑一向稳定,而且你不太会去动到系统,可以考虑去除 # 注解
GRUB_DISABLE_LINUX_RECOVERY=true '不' 显示救援模式
7. GRUB_DISABLE_OS_PROBER - 对其他分割区作业系统的检查
大家应该都知道sudo update-grub可以找到在其他分割区的作业系统,制成选单。但有时我就是不想要他显示到选单内,那怎么办?那注销掉这一行就可以不检查其他分割区有没有作业系统。
GRUB_DISABLE_OS_PROBER=true '不'检查其他作业系统
8. GRUB_BACKGROUND - 背景影像所在。这个参数,需要自行加入。
GRUB_BACKGROUND= 以/usr/share/background/xxx.jpg当作选单背景。可以.png, .jpg, 或.tga等格式
⑺ linux开机grub>命令修复方法
出现grub rescue模式一般是硬盘分区出现变动、导致旧的grub找不到启动文件而出现的。
出现错误具体原因未知,但开机不能引导肯定是grub配置文件出错,/boot/grub2/grub.cfg
解决方法:
2,grub> 模式下:输入:ls 查看所有磁盘分区:hd。x,x......用:ls hd(x,x)/grub 找grub所在的分区,有正确执行结果的便是找到linux所在分区后执行setprefix=hdx,x/grubsetroot=hx,x、insmod normal再使用normal命令进入系统后,再修复grub 配置。or:查找boot分区:find /boot/grub/menu.lst 或者 find /boot/grub2/grub.cfg
输入以下命令:cat hd0,7/boot/grub/grub.conf 关于内核信息的,看一下就明白了。按照下面命令依次输入指定/boot分区使用命令:grub>root hd0,0grub>kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回车grub>initrd /boot/initrd-2.6.18-53.el5.img 回车boot 回车启动
⑻ 了解Linux下的Grub
grub相关配置文件:
[root@lyy
grub]#
ll
总计
199
-rw-r--r--
1
root
root
60
10-26
20:05
device.map
#grub装置对应文件
-rw-r--r--
1
root
root
7584
10-26
20:05
e2fs_stage1_5
#ext2/ext3文件系统之定义档
-rw-r--r--
1
root
root
7456
10-26
20:05
fat_stage1_5
#FAT文件系统之定义档
-rw-r--r--
1
root
root
6720
10-26
20:05
ffs_stage1_5
#FFS文件系统之定义档
-rw-r--r--
2
root
root
195
11-20
12:21
grub.conf
#grub
在Red
Hat的配置文件
-rw-r--r--
1
root
root
6720
10-26
20:05
iso9660_stage1_5
#光驱文件系统之定义档
-rw-r--r--
1
root
root
8192
10-26
20:05
jfs_stage1_5
#文件系统之定义档
-rw-r--r--
2
root
root
195
11-20
12:21
menu.lst
#开机菜单配置文件
-rw-r--r--
1
root
root
6880
10-26
20:05
minix_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
9248
10-26
20:05
reiserfs_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
512
10-26
20:05
stage1
-rw-r--r--
1
root
root
104988
10-26
20:05
stage2
-rw-r--r--
1
root
root
7072
10-26
20:05
ufs2_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
6272
10-26
20:05
vstafs_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
8904
10-26
20:05
xfs_stage1_5
硬盘与分区在grub中的代号
grub主程序主要是从磁盘中加载核心档案,所以它必须认识硬盘。grub对硬盘的代号设定与
传统的linux磁盘代号可完全是不同的,如:
(hd0,0)
硬盘代号以小括号()包起来;
硬盘以hd表示,后面会接一组数字;
以【搜寻顺序】做为硬盘的编号,而不是依照硬盘线的排序;
第一个搜寻的硬盘为0号,第二个为1号,以此类推;
每颗硬盘的第一个分区代号为0,依序类推。
第一颗硬盘的第一个逻辑分区代号为(hd0,4)。
/boot/grub/menu.lst配置文件
[root@lyy
grub]#
cat
menu.lst
default=0
#默认开机,预设第一个title项目
timeout=5
#停留五秒,末动键盘选择认
splashimage=(hd0,0)/grub/splash.xpm.gz
#背景图示所在档案
hiddenmenu
#预设隐藏完整的开机菜单
title
redhat
enterprise
server
5.4
root
(hd0,0)
#核心档案的分区
kernel
/vmlinuz-2.6.18-164.el5
ro
root=LABEL=/
rhgb
quiet
rhgb
initrd
/initrd-2.6.18-164.el5.img
root(hd0,0)
核心档案的分区,而不是根目录。
kernel
后接核心名之后就是核心参数。
root=LABEL=/
挂载/目录
rhgb为彩色显示
quiet安静模式
initrd
后接虚拟文件系统名
其中
root=LABEL=/
可以写成
root=/dev/hda2
一、测试与grub安装
使用grub-install
将一些必要的档案复制到/boot/grub里面去。
例:将grub安装在目前系统的MBR下,我的系统为:/dev/hda
[root@lyy
grub]#
grub-install
/dev/hda
如果grub发生错误,连grub
都无法启动,可以利用具有grub开机的CD来开,然后再以CD的grub
的在线编辑功能使用硬盘上面的核心档案来开机。
二、为个别选单加上密码
例:给系统第一个开机菜单加上用MD5的密码,同时锁定在线编辑功能。
1.建立用MD加密过的密码
[root@lyy
~]#
grub-md5-crypt
Password:
Retype
password:
$1$vX3Mu/$msyisCLVKaZh1offoGYF2.
#经过MD5处理的密码
2.把生成的密码加入到/boot/grub/menu.lst
[root@lyy
grub]#
vi
menu.lst
default=0
timeout=5
hiddenmenu
title
redhat
enterprise
server
5.4
password
--md5
$1$eU4Mu/$0BvMemF2AVPO.BYbh3/e2/
root
(hd0,0)_
kernel
/vmlinuz-2.6.18-164.el5
ro
root=LABEL=/
rhgb
quiet
rhgb
initrd
/initrd-2.6.18-164.el5.img
注意这个密码加在title以下的第一行
3.经过以上简单的步骤,就完成了密码,但grub的在线编辑功能还是可以跳过密码,所以我们
要把在线编辑功能锁住。
default=0
timeout=5
password
--md5
$1$eU4Mu/$0BvMemF2AVPO.BYbh3/e2/
#控制全局
hiddenmenu
title
redhat
enterprise
server
5.4
lock
#加上了这个功能
root
(hd0,0)_
kernel
/vmlinuz-2.6.18-164.el5
ro
root=LABEL=/
rhgb
quiet
rhgb
initrd
/initrd-2.6.18-164.el5.img
三、解决init配置文件错误
我们都知道
run
level
0-6
都会读取/etc/inittab
,如果些文件配置错误,导致无法读取,单用户
run
level也无法读取/etc/inittab进行开机,这时,我们可以告诉核心不要执行init
改呼叫bash。
例:开机在grub菜单中用在线编辑功能,修改以下
grub
edit>
kernel
/vmlinuz-2.6.18-92.el5
ro
root=LABEL=/
rhgb
quiet
init=/bin/bash
这样系统呼叫的第一个程序就改成了/bin/bash,因此/sbin/init就不会执行了。
但此时除了根目录外,其他目录没有被挂载而且根目录成为了只读状态,我们还需要以下命令
来重复挂载根目录
mount
-o
remount,rw
/
#重新挂载成为可擦写
mount
-a
#根据/etc/fstab的内容重新挂载文件系统
作者Liyy学习笔记