Linux下的故障分析

1.处理Linux系统故障的思路:

(1)重视报错提示信息;

(2) 查阅日志文件(一般为/var/log/messages)

(3)分析定位问题

(4)解决问题

2.忘记root密码:

RHEL6 及以前版本:

(1)重启系统至grub引导界面,按ESC键;

(2)光标定位到内核选项,按e 键进入编辑模式;

(3)找到kernel那行,末尾添加single或1,进入单用户模式;

(4)按Enter和b键,引导进入单用户

(5)修改密码,修改完毕重启即可

RHEL 7 : 采用GRUB2 为启动器时,,将无法通过单用户模式重置root密码,重置密码主要有rd.break和init两种方法。

init 方法:

(1)重启系统,并在GRUB2 启动显屏时,按e键进入编辑模式;

(2)在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh

(3)按Ctrl+x启动到shell。

(4)挂载文件系统为可写模式:mount -o remount,rw /

(5)修改密码

(6)如果之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:

touch /.autorelabel

(7)运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启。

rd.break方法:

(1)启动的时候,在启动界面,相应启动项,内核名称上按“e”;

(2)进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;

(3)进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;

mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;

(4)chroot /sysroot/ 改变根;

①echo RedHat|passwd --stdin root 修改root密码为redhat,或者输入passwd,交互修改;

②还有就是先cp一份,然后修改/etc/shadow文件

(5)touch /.autorelabel 这句是为了selinux生效

(6)ctrl+d 退出

(7)然后reboot

3.Linux系统无法启动

导致系统无法启动的可能原因有:

1)文件配置不当,比如/etc/inittab、/etc/fstab等文件配置错误或丢失;

文件丢失,插入光盘,救援模式

2)非法关机,导致root文件破坏,即根分区被破坏;

fsck修复文件系统

3)内核崩溃,无法启动;

4)系统引导问题;

5)硬件故障;

4.grub文件损坏或丢失

修复GRUB:

    grub配置文件丢失:

        开机后会直接进入grub界面,显示为grub>:

grub>insmod xfs

        grub>set root=(hd0,1)

        grub>linux16 /vmlinuz-xxxxx root=/dev/mapper/centos-root

        grub>initrd16 /initramfs-.xxxxx.img

 

修复完成后即可进入系统

grub>boot

重建配置文件,也可以使用>替代-o

grub2-mkconfig -o /boot/grub2/grub.cfg

 

5.修改mbr

备份MBR:

        #dd if=/dev/sda of=/root/mbr.bak count=1 bs=512

 

    破坏bootloader:

        #dd if=/dev/zero of=/dev/sda count=1 bs=200

        这里边block size只要小于等于446即可。

 

修复方式:

        1、借助其他系统挂载磁盘修复。

            修复方式同光盘修复类似,也是使用grub2-install命令。

 

        2、借助安装光盘修复。

            1).装入光盘,在光盘引导界面选择troubleshooting:

2).选择进入救援模式:

3).按回车键继续:

4).进入磁盘挂载选择模式:

                磁盘将会被挂载至/mnt/sysimage/下

1- 1. continue 以rw方式挂载分区。

2- 2. read only 以ro方式挂载分区。

3- 3. skip 跳过,将来自己手工挂载磁盘。

5).选择continue,稍等片刻,提示已经挂载完成。

6).此时进入救援模式的命令行:

7).使用grub2-install命令重建bootloader:

                #grub2-install --root-directory=/mnt/sysimage /dev/sda

显示无错误,使用sync写入硬盘,reboot重启系统。

8).重启后无错误,grub正常运行:

 

使用备份还原:

dd if=/root/mbr.bak of=/dev/sda count=512 bs=1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值