grub Troubleshooting(系统排错)

RHCE考试之Troubleshooting(系统排错)

一、MBR错误
由于意外原因,主引导记录被破坏,新手安装多操作时系统常发生先装linux再装windows类系统后只能引导win的情况。这种情况下,只需进入rescue模式重安装一次MBR即可。
情况描述:只能进入win类系统或开机后BIOS自检通过后黑屏无任何提示。
二、引导程序错误(RHEL5考试中已经不再考lilo,主要是grub排错)
grub.conf错误。修改了grub.conf后,或者硬盘物理位置和分区发生变化后造成不能正常启动。进入rescue模式,修改grub.conf即可.
grub的一般情况
1、如果没有找到内核(vmlinuz-x.x.x文件),
出现File not found
Press any key to continue....
说明root(hdx,x)错误,或内核文件名不对
2、如果找到内核后,运行一会,
出现kernel Panic:Not init Found,
一般来说是没有找到根分区(/分区)即root=/dev/xxx不对
3、如果找到内核后,运行一会,
出现Kernel panic: VFS: Unable to mount root fs on ...,
一般来说可能忘了加上initrd /initrd-2.4.21-4.EL.img(大多情况发生在使用scsi硬盘)
4、总的来说grub.conf里面必须存在的就几行。
#vim /boot/grub/grub.conf

title linux
root (hd0,0) #/boot分区所在位置
kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/ #内核和根分区(/分区)位置(根分区可能是LVM和raid,而不仅是hdx和sdx,这个看实际情况,有个命令我经常用findfs LABEL=/
initrd /initrd-2.6.18-53.EL.img
平时练习grub.conf菜单文件的最好办法是把这个文件删掉,每次重启时自己使用grub的交互命令行就快就会对文件里面的内容熟悉。

三、/etc/inittab
(一)如果出现INIT: No inittab file found
Enter runlevel:
一般来说就是inittab文件丢失或者有错误。
(二)如果启动基本正常,到了INIT:Entering runlevel: 3
(或者5)后,就开始出现一系列错误,很有可能/etc/inittab文件中si::sysinit:/etc/rc.d/rc.sysinit这一行发生错误由于系统许多模块还没有初始化。
只能进入rescue模式,如果对inittab文件不很熟悉的话,最好把initscripts的rpm包重装一次。默认的/etc/inittab文件应该能正常启动。
(三)
首先进去linux的rescue的模式!
然后使用如下的命令:
rpm -qf --root /mnt/sysimage /etc/inittab
查出该文件属于哪个RPM包!
然后重新安装这个rpm包!
rpm -ivh /mnt/source/搜索出结果的rpm包 --root=/mnt/sysimage --force


四、/etc/fstab
/etc/fstab文件错误(比/etc/inittab文件后出错)
(一)出现WARNING:coundn´t open /etc/fstab: No such file or directory
/etc/fstab文件丢失
/etc/fstab文件不属于任何rpm包,利用fdisk和e2label命令查看根分区(/分区)、/boot、/home、/usr、/var分区(如果有这几个分区),然后编辑/etc/fstab文件。下列办法都可找到/etc/fstab的帮助文件.
1、直接man fstab
2、locate fstab
你会发现有个叫fstab.5.gz的文件,一般在/usr/share/man/man5/fstab.5.gz
可以 man /usr/share/man/man5/fstab.5.gz
或者 zless /usr/share/man/man5/fstab.5.gz
3、rpm -ql mount | grep fstab 也能找到fstab的帮助文件
4、find / -iname "*fstab*" 最笨的办法
如果不是在rescue模式,修改fstab文件时出来Read-only file system咋办?重新装载成读写模式
mount -o remount,rw /dev/sdax /
(二)mount 文件丢失或被替换
mount 文件错误会出现/proc文件相关错误,红字显示很醒目,此时比较麻烦,需进入rescue模式而不是进入输入root口令进行修改,因为根分区现在被mount成只读(ro)模式,你没有mount命令来把根分区mount 成读写的(rw)。
(三)文件系统错误
1、使用fsck进行修复,郁闷的是无论出现什么提示只能选y,要不系统依然有问题。
2、可能文件系统的superblock有问题,把备份的恢复即可。(考试中这种情况几乎不可能)
(四)raid或LVM错误
使用raid和lvm的知识进行修复,如果raid盘或lvm盘中没有数据,则可把/etc/fstab中提到的/dev/mdx和/dev/xxxxxx/xxx相关的注释掉
(五)quota设置错误 大不了把/etc/fstab中的usrquota和grpquota全部关闭。
FIXME:是否还有其他发生错误的可能?
五、/etc/inittab
系统反复重启或启动后就关机
设置了错误的runlevel,如0或6
***如果服务基本已经启动完毕却出现***
INIT: no more processes left in this runlevel
可能是没有程序守护 tty1或tty2…………等,即/etc/inittab文件中少了
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6


等等出现这种情况,如果不大明白/etc/inittab的格式,强制重装initscripts的rpm包即可
六、其他daemon错误
情况比较复杂,根据显示出错误信息决定如何修复。
七、xwindow错误
一般来说与/etc/X11/XF86config文件有关,考试中不可能涉及硬盘问题。运行system-config-display一般都能解决,可能发生的问题较多,普通点的就是刷新率,显示模式如800x600等,实在不行就删除/etc/X11/xorg.conf文件,重启系统。

八、root不能正常登录
********密码及PAM相关*******
(一)出现Login incorrect 多半与密码相关
1、的确是密码错误 单用户模式修改
2、root用户被锁 单用户模式 usermod -U root 即可
3、没有root用户,即没有uid为0的用户
4、/etc/securetty文件中没有tty*(*表示1,2,3,4等)
(二)输入用户名和密码后,只见屏幕一闪,那多半与authconfig、pam有关了
1、三轮车夫同志遇到的。authconfig时,选了ldap认证,后来ldap服务器的地址变了后,就无法登录。
解决办法:运行authconfig取消该选项。
2、/etc/pam.d/system-auth中添加了
account required /lib/security/pam_access.so或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等。
解决办法同上,运行authconfig后会自动删掉。
3、/etc/pam.d/login中添加了
account required /lib/security/pam_access.so
或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等。
解决办法:只有手工去查看login文件,运行authconfig后不会自动取消。
4、/etc/pam.d/ 目录中的system-auth或login中的模块文件名有误,模块文件名错误同样会使系统无法登录(考试出现这种情况的机率也太低了吧)
建议发生无法登录的情况时,到单用户或rescue模式,首先查看/var/log/secure和message文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GRUB(GRand Unified Bootloader)是一种常用来管理 Linux 系统启动的引导程序。如果您的 Linux 系统无法正常启动,可以尝试使用 GRUB 修复系统引导。 修复 GRUB 的方法有很多种,其中一种是使用系统安装盘进入 rescue 模式进行修复。这需要您先准备一张 Linux 系统安装盘,然后在启动时按下相应的键进入 rescue 模式,运行下面的命令来修复 GRUB: ``` grub-install /dev/sda grub-install --recheck /dev/sda ``` 也可以使用 boot-repair工具 修复 还有其他一些方法,但不同的 Linux 发行版可能有差异,请参考官方文档或者搜索相关资料。 ### 回答2: 对于Linux系统来说,GRUB是一个非常重要的组件。GRUB(GRand Unified Bootloader)负责在电脑启动时加载操作系统,并提供一个菜单供用户选择启动哪个系统,而且可以在启动时向操作系统传递参数。如果你的Linux系统无法启动,那么很可能是由于GRUB不能正常加载造成的。这时,我们需要使用GRUB修复工具将GRUB修复回原来的状态。 首先在Linux系统中检测一下是否有GRUB引导程序,如果没有,则需要用命令行安装GRUB。如果已经有了GRUB引导程序,则可以使用GRUB修复工具进行修复。 修复GRUB引导程序需要先进入Linux系统,在终端中输入以下命令: sudo update-grub sudo grub-install /dev/sda 其中,/dev/sda是你的Linux系统所在的硬盘。如果你的Linux系统在其他硬盘或分区中,需要将/sda替换成对应的硬盘或分区名。 接下来需要打开GRUB的引导菜单。在电脑启动时,按下Shift键,就可以进入GRUB菜单。在这个菜单中,我们可以选择要启动的操作系统。 如果发现GRUB菜单中缺失了某个系统,那么可能是某个引导文件损坏了。这时需要使用GRUB修复工具进行修复。以下是修复GRUB的步骤: 1. 按下Ctrl+Alt+T打开终端 2. 输入以下命令 sudo apt-get install -y boot-repair 3. 安装完之后启动boot-repair,选择“Recommended repair” 4. 在boot-repair中选择“OK” 5. 等待程序运行,完成后系统将会自动重启。 通过上述步骤,我们就可以修复GRUB,恢复Linux系统的引导程序了。在使用时一定要仔细查看所有命令,以避免误操作。 ### 回答3: Grub是一种系统引导程序,用于启动操作系统。当Grub无法加载或损坏时,系统就无法正常启动。因此,如果你的Linux系统Grub无法正常工作,那么你需要进行Grub修复以确保系统正常启动。 Grub修复需要以下步骤: 1.在Linux系统引导时按下e键打开grub编辑器。在编辑器中,你可以编辑启动选项。 2.在编辑器中,找到以“root=”开头的行。这行指定了根文件系统所在的设备。在行末尾的位置,添加“rw init=/bin/bash”。 3.按Ctrl+X键保存修改并重新启动。此时系统将以单用户模式启动。 4.输入“mount -o remount, rw /”命令以将根文件系统挂载为可写。 5.输入“grub-install /dev/sda”命令,其中“/dev/sda”应替换为你的启动设备。 6.输入“update-grub”命令更新Grub配置文件。 7.重新启动系统并测试Grub是否能正常工作。如果一切正常,那么你的系统就已经修复好了。 总之,进行Grub修复有助于恢复系统对于操作系统的引导能力,确保你的linux系统可以正常启动并运行。如果你发现Grub无法正常工作,那么不要慌张,按照上述步骤进行修复即可。请注意,在进行这些操作之前备份你的数据以避免数据丢失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值