• Linux 排错 误删 /etc/fstab 和 /boot怎样恢复


    实验:在分区情况下,rm -rf /boot和/etc/fstab,恢复

       首先我们查看一下/etc/fstab 里面放的是什么东西,从下图可以看出里面存放的是分区的挂载情况,删除分区将不能自动挂载

    wKioL1nBABqhYUcWAACCSm8vLWQ310.png

       接下来查看/boot下存放的是Linux的核心文件/boot/vmlinuz-VERSION-release,和引导加载程序grub,辅助内核加载硬件驱动的伪根系统/boot/initramfs-VERSION-release.img,缺少这几项将导致Linux无法开机

    wKioL1nBBIvQPO65AAAigEmOx2A592.png

    好了,我要开始删了

    rm -rf /boot /etc/fstab ;reboot

    这时可以看到开不了机了出现错误代码 Error15 要记住这个现象,以后遇到相同问题就知道原因了

    wKiom1nBAEzBB_QfAAADkzoWClI491.png

    修复过程分为两步

    修复/etc/fstab

    1 进救援模式,过程就不再累述了,用df 查看分区情况发现分区无法挂载到/mnt/sysimage,lsblk命令也不能用了

    wKiom1nBAEyxpGXQAAANtlOMx4o717.png

    恩,还好fdisk -l还能用 ,但是我们没办法知道分区的挂载情况,不知道哪个分区挂载在/下,哪个挂载的/app,但是我们记得每个分区下文件的特点,只是现在没有挂载没办法查看,所以我们可以尝试挂载,在下面的分区列表中/dev/sda1 后面有个*,所有它是开机启动的,应该挂载在/boot下,/dev/sda5是swap分区挂载在/swap下,但是哪个是 / 无法判断

    wKioL1nBABqAQB3UAAAVWt63lzo069.png

    2 我们创建一个临时挂载点

      mkdir /mnt/tmp

    3 分别挂载/dev/sda{1,2...} /mnt/tmp

    4 查看分区下的文件ls /mnt/tmp,找出符合 / 目录下文件特点的分区挂载到 / 目录下

    wKiom1nBAE2CQ2BGAAAWO8Bd3PU675.png

    6 创建分区信息表 vim /etc/fstab

    vim /mnt/tmp/etc/fstab

    /dev/sda1  /boot  ext4   defaults 0 0

    /dev/sda2  /     ext4   defaults 0 0 

    /dev/sda3  /app   ext4   defaults 0 0

    /dev/sda5  swap   swap   defaults 0 0 

    exit;exit

    目前为止/etc/fstab 已经修复完成,接下来修复/boot我们重启一下发现仍然不能启动,错误信息变成了如下所示,只有一个光标

    wKioL1nBDx7zw1tCAAAC9pTLRC8001.png

    修复/boot

    方法一:

    1 重新进入救援模式,用df查看,分区已经自动挂载挂载到/mnt/sysimages成功

    wKioL1nBABrRDOePAAAemD2RifY234.png

    2 挂载光盘,安装内核

    mkdir /mnt/cdrom

    mount /mnt/cdrom

    rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm --root=/mnt/sysimages --force

    wKiom1nBAE2zSnhbAAApxG1uPKA626.png

    3 切根,修复grub

    chroot /mnt/sysimage

    grub-install --root-directory=/mnt/sysimage /dev/sda

    4 编写grub.conf 

     vim /boot/grub/grub.conf

      default=0

      timeout=5

      title linux

      kernel  /vmlinuz-2.6.32-696.el6.x86_64  root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

      initrd  /initramfs-2.6.32-696.el6.x86_64.img

    exit;exit

    方法二:

    1 进救援模式

    2 切根 :chroot /mnt/sysimage

    3 修复/boot/initramfs:  mkinitrd /boot/ininramfs-`uname -r` `uname -r`

    4 挂载光盘:  mount /dev/sr0 /mnt

    5 复制光盘内核到/boot: cp /mnt/isolinux/vmlinuz-2.6.32-696.el6.x86_64  /boot

    6 修复grub: grub-install --root-directory=/mnt/sysimage /dev/sda

    7 编写/boot/grub/grup.conf 

     vim /boot/grub/grub.conf

      default=0

      timeout=5

      title linux

      kernel  /vmlinuz-2.6.32-696.el6.x86_64  root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

      initrd  /initramfs-`uname -r`.img

    转自https://blog.csdn.net/jieranjieran/article/details/78119132

  • 相关阅读:
    linux中压缩、解压缩命令
    linux中的sed指令
    linux中shell编程(一)
    linux中的正则表达式
    linux中的管道和重定向
    linux中用户、组和权限相关指令
    linux中bash常见的指令
    linux文本操作相关指令
    java.lang.OutOfMemoryError 解决程序启动内存溢出问题
    Java常用排序算法/程序员必须掌握的8大排序算法
  • 原文地址:https://www.cnblogs.com/shizhijie/p/9326896.html
Copyright © 2020-2023  润新知