zoukankan      html  css  js  c++  java
  • 关于/boot文件的修复实验

    一。  实验1

    1. rm -rf /boot

    删除 /boot  grub 被破坏  内核文件被破坏,系统不能正常启动

    2.进入救援模式

    选择第一项可以使用一些shell命令

    3 chroot /mnt/sysimage  切根

    现在看到的是硬盘的根

    可以看出 /boot文件被破坏

    boot中主要是内核文件,和init文件,吧文件修复即可

    4 mkinitrd /boot/initramfs-`uname-r`.img `uname -r`

    init文件修复完成

    5 mount /dev/sr0 /mnt;cp /mnt/isolinux/vmlinuz /boot

    挂载光盘 

    将内核文件 vmlinuz 复制到/boot

       

    6 grub-install /dev/sda 安装grub

    7 vim /boot/grub/grub.conf  创建grub.conf文件

    default=0
    timeout=5
    title centos6.9
    kernel /vmlinuz root=/dev/sda2
    initrd /initramfs.img

    重新启动

     

     

      二。  实验 2

    .在逻辑卷情况下,rm -rf /boot/etc/fstab,恢复

    1 rm -rf /boot /etc/fstab

    2 /etc/fstab文件被破坏救援模式,无法挂载到/mnt/sysimages

    系统提示:没有任何Linux分区,返回得到shell 输入exit系统将重启

    只能自己挂载根,在不知道根挂载在哪个分区的情况下,只能尝试每个分区挂载试试,直到找到根对应的分区。

    因为是逻辑卷,不能在 fdisk -l 查看分区后自己挂载

    首先看逻辑卷有几个:lvdisply lv(逻辑卷)

    但是逻辑卷此时是不可用状态,不能正常挂载

    挂载失败,并且逻辑卷信息页看不到。

    之所以不可用,是因为逻辑卷被禁用,查看逻辑卷卷组:

    Vgdisplay vg(卷组)

    Pvdisplay pv(物理卷)

    可以看到 pv的文件名 /dev/sda2 如果卷组能够正常工作可以进/dev/VolGroup/看到逻辑卷的名字。但是现在却不可用。

    之所以不可用是因为逻辑卷是被禁用状态,正常计算机启动系统会有脚本激活逻辑卷,现在属于不正常启动,逻辑卷还没有被激活。我们可以手工激活:

    Lvscan 查看逻辑卷状态未激活使用vgchange –ay 激活逻辑卷

    成功激活

    再查看逻辑卷状态 lvdisplay

    现在逻辑卷是可用状态。

    Vgdisplay

    Blkid 查看逻辑卷,逻辑卷的命名方式比较直观,可以直接根据逻辑卷名构建

    mount /dev/mapper/VolGroup-lv_root /mnt/tep

    因为没有 /etc/fstab文件,所以要自己写一个fstab文件

     

    vim /mnt/tmp/etc/fstab

    /dev/mapper/VolGroup-lv_root /root ext4 defaults 0 0

    /dev/mapper/VolGroup-lv_home / ext4 defaults 0 0

    /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0

    退出重启

    进入救援模式提示挂载成功

    接下来的恢复同上面实验1

    chroot /mnt/sysimages 切根

    mount /dev/sr0 /mnt 挂载

    这次采用安装包的方式安装

    grub-install /dev/sda

    这个过程需要的时间比较长,一定要等系统自己结束,最好结束后再执行sync命令,将缓存内容写到磁盘中。

    grou.conf文件

    vim /boot/grub/grub.conf

    title linux

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

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

    default timeout 不写的话,就没有倒计时,必须手动敲回车才能进入系统,所以为了省事,还是要把倒计时加上的。

  • 相关阅读:
    synchronized关键字jvm实现及各种锁
    zookeeper选举算法
    git远程操作
    git分支的创建与分支之间合并的底层原理
    员工贷项目总结
    Python之字符串操作
    Python实现购物车的功能
    Python列表学习笔记
    Python中如何使用boolean类型的数据
    Python实现用户登录账户
  • 原文地址:https://www.cnblogs.com/zyx-linux/p/7567682.html
Copyright © 2011-2022 走看看