zoukankan      html  css  js  c++  java
  • Centos 6修复/boot目录及fstab等系统文件

    author:JevonWei
    版权声明:原创作品


    错误界面

    系统修复过程中,若需要修复fatab挂载文件,磁盘分区为lvm逻辑卷格式,则默认在修复模式下处于不可活动状态,需使用vgchage -ay 激活vg卷组,从而写入fatab文件挂载lvm分区

    没有LVM逻辑卷挂载在系统下

    • 系统修复过程中,若需要修复fatab挂载文件,磁盘分区为lvm逻辑卷格式,则默认在修复模式下处于不可活动状态,需使用vgchange -ay 激活vg卷组,从而写入fatab文件挂载lvm分区
    • 因为删除了/etc/fstab文件,故救援模式下系统也无法找到/挂载目录
    • 修复/etc/fstab文件,使系统找到 / 挂载点

    1 . 进入光盘救援模式(找不到/挂载目录)
    image
    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分区挂载失败导致查找/分区失败)
    image
    image

    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 . 进入救援模式成功查找到/挂载点
    image

    • 修复/boot及grub和inittab、rc.sysinit等文件
      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
    
    • 找回rc.sysinit、/etc/inittab 文件

    29 . rpm -qf /etc/inittab 查看/etc/inittab文件属于哪个软件包
    30 . rpm -qf /etc/rc.d/rc.sysinit 查看/etc/rc.d/rc.sysinit 文件属于哪个软件包
    31 . rpm -qf /etc/rc.d/rc.local 查看/etc/rc.d/rc.local文件属于哪个软件包
    32 . rm -rf /tmp/* 清空/tmp目录
    33 . cp /initscript-.rpm /tmp 拷贝软件包到/tmp目录下
    34 . cd /tmp
    35 . rpm2cpio initscript-
    .rpm | cpio -imd 解压此软件包到当前目录
    36 . ls
    37 . cd /etc
    38 . cp inittab /etc
    39 . cp rc.d/rc.sysinit rc.d/rc.local /etc/ 复制rc.d/rc.sysinit rc.d/rc.local到/etc/下
    40 . vim /etc/inittab 修改系统的默认运行级别
    41 . exit
    42 . exit

    • 操作过程如下:
      修复/etv/fstab文件 image
      image
      修复/boot及grub
      image
      image

    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

    danran
  • 相关阅读:
    AsWing入门教程 1.4 在面板中显示信息
    AsWing 入门教程 1.3 给框架定位
    LocalConnection AS2与AS3通信说明
    Tuscany SCA与Spring、Hibernate整合之简洁方法
    《spring2.0技术手册》读书笔记九spring与hibernate整合DAO的书写,HibernateTemplate解析
    求n个骰子各点数和出现的概率动态规划
    oracle常用函数总结
    Hadoop概要MapReduce的认识
    HDFS的使用及编程
    Apache Hadoop的安装与配置
  • 原文地址:https://www.cnblogs.com/JevonWei/p/7146719.html
Copyright © 2011-2022 走看看