Linux中的系统排错

实验环境:选择自己建立的虚拟机

注意:塞光驱时要关闭虚拟机

当grub磁盘引导出现问题:

(1)fdisk -l 查看磁盘目录 (看*在哪里) ,*号所在硬盘位置即为启动分区

如图所示,我的虚拟机启动分区是dev/vda1

(2)模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1  破坏磁盘引导

(3)用getenforce查看selinux状态,如为enforing,用vim /etc/sysconfig/selinux命令将selinux状态改为disabled

最后一定要记得重启

(4)此时使用硬盘启动就会发现打不开虚拟机

(5)此时关闭虚拟机,采用光驱方式启动

 

设置完之后一定要点Apply,不然设置无效

(6)依次选择第三个与第二个

(7)输入1,回车得到shell

(8)df查看一下

(9)chroot /mnt/sysimage/

(10)grub2-install /dev/vda

(11)exit 两次,关闭虚拟机,进入虚拟控制台,以磁盘方式开启虚拟机

可以看到虚拟机正常启动了

系统启动阶段的引导文件丢失:

(1)模拟问题:rm -fr /boot/grub2/grub.cfg ,并reboot

此时发现虚拟机重启出现了问题

(2)解决问题

以光驱方式启动虚拟机(关闭虚拟机,进入虚拟控制台,改为以光驱方式启动)

 

输入1,回车得到一个shell

df查看一下

chroot /mnt/ssyimsge/ 回车

grub2-install /dev/vda

以磁盘方式打开虚拟机,输入 set root='hd0,msdos1'  以及 linux16 /vmlinuz-3.10.0-514.el7.x86-64 root=dev/vda1

输入 inittrd16 /inintramfs-3.100-514.el7.x86_64.img

boot

进入图形界面后,输入grub2-mkconfig > /boot/grub2/grub.cfg

更换主机为server

系统内核镜像文件丢失应该怎样解决

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

reboot不能启动

用光驱启动

chroot /mnt/sysimage/

mkdir  /rhel7.0

mount /dev/sr0 /rh7.0

cd /rhel7.0/ 

cd Packages/

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

cd /mnt

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

cd boot

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

exit

exit

系统初始化程序镜像文件丢失应该怎么恢复

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

如果系统没有重启直接利用

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)恢复镜像文件

如果已经reboot了,进入rescue模式,以光驱的方式打开虚拟机

输入chroot /mnt/sysimage/进入真实的环境

输入mkinitrd /boot/initramfs-$(uname -r).img $(uname -r),再次进入/boot下查看是否生成img文件

 

以硬盘的方式启动

系统/boot分区被删除怎么恢复

reboot
用光驱进入rescue模式。

chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/vda
mount /dev/sr0 /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force
grub2-mkconfig > /boot/grub2/grub.cfg

exit两次之后,用硬盘启动

系统开机启动级别被人恶意篡改,一致处于重启模式,怎么解决?

模拟实验:
systemctl set-default reboot.target

此时重启虚拟机,会发现一直处于重启状态

解决方法:

开机按上下键停止读秒
按E进入编辑模式

选择内核启动行
linux16 /vmlinuz-xxxxxxxxx  ro xxxxxxxxxx
将ro之后的删除,并将ro改称rw(读写),输入rd.break(停止),然后crtl+x退出,启动系统。

注意这里的chroot在/sysroot/下
可以看到/etc/systemd/system/default.target是一个软连接,将它删除并且重新创建有图形的软连接

成功恢复

root用户密码忘记怎么办

重启主机的时候按下e进入编辑模式

找到内核启动行,删到ro然后更改ro为rw rd.break,ctrl+x退出

passwd 来修改用户密码
设置密码为redhat
再次输入密码redhat
即可更改root用户密码
touch /.autorelabel 让selinux生效,即可重新开启虚拟机。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值