RHEL启动引导过程:
GRUB配置文件/etc/grub.conf:
default=0:默认启动第一个系统,后面的一个title对应一个系统,第一个title对应第一个系统,用0表示;第二个title对应第二个系统,用1表示
timeout=5:默认在启动选择界面停留的时间,单位是秒。等待5秒自动进入默认操作系统
splashimage=(hd0,0)/grub/splash.xpm.gz:grub启动背景画面,这个可以不用写
hiddenmenu:隐藏菜单只有按上下键才会出现
title Red Hat Enterprise Linux (2.6.32-279.el6.i686):title后面是系统在启动时候显示的名字
root (hd0,0):root指定内核所在的分区。hd0表示第一块硬盘设备,0表示第一个分区 也是/boot所在的分区
kernel...:内核所在位置和名字,ro 只读;root= 指定根分区是谁(root=LABEL=/;root=UUID=);rhgb 图形化显示启动过程;quiet 静默式启动,不显示dmesg信息
initrd /initramfs-2.6.32-279.el6.i686.img:initrd内核镜象的名字
rhgb:表示redhat graphics boot,就是用图片来代替启动过程中显示的文本信息,这些信息在启动后用dmesg可以看到
quiet:表示在启动过程中只显示重要信息,类似硬件自检的消息不会显示
引导故障修复:
1、grub.conf文件损坏
重启系统停留在以下界面
故障原因:GRUB找到不启动文件
解决方法:
1、手动指定启动文件位置:运行root或者find /vmlinuz-2.6.18-53el5(可以使用TAB补全),搜索vmlinuz所在分区,也就是/boot所在分区
2、指定Linux内核:执行kernel /vmlinuz-2.6.32-279.el6 ro root=LABEL=/ rhgb quiet (结合tab键)
3、指定initrd文件:执行initrd /initrd-2.6.18-53.el5.img
4、引导:执行boot
出现红色的Red Hat字样说明内核加载成功
Tips:1、启动成功后需要在grub.conf把刚才的三行加进去,否则下次还是出现以上界面
2、如果以上还是无法正常进入系统,提示内核恐慌等可以在第二步后面假如参数enforcing=0
提示无法找到root的参数,也就是上面我们使用root=LABEL=/ 这个参数无法找到,解决方法如下:
a、使用安装盘,从救援模式rescue启动,使用chroot切换到硬盘系统(该过程参考下面)
b、修改/的LABEL名称:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2
9.9G 2.4G 7.0G 26% /
tmpfs 504M 0 504M 0%
/dev/shm
/dev/sda1
194M 27M 158M 15%
/boot
/dev/sda5
7.7G 146M 7.2G 2%
/home
# blkid -s LABEL
# blkid -s UUID
/dev/sda1
: UUID=
"4e39be01-2b70-4248-938a-0c38cd244b44"
/dev/sda2
: UUID=
"d8fe6590-fe20-451e-b5b9-dad15893db25"
/dev/sda3
: UUID=
"207ca70d-d291-4e23-841a-1072213f30f2"
/dev/sda5
: UUID=
"d344668f-5a57-41f6-9f20-befc25c021a0"
# e2label /dev/sda2 /
# mount LABEL=/
mount
:
/dev/sda2
already mounted or / busy
mount
: according to mtab,
/dev/sda2
is already mounted on /
# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Nov 13 17:03:47 2013
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
LABEL=/ / ext4 defaults 1 1
UUID=4e39be01-2b70-4248-938a-0c38cd244b44
/boot
ext4 defaults 1 2
UUID=d344668f-5a57-41f6-9f20-befc25c021a0
/home
ext4 defaults 1 2
UUID=207ca70d-d291-4e23-841a-1072213f30f2 swap swap defaults 0 0
tmpfs
/dev/shm
tmpfs defaults 0 0
devpts
/dev/pts
devpts gid=5,mode=620 0 0
sysfs
/sys
sysfs defaults 0 0
proc
/proc
# blkid
/dev/sda1
: UUID=
"4e39be01-2b70-4248-938a-0c38cd244b44"
TYPE=
"ext4"
/dev/sda2
: UUID=
"d8fe6590-fe20-451e-b5b9-dad15893db25"
TYPE=
"ext4"
LABEL=
"/"
/dev/sda3
: UUID=
"207ca70d-d291-4e23-841a-1072213f30f2"
TYPE=
"swap"
/dev/sda5
: UUID=
"d344668f-5a57-41f6-9f20-befc25c021a0"
TYPE=
"ext4"
#
|
再重复上面修复的过程即可,如果以上还是无法修复,可以尝试在第二步指定内核后面增加参数enforcing=0。
2、/boot分区损坏
如果/boot分区损坏重启后出现的界面和以上grub文件损坏一样,如何判断是grub损坏还是/boot分区损坏,在以上第二步指定内核是发现找不到内核参数,此时应如下解决:
a、放入安装盘从光盘启动,进入救援模式:
/boot目录下一个文件也没有,/boot下面主要是grub和kernel,这里需要安装这两个,先挂载安装盘
新安装了grub没有配置文件,需要手动添加
1
2
3
4
|
sh-4.1
#pwd
/boot/grub
sh-4.1
#touch grub.conf
sh-4.1
#vim grub.conf
|
输入两次exit后退出重启,重启后会检测磁盘,过程可能有点长....
友情链接:http://pengyl.blog.51cto.com/5591604/1193973
3、文件系统损坏,提示give root password for maintenance
由于非法重启或硬盘故障,会导致linux系统无法启动,无法进入操作系统。此时我们可以先修复下系统。
在重新启动过程中/dev/mapper/vg_cactiezv10-LogVol00出现文件系统错误,需要手动使用fsck进行扫描和修复
1
2
3
4
5
|
give root password
for
maintenance
(or
type
control-D to
continue
): 输入root密码
[root@localhost ~]
# df -Th #查看文件系统类型
[root@localhost ~]
# fsck.ext4 -y /dev/mapper/vg_cactiezv10-LogVol00 #选择对应的文件系统修复工具修复
[root@localhost ~]
# exit
|
回车后系统即会自动进行修复并于画面显示修复进度;完成后键入"exit"重新启动系统。大部份档案系统都可用此方法修复好,但如系统或重要的系统档案损毁严重,则必须重新安装整个即时,如果不知道哪个分区,就fsck -y修复。
注意的是fsck 扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。警告:如果扫描运行中的系统,会造成系统文件损坏。
fsck.ext4开始进入扫描、修正文件系统,这个过程时间比较长,中间有数次停顿的过程,只需等待即可,千万不要以为死机而重启服务器。fsck.ext4扫描、修正完文件系统后,根据提示可能需要重启系统。如果没有提示重启系统,也需要reboot来重启系统。
fsck执行后的传回值及代表意义如下
0 没有任何错误发生。
1 文件系统发生错误,并且已经修正。
2 文件系统发生错误,并且已经修正。
4 文件系统发生错误,但没有修正。
8 运作时发生错误。
16 使用的语法发生错误。
128 共享的函数库发生错误
root密码重置:
恢复root密码需要在单用户模式下对root账户进行初始化,在系统启动时快速按e-e-e输入single(或者数字1)—enter—b对root账户重新设置密码
1、出现以下界面时候立即按字母键e
之后出现以下界面
2、在以上界面再按字母键e,进入以下界面
3、在上述界面中选中第二行(kernel /vm...)后再按字母键e后进入以下界面
4、在上述界面输入空格 和数字1 或者single
回车后进入以下界面
5、在上述界面中按字母键b,进入以下界面,然后修改需要修改的账户
重启后即可用修改的密码登陆
本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1312998,如需转载请自行联系原作者