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名称:
#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,这里需要安装这两个,先挂载安装盘
安装好了kernel还需要安装grub:
新安装了grub没有配置文件,需要手动添加
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进行扫描和修复
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,进入以下界面,然后修改需要修改的账户
重启后即可用修改的密码登陆
centos7忘记root密码解决办法
centos7和之前的版本都不一样,
1、启动系统,在GRUB2引导画面,按E键,编辑引导项
2、删除linux16这一行最后的 rhgb和 quiet参数(在UEFI系统中是linuxefi),删除rhgb和quiet这两个参数是为了显示系统信息
3、添加以下参数:rd.break enforcing=0 在64位IBM Power Series是linux这一行尾;在x86-64 BIOS引导的系统中是linux16这一行尾;在UEFI引导的系统中是linuxefi这一行尾
4、按CTRL+X用改变的参数引导系统
5、在/sysroot/文件系统被挂载为只读时,你不能改变密码,因为文件系统为不可写入。重新挂载文件系统为可写入。
mount -o remount,rw /sysroot
6、文件系统被重新挂载为可写,像下面这样改变文件系统的root
chroot /sysroot
7、输入passwd命令,接下来命令行提示改变root密码
8、更新password文件会导致SELinux安全上下文文件错误。键入以下命令在下次系统引导前重新标记所有文件:
touch /.autorelabel
9、重新挂载系统为只读:
mount -o remount,ro /
10、键入exit命令退出chroot环境:
exit
11、再次键入exit命令完成初始化,完成系统引导。
exit
至此,密码修改成功,完成最后一步exit后会等待时间长一点,然后便会进入启动页面输入root用户的密码后可以成功登陆了。
centos输入密码提示module is unknow
按照重置root密码步骤chroot /sysroot后进入系统的root环境,查看日志/var/log/secure
PAM unable to dlopen(/lib/security/pam_limits.so) PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32] PAM adding faulty module: /lib/security/pam_limits.so pam_unix(login:session): session opened for user Oracle by LOGIN(uid=0) Module is unknown
后来发现我的系统里/lib/security/pam_limits.so这个文件,造成系统登录时候,找不到这个文件,所以出错。
修改文件,vi /etc/pam.d/login,将第一条语句注释掉:
#session required /lib/security/pam_limits.so
session required pam_limits.so