美文网首页
Centos 6修复boot及fstab文件

Centos 6修复boot及fstab文件

作者: JevonWei | 来源:发表于2017-07-08 20:37 被阅读0次

    boot目录损坏(rm -rf /boot/*)

    1 . 进入光盘救援模式
    2 . chroot /mnt/sysimage 进入真实系统
    3 . cd /boot
    4 . ls /boot目录下以清空
    5 . mount /dev/cdrom /mnt 挂载光驱到/mnt下
    6 . cd /mnt/isolinux 切换到光盘下的isolinux
    7 . ls
    8 . cp vmlinuz /boot/ 拷贝vmlinuz内核文件到/boot目录下
    9 . cd /boot
    10 . mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 由系统版本生成对应系统的initramfs虚拟磁盘文件,驱动文件都存在此文件中
    11 . ls
    12 . grub-install /dev/sda 由磁盘/dev/sda生成grub启动文件
    13 . vim /boot/grub/grub.conf(最简化的grub.conf)

    default=0
    timeout=5
    title danran
    root (hd0,0)
    kernel /vmlinuz root=UUID=XXXXX
    initrd /initramfs-*.img
    

    14 . sync
    15 . exit

    图1图1
    图2图2

    修复boot文件和/etc/fstab文件

    • 系统修复过程中,若需要修复fatab挂载文件,磁盘分区为lvm逻辑卷格式,则默认在修复模式下处于不可活动状态,需使用vgchage -ay 激活vg卷组,从而写入fatab文件挂载lvm分区
    没有LVM逻辑卷挂载在系统下
    • 系统修复过程中,若需要修复fatab挂载文件,磁盘分区为lvm逻辑卷格式,则默认在修复模式下处于不可活动状态,需使用vgchange -ay 激活vg卷组,从而写入fatab文件挂载lvm分区
    • 因为删除了/etc/fstab文件,故救援模式下系统也无法找到/挂载目录
    • 修复/etc/fstab文件,使系统找到 / 挂载点
      1 . 进入光盘救援模式(找不到/挂载目录)
      图3图3
      2 . ls /dev/sd* 查看磁盘分区
      3 . fdisk -l /dev/sda 查看/dev/sda磁盘分区
      4 . mkdir /test 新建一文件用来测试根挂载分区
      5 . mount /dev/sda1 /test 将/dev/sda1分区挂载到/test目录下
      6 . ls /test 查看/test目录下是否有文件,目录为空即表示根分区不是/dev/sda1
      7 . umount /test 卸载/dev/sda1的挂载
      8 . mount /dev/sda2 /test 将/dev/sda2分区挂载到/test文件中
      9 . ls /test 查看是否为空,/test目录下有文件即表示/dev/sda2分区为/挂载分区
      10 . cd /test
      11 . vi /test/etc/fstab(编辑/boot和/两个必要的挂载项)
    UUID=XXXXX /  ext4 defaults 0 0 
    挂载/分区,即/dev/sda2为根挂载点
    /dev/sda1 /boot ext4 defaults 0 0  挂载/boot分区  
    

    12 . exit 重启系统

    • 再次进入救援模式,查看系统是否可以找到系统的挂载点,若可以找到挂载点,则说明以上操作修复/etc/fatab文件成功,反之则失败,即需要重新修复

    13 . 重新进入救援模式(可能由于/boot分区挂载失败导致查找/分区失败)

    图4图4
    图5图5

    14 . chroot /mnt/sysimage /进入真实系统
    15 . vim /etc/fstab(挂载/boot到/dev/sda3分区)

    /dev/sda3 /boot ext4 default 0 0  挂载/boot分区挂载到/dev/sda3分区上  
    UUID=XXXXX /  ext4 default 0 0 
    挂载/分区 
    

    16 . exit 重启
    17 . 进入救援模式成功查找到/挂载点

    图6图6
    • 修复/boot及grub

    18 . chroot /mnt/sysimage 切换真实系统
    19 . mount /dev/cdrom /mnt 挂载光盘文件
    20 . cd /mnt
    21 . ls /mnt/images/pxeboot/vmlinuz /mnt/isolinux/vmlinuz -l 通过比较发现,两个vmlinuz是相同的
    22 . cp /mnt/images/pxeboot/vmlinuz /boot 拷贝vmlinuz内核文件到/boot目录下
    23 . cd /boot
    24 . mkinitrd initramfs-$(uname -r).img $(uname -r) 生成initramfs虚拟磁盘文件
    25 . rpm -ivh /mnt/Packages/kernel-2.6.32-696.e16.x86_64.rpm --force 重新安装内核,会自动生成vmlinuz内核文件和initramfs虚拟磁盘文件,--force强制安装(可替换22和24操作)
    26 . ls 查看是否生成vmlinuz
    内核文件

    27 . 22、24操作可替换为25操作
    28 . vim /boot/grub/grub.conf

    default=0
    timeout=5
    title danran
    root (hd0,0)
    kernel /vmlinuz-* root=/dev/sda2
    initrd /initramfs-*.img
    

    29 . exit
    30 . 重启系统
    31 . vim /etc/fstab 再将其他的挂载设备写入fatab文件
    32 . mount -a
    33 . swapon -a 挂载生效swap分区

    • 操作过程如下:

    修复/etv/fstab文件

    图7图7
    图8图8
    修复/boot及grub
    图9图9
    图10图10

    LVM逻辑卷挂载在系统下

    • 磁盘分区为lvm逻辑卷格式,则默认在修复模式下处于不可活动状态,需使用vgchange -ay 激活vg卷组,从而写入fatab文件挂载lvm分区
    • 找回/etc/fstab文件

    1 . 进入修复模式
    2 . ls /dev/sd* 查看sd的磁盘分区
    3 . lvs 查看逻辑卷设备
    4 . vgs 查看卷组
    5 . ls /dev/vg0/lv0_root 查看lv0_root逻辑卷失败
    6 . lvdisplay 查看lv的详细信息,发现lv0_root逻辑卷的Status状态为NOT avaliable不可激活状态
    7 . lvscan 扫描逻辑卷,状态都为inactive不可活动状态
    8 . vgchange -ay 激活逻辑卷
    9 . blkid 查看逻辑卷的信息
    10 . mkdir /mnt/rootfs
    11 . mount /dev/vg0/lv0_root /mnt/rootfs 挂载/分区到/mnt/rootfs
    12 . cd /mnt/rootfs
    13 . vim etc/fstab(编辑fstab文件挂载信息)

    /dev/sda2 /boot ext4 defaults 0 0 
    /dev/vg0/lv0_root / ext4 defaults 0 0 
    /dev/vg0/lv0_home /home ext4 defaults 0 0 
    /dev/vg0/lv0_swap swap swap defaults 0 0 
    .....
    

    14 . exit
    15 . 重启系统再次进入救援模式

    • 修复boot和grub

    16 . chroot /mnt/sysimage
    17 . mount /dev/cdrom /mnt
    18 . rpm -ivh /mnt/Packages/kernel-.rpm --force 安装内核生成vmlinuz和initramfs文件
    19 . grub-install /dev/sda
    20 . vim /boot/grub/grub.conf

    default=0
    timeout=5
    title danran
    root (hd0,0)
    kernel /vmlinuz-* root=/dev/sda2 \\指定根分区
    initrd /initramfs-*.img
    

    21 . exit;reboot

    相关文章

      网友评论

          本文标题:Centos 6修复boot及fstab文件

          本文链接:https://www.haomeiwen.com/subject/soyjhxtx.html