Linux系统的排错

Linux系统排错
1.硬盘引导阶段
mbr主引导记录的恢复

		hostnamectl			查看当前系统所用的版本号

在这里插入图片描述

		fdisk -l					查看mbr引导记录存放位置。有*标记的是启动盘

在这里插入图片描述
模拟问题:

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


	reboot		发现无法重启

在这里插入图片描述

解决:使用光盘启动,进入援救模式(rescue)

#1.首先关闭虚拟机
#2.然后添加光盘镜像
在这里插入图片描述
#3.设置以光驱启动
在这里插入图片描述
#4.开启虚拟机,选择Troubleshooting
在这里插入图片描述
选择Rescue a Red Hat Enterprise Linux system
在这里插入图片描述
然后跟着提示选择Continue,OK 进入修复模式
在这里插入图片描述

		df						查看分区挂载情况

在这里插入图片描述

		chroot /mnt/sysimage		切换系统真实shell以超户身份操作
		grub2-install 启动分区所在硬盘
		grub2-install /dev/vda

在这里插入图片描述

		exit*2		系统将自动重启(还是以刚刚选择的光驱启动)

关闭虚拟机,选择Disk优先
在这里插入图片描述
开启系统成功修复

2.文件引导阶段
#1) 引导文件丢失
引导文件在/boot/grub2/grub.cfg
在这里插入图片描述

	模拟问题:rm -fr /boot/grub2/grub.cfg

当系统没有重新启动时

	grub2-mkconfig > /boot/grub2/grub.cfg		恢复丢失的grub.cfg文件

在这里插入图片描述

当系统重新启动时
在这里插入图片描述

	grub > set root='hd0,msdos1'		
此位置是不固定的,位置指定/boot所在分区;hd0指的是系统在/dev/vda;msdos1指的是/dev/vda
	
	grub > linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=/dev/vda1
	把设备只读挂载到根分区,设置内核文件
	
	grub > initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
	系统初始化镜像,设置initrd文件

在这里插入图片描述

	grub > boot				重启系统

	
	grub2-mkconfig > /boot/grub2/grub.cfg			恢复grub.cfg文件

在这里插入图片描述

#2)内核文件丢失
内核文件存放在/boot
在这里插入图片描述

	模拟问题: rm -fr /boot/vmlinuz-3.10.0-123el7.x86_64

在这里插入图片描述
重启虚拟机
在这里插入图片描述
重复之前操作,以光驱启动,进入rescue模式

	chroot /mnt/sysimage			进入真实系统shell
	mkdir /rhel7					创建一个用于挂载镜像的目录
	mount /dev/sr0 /rhel7			把镜像挂载到刚刚创建的目录上

在这里插入图片描述

	cd /rhel7/Packages				进入到镜像内的Packages目录
	cp kernel-3.10.0-123.el7.x86_64.rpm /mnt		
	把镜像内的rpm文件复制到/mnt,因为镜像是只读的
	
	cd /mnt
	rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id 	
	进入到/mnt,进行拆包

在这里插入图片描述

	cd boot/					拆包后,进入文件内的boot目录
	
	cp vmlinuz-3.10.0-123.el7.x86_64 /boot		将期内的内核文件复制到/boot

在这里插入图片描述

	exit*2

修改以Disk优先启动,成功恢复

#3)初始化镜像文件丢失
初始化镜像文件放在/boot/
在这里插入图片描述

	模拟问题:rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img

在这里插入图片描述
当系统没有重启时:

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

在这里插入图片描述

当系统重启时:
继续以光盘重新启动虚拟机

		chroot /mnt/sysimage		进入真是系统环境shell
		mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)		
		恢复镜像(第二种命令方式,和第一种一样的效果)
		恢复后俩下exit退出

在这里插入图片描述

#4)当/boot分区被删掉
在这里插入图片描述
重启后的状态
在这里插入图片描述
关闭虚拟机以光盘启动,进入rescue

		chroot /mnt/sysimage
		mkdir /boot								建立一个/boot目录
		cd /boot
		grub2-install /dev/vda				mbr主引导记录的恢复			

在这里插入图片描述

		mount /dev/sr0 /mnt					
		rpm -ivh /mnt/Packages/kernel-3.10.0-el7.x86_64.rpm -- force	重新安装内核等
		grub2-mkconfig > /boot/grub2/grub.cfg			引导文件恢复
		exit*2	
		重新以Dsik优先启动

在这里插入图片描述
3.当开机级别被篡改
模拟问题:

	systemctl set-default reboot.target			篡改开机启动级别

系统将无限重启

解决:

	1.开机按上下键停止读秒
	2.按e编辑
	3.选择内核启动行

在这里插入图片描述

	linux16 /vmlinuz-xxxxxx ro xxxxx 改为:
	linux16 /vmlinuz-xxxxxx rw rd.break

在这里插入图片描述
4.ctrl+x
在这里插入图片描述
5.chroot /sysroot (以超户身份进去当前系统shell,此时还能修改超户密码)
6.rm -fr /etc/systemd/system/default.target
7.ln -s /lib/systemd/system/graphical,target /etc/systemd/system/default.target
8.exit*2

在这里插入图片描述
自动重启系统,恢复完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值