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

19.Linux---系统排错

2019-08-02 14:05 120 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/sheena_/article/details/98110091

在进行模拟实验前,应先查看系统版本和启动分区所在硬盘

hostnamectlfdisk -l


1.硬盘引导阶段

模拟问题:

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



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

①force off 关闭虚拟机
②添加光盘启动7.0的映像文件,Boot Options—>IDE CDROM1(磁盘驱动)—>Apply



③打开虚拟机
④选择Troubleshooting

⑤选择Rescue a Red Hat Enterprise Linux system

⑥Continue—>OK—>OK



步骤二:恢复系统启动硬盘

chroot /mnt/sysimagegrub2-install /dev/vda     /*grub2-install 启动分区所在硬盘*/exitexit


步骤三:关闭光盘驱动,使用磁盘启动虚拟机

步骤四:开启虚拟机,可正常启动

2.文件引导阶段

(1)引导文件丢失

模拟问题:

rm -rf /boot/grub2/grub.cfg

解决:

当系统没有重启时:
grub2-mkconfig > /boot/grub2/grub.cfg

当系统reboot重启时:

步骤一:

set root='hd0 ,msdos1'linux16 /boot/vmlinuz.3.10.0-123.el7.x86_64 root=/dev/vda1initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.imgboot




步骤二:开机后,使用 grub2-mkconfig > /boot/grub2/grub.cfg 命令恢复引导文件

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

(2)内核文件丢失

模拟问题:

rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64


解决:

步骤一:使用光盘启动,进入rescue模式(详细步骤可见“1.硬盘引导阶段—步骤一”)
步骤二:

chroot /mnt/sysimage     /*进入/dev/vda1挂载点chroot /mnt/sysimage*/mkdir /rhel7     /*建立光盘挂载点*/mount /dev/sr0 /rhel7     /*将光盘挂载在 /rhel7 下*/cd3ff7/rhel7/Packages     /*到达镜像的包下*/cp kernel-3.10.0-123.el7.x86_64.rpm /mnt     /*将安装包复制到 /mnt 下*/

cd /mnt/lsrpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id     /*将安装包解压出所需的内核文件*/

cd /bootcp vmlinuz-3.10.0-123.el7.x86_64 /boot     /*将解压所得的内核文件复制到 /boot 中*/exit     /*退出挂载点*/exit     /*退出*/


步骤三:使用磁盘驱动(详细步骤可见“1.硬盘引导阶段—步骤三”),开启虚拟机

(3)初始化镜像文件丢失

模拟问题:

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


解决:

当系统没有重启时:
mkinitrd /boot/initramfs-$(name - r).img $(name - r)

当系统reboot重启时:

步骤一:使用光盘驱动(详细步骤可见“1.硬盘引导阶段—步骤一”),进入rescue模式
步骤二:

(4)当/boot分区被删掉

模拟问题:

rm -rf /boot/


解决:

步骤一:使用光盘驱动(详细步骤可见“1.硬盘引导阶段—步骤一”),进入rescue模式
步骤二:

chroot /mnt/sysimagemkdir /bootgrub2-install /dev/vdamount /dev/sr0 /mntrpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --forceexitexit


步骤三:使用磁盘驱动(详细步骤可见“1.硬盘引导阶段—步骤三”),开启虚拟机
输入:

set root='hd0 ,msdos1'linux16 /boot/vmlinuz.3.10.0-123.el7.x86_64 root=/dev/vda1initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.imgboot


步骤四:开机后输入:

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

3.当开机启动级别被篡改

模拟问题:

systemctl set-default reboot.target

解决:

步骤一:开机读秒时,按【↑↓】停止读秒

步骤二:按【e】进入编辑模式
步骤三:选择内核启动行
linux16 …删除到 ro 后,并将 ro 改为 rw rd.break


步骤四:Ctrl + x
步骤五:

chroot /sysrootrm -fr /etc/systemd/system/default.targetln -s /lib/systemd/system/graphical,target /etc/systemd/system/default.targetexitexit

4.更改根目录密码


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