您的位置:首页 > 运维架构 > Linux

linux系统排错

2019-05-10 00:41 106 查看

一.进入挽救模式

首先关闭虚拟机,添加一个与自己镜像版本一致的光驱并选择光驱启动

二.常见问题修复

1.硬盘引导阶段 mbr主引导记录的恢复
模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1
进入挽救模式:

chroot /mnt/sysimage
df
grub2-install 启动分区boot所在硬盘
grub2-install /dev/vda
exit
exit


完成后关闭虚拟机,将开机方式设置为硬盘启动,再正常开机就行。

2.文件引导阶段
#1)引导文件丢失

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

#当系统没有从新启动时
grub2-mkconfig > /boot/grub2/grub.cfg
#当系统被重新启动
grub > set root='hd0,msdos1'	##此位置是不固定的,位置指定/boot所在分区
grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1 #跟分区的设备名称
grub > initrd16 /initramfs-3.10.0-123.el7.x86_64.img
grub > boot
#以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg

3.内核文件丢失
#模拟问题: rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64

进入到挽救模式
chroot /mnt/sysimage
mkdir /rhel7
mount /dev/sr0 /rhel7
cd /rhel7/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

完成后关闭虚拟机,将开机方式设置为硬盘启动,再正常开机就行。

4.系统初始化镜像文件丢失
#模拟问题: rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img

#当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
当系统重启后,进入挽救模式
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
cd /boot/
ls
exit
exit

#当/boot分区被删掉后
进入到挽救模式
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

5.当开机启动级别被篡改
#错误形成
systemctl set-default reboot.target

#解决
1.开机按上下键停止读秒
2.按“E”进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxxx     改变为:
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxxx     5
4.启动系统
ctrl + x
5.重新设定启动
systemctl set-default graphical.target

6.无密码登陆

1.开机按上下键停止读秒
2.选择第一个,按“E”进入编辑模式
3.删除linux16 开头的那一行ro后的所有包括ro,然后加上 rw rd.break
4.ctrl+x 启动系统
5.chroot /sysroot/ ##进入用户操作界面
6.输入passwd更改密码
7.touch /.autorelabel ##使selinux识别我们更改的信息
exit
exit

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: