Linux运维之系统排错

  • 系统引导

MBR,它是Master  Boot   Record的缩写。硬盘的0柱面,0磁头,0扇区称为主引导扇区。它由三部分组成,包括512个字节。

  1. 主引导记录(mbr——master  boot   record),占用446个字节。
  2. 主分区表(mpt——master   partition   table),占用64个字节。每个盘符占16个字节,一共可以分4个盘符。
  3. 硬盘有效性标识(55aa),占用2个字节。

一.硬盘引导阶段:主引导记录(MBR)丢失的情况下的处理办法

模拟问题:

假如,我们在虚拟机中执行下面的操作让磁盘破坏:

dd  if=/dev/zero  of=/dev/vda  bs=446 count=1

reboot

重启后会出现下面的错误:

解决方法:首先进入援救模式

1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)

2.在真机(物理机)中利用命令关闭desktop虚拟机

rht-vmctl  poweroff  desktop

3.在真机(物理机)中打开虚拟机管理器

方法一:图形方式

Applications-------System Tools------Virtual Machine Manager

方法二:命令行方式

vire-manager

4.添加光驱设备

双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束

5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply

6.选择右三角图表,打开desktop虚拟机-----选择Troubleshooting

7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式

8.在援救模式切换到真实环境

chroot  /mnt/sysimage

grub2-install /dev/vda

9.点击倒三角,Force Off----关闭虚拟机

10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply

11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动

二.文件引导阶段:引导文件丢失的情况下的处理办法

模拟问题:

假如,我们在虚拟机中执行下面的操作让grub文件丢失:

rm -rf  /boot/grub2/grub.cfg

解决方法:

1.如果此时虚拟机没有重启,执行下面的命令重新生成grub.cfg文件即可

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

2.如果此时虚拟机已经重启,那么需要手动进行引导

手动引导方法:

(1)输入下面的命令:

set  root='hd0,msdos1'                                    hd0,msdos1表示第一个磁盘的第一个分区

linux16  /boot/vmlinuz-3.10.0-123 .e17.x86_64 ro root=/dev/vda1

initrd16  /boot/initramfs-3.10.0-123.e17.x86_64.img          

boot                                                                    引导完成,启动系统

此时虚拟机可以正常启动,

(2)进入desktop虚拟机之后,执行命令重新生成grub2.cfg文件即可,下次可以正常启动desktop虚拟机

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

三.文件引导阶段:内核文件丢失的情况下的处理办法

模拟问题:

假如,我们在虚拟机中执行下面的操作让内核文件丢失:

rm -rf  /boot/vmlinuz-3.10.0-123.e17.x86_64

reboot

重启后,会出现下面的错误

解决方法:首先进入援救模式

1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)

2.在真机(物理机)中利用命令关闭desktop虚拟机

rht-vmctl  poweroff  desktop

3.在真机(物理机)中打开虚拟机管理器

方法一:图形方式

Applications-------System Tools------Virtual Machine Manager

方法二:命令行方式

vire-manager

4.添加光驱设备

双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束

5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply

6.点击小电视的图标,选择右三角图表,打开desktop虚拟机-----选择Troubleshooting

7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式

8.在援救模式切换到真实环境

chroot  /mnt/sysimage

mkdir /rhel7

mount  /dev/sr0 /rhel7

cd /rhel7/Packsges

cp kernel-3.10.0-123.e17.x86_64.rpm /mnt

cd /mnt

rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm  | cpio -id

cd boot

cp  vmlinuz-3.10.0-123.e17.x86_64 /boot

exit                                         退出系统真实环境

exit                                         退出挽救模式

9.点击倒三角,Force Off----关闭虚拟机

10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply

11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动

四.文件引导阶段:系统初始化镜像文件丢失的情况下的处理办法

模拟问题:

假如,我们在虚拟机中执行下面的操作让系统初始化镜像文件丢失:

rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img

解决方法:首先进入援救模式

1.如果此时虚拟机没有重启,执行下面的命令重新生成文件即可

mkinitrd  /boot/initramfs-3.10.0-123.el7.x86_64.img  或者

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)                 

其中uname -r是用来查看内核版本号的。

2.如果此时虚拟机已经重启,那么需要手动进行引导

手动引导方法:

1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)

2.在真机(物理机)中利用命令关闭desktop虚拟机

rht-vmctl  poweroff  desktop

3.在真机(物理机)中打开虚拟机管理器

方法一:图形方式

Applications-------System Tools------Virtual Machine Manager

方法二:命令行方式

vire-manager

4.添加光驱设备

双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束

5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply

6.点击小电视的图标,选择右三角图表,打开desktop虚拟机-----选择Troubleshooting

7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式

8.在援救模式切换到真实环境

chroot  /mnt/sysimage

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)  

exit                               退出系统真实环境

exit                               退出挽救模式

9.点击倒三角,Force Off----关闭虚拟机

10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply

11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动

五.文件引导阶段:/boot分区丢失的情况下的处理办法

模拟问题:

假如,我们在虚拟机中执行下面的操作让/boot丢失:

rm -fr /boot

reboot

重启系统之后,会出现下面的错误

解决方法:首先进入援救模式

1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)

2.在真机(物理机)中利用命令关闭desktop虚拟机

rht-vmctl  poweroff  desktop

3.在真机(物理机)中打开虚拟机管理器

方法一:图形方式

Applications-------System Tools------Virtual Machine Manager

方法二:命令行方式

vire-manager

4.添加光驱设备

双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束

5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply

6.点击小电视的图标,选择右三角图表,打开desktop虚拟机-----选择Troubleshooting

7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式

8.在援救模式切换到真实环境

chroot  /mnt/sysimage

mkdir /boot
grub2-install /dev/vda
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force
grub2-mkconifg > /boot/grub2/grub.cfg

exit                                       退出系统真实环境

exit                                       退出援救模式

9.点击倒三角,Force Off----关闭虚拟机

10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply

11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动

六.开机启动级别被篡改的情况下的处理办法

启动级别0-6

0         表示关机

1         表示单用户修改密码

2-4      表示无图形

5          表示图形开启

6          表示重启

模拟问题:

假如,我们在虚拟机中执行下面的操作让开机过程中发生错误:

systemctl set-default reboot.target

reboot

开机之后会出现下面的错误:

系统一直在反复的重启,就是进入不了登陆界面。

解决方法:

1.开机按上下键停止读秒


2.按“e”进入编辑模式

3.选择内核启动行:
找到linux16引导条目这一行,从这行删除到ro选项,并把ro改为rw,然后添加rd.break


4.ctrl +x启动设定过后的的系统引导条目
5.进入系统后执行chroot /sysroot:切换到真实的系统环境 输入命令:chroot /sysroot/
6.rm -fr /etc/systemd/system/default.target
7.ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
8.两次exit使系统自动重新启动  输入命令:exit  exit 

                   

此时desktop虚拟机可以正常启动了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值