• Linux_系统破坏性修复实验


    目录

    修改系统用户密码

    随便介绍一个修改Linux系统用户密码的方法。
    步骤
    开机读秒时按任意键
    进入grub列表项配置按e
    选择系统kernel版本按e
    在最后添加空格1,回车后按b启动,进入单用户模式
    setenforce 0 关闭SELinux
    passwd root
    init 5 切换到桌面模式

    grub修复

    vim /boot/grub/grub.conf
    rm -f /boot/grub/grub.conf
    reboot
    grub>root (hd0,0) (如果系统不止一块硬盘,需执行grub>setup (hd0))
    grub>kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2 (lv系统改为root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/)
    grub>initrd /initramfs-2.6.32-71.e16.x86_64.img
    grub>boot

    系统修复

    下面是一个修复的实验:
    备份重要资料:
    mkdir /backup
    dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
    cp /etc/fstab /backup/fstab.bak
    cp /etc/inittab /backup/inittab.bak
    cp /etc/rc.d/rc.sysinit /backup/rc.sysinit.bak
    cp /etc/rc.d/rc.local /backup/rc.local.bak

    破坏性操作:
    rm -rf /boot/*
    rm -f /etc/fstab
    rm -f /etc/inittab
    rm -f /etc/rc.d/rc.sysinit
    rm -f /etc/rc.d/rc.local
    dd if=/dev/zero of=/dev/sda bs=446 count=1
    reboot

    选择修复模式
    光盘启动选择Rescue installed system (若需网络引导,选择URL模式,本地光盘选择Local cdrom)
    continue
    shell start shell

    修复fstab
    fdisk -l
    mkdir /jmilk
    mount /dev/sda2 /jmilk (lv下需要执行lvm vgscan和lvm vgchange -ay激活vg才能挂载)
    cp /bachup/fstab.bak /jmilk/etc/fstab
    reboot

    再次进入修复模式
    若看到chroot /mnt/sysimage,说明/etc/fstab恢复成功

    恢复内核
    mkdir /jmilk
    mount /dev/cdrom /jmilk
    rpm -ivh /jmilk/Package/kernel-2.6.32-71.e16.x86_64.rpm –root=/mnt/sysimage/ –force

    恢复引导程序
    chroot /mnt/sysimage/
    grub-install /dev/sda
    ls /boot/grub
    vi /boot/grub/grub.conf
    default=0
    timeout=5
    title linux for jmilk
    root (hd0,0)
    kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/sda2
    #lv系统改为root=/dev/mapper/vgqin1-lvroot或者root=LABEL=/
    #:r! ls /boot/vmlinuz-2.6.32-71.el6.x86_64
    initrd /initramfs-2.6.32-71.e16.x86_64.img
    #:r! ls /boot/initramfs-2.6.32-71.e16.x86_64.img
    #可尝试写错,调试grub

    恢复init
    rpm -qf /etc/inittab
    rpm -qf /etc/rc.d/rc.sysinit
    rpm -qf /etc/rc.d/rc.local
    mount /dev/cdrom /mnt/cdrom
    rpm -ivh /mnt/cdrom/Packagers/initscripts-9.03.17-1.el6.x86_64.rpm –force
    两次exit退出到图形界面选择reboot Reboot
    重启后系统自动执行selinux relabel,几分钟后自动重启,至此,系统修复完成。

    最后

    本次额实验主要是通过这种方式累对系统启动流程有一个更加深入额理解。

    JMilk

  • 相关阅读:
    最短路+线段交 POJ 1556 好题
    判断线段和直线相交 POJ 3304
    nginx配置pathinfo模式,解决访问404
    使用ORM关联关系,如何自己关联自己
    PHPCMS
    linux安装redis服务,配置PHP扩展
    后台银行卡算法
    静态类和非静态类
    PHP的闭包和匿名函数
    php获取前一天时间段,每个月的第一天到最后一天
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/7533792.html
Copyright © 2020-2023  润新知