某些系统文件破坏后的修复方式

简介: 口令问题: 1.重设CentOS5和CentOS6的root口令  当我们忘记root口令而无法进入系统时,可以使用下面的方法重设root口令:   开机出现进度条时快速按任意键,按a键进入编辑状态,此时输入1、S、s或者single等都可进入单用户模式,进入之后输入:#passwd root     输入两边密码后重启即可 2.

口令问题:

 1.重设CentOS5和CentOS6的root口令
  当我们忘记root口令而无法进入系统时,可以使用下面的方法重设root口令:
   开机出现进度条时快速按任意键,按a键进入编辑状态,此时输入1、S、s或者single等都可进入单用户模式,进入之后输入:

#passwd root


     输入两边密码后重启即可
 2.为grub菜单加密防止单用户操作(此口令仅对进入单用户模式有效)

#vim /boot/grub/grub.conf


   title 前写入:password PASSWORD
    其中PASSWORD的生成有以下3种方法:
     1).明文:直接写明文密码
     2).md5加密:

#grub-md5-crypt


      输入密码产生md5值,将这个md5值写进title前:

password --md5 $1$f52CF/$TzksbVRC.dahPpfRN4h3C0


     3).sha512加密:

#grub-crypt


      输入密码产生sha512值,将这个值写进title前:

password --encrypted $6$50YpSTdKKyWyZNO1$n1dYZeSqNszNwnqJxS5siwJFDThxXmRRPWmtsCA37QUd08/nkWz8Y4pSULpWCgvDop/9hyFVzcj8Sbd24bg0q/


  破解grub密码:
   重启进入光盘救援模式删除/boot/grub/grub.conf中的密码


系统文件人为破坏后的修复方式:

 实验一:破坏MBR bootloader程序并恢复(1stage)
  1).破坏引导程序

#dd if=/dev/zero of=/dev/sda bs=1 count=446


  2).重启进入光盘救援模式
  3).切根

#chroot /mnt/sysimage


  4). 法一:
   安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到/boot目录下

#grub-install --root-directory=DIR /dev/sda   (如果已经切换到根下可省略--root-directory=DIR)


   法二:
   切根后输入:

#grub
#grub> root (hd0,0)
#grub> setup (hd0)
#grub> quit


  5).重启
 实验二:破坏1.5stage并修复
  1).破坏1.5stage程序

#dd if=/dev/zero of=/dev/sda bs=1 count=10240 seek=512


  2).重启进入光盘救援模式
  3).

#chroot /mnt/sysimage


  4). 法一:

#grub-install /dev/sda


   法二:

#grub
#grub> root (hd0,0)
#grub> setup (hd0)
#grub> quit


  5).重启 
 实验三:破坏或者删除grub.conf后的恢复
  1).重启系统后系统会进入grub>
   之后输入以下即可:

#grub> kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2
#grub> initrd /initramfs-2.6.32-642.el6.x86_64.img
#grub> boot


     在上述步骤中由于vmlinuz-2.6.32-642.el6.x86_64和initramfs-2.6.32-642.el6.x86_64.img并没有被破坏,所以输入时可补全
  2).重启成功后在/boot/grub/下编辑grub.conf:

#vi /boot/grub/grub.conf
default=0
timeout=3
title linux    #title后可任意填写
root (hd0,0)   #此项可以不写,默认是在首块磁盘里查找
kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2
initrd /initramfs-2.6.32-642.el6.x86_64.img


 实验四:破坏或者删除/boot/grub目录并恢复

#rm -rf /boot/grub


  此实验类似于实验二破坏1.5stage阶段,恢复方法同实验二
   1).重启进入光盘救援模式
   2).

#chroot /mnt/sysimage


   3).

#grub-install /dev/sda


    重启进入:

#grub>
#grub> kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2
#grub> initrd /initramfs-2.6.32-642.el6.x86_64.img
#grub> boot


    重启系统,编辑/boot/grub/grub.conf

#vi /boot/grub/grub.conf
default=0
timeout=3
title linux    #title后可任意填写
root (hd0,0)   #此项可以不写,默认是在首块磁盘里查找
kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2
initrd /initramfs-2.6.32-642.el6.x86_64.img


 实验五:破坏或者删除/boot目录下的所有文件

#rm -rf /boot/*


  进入光盘救援模式
   1).

#chroot /mnt/sysimage


   2).

#mount /dev/sr0 /mnt


    将光盘临时挂载到/mnt上
   3).

#rpm -ivh /mnt/Packages/kernel-2.6.32-642.el6.x86_64.rpm --force|replacepkgs    或者:
#cp /mnt/isolinux/vmlinuz /boot/
#mkinitrd /boot/initrmfs-`uname -r`.img `uname -r`


     第一种方法是将光盘中的内核包进行安装;第二种比较简单,直接将光盘中的内核文件vmlinuz复制过来,再用mkinitrd脚本生成initrmfs文件
   4).恢复了内核文件和initrmfs文件后接着恢复grub目录,方法同实验实验四:

#grub-install /dev/sda


     重启进入:

#grub>
#grub> kernel /vmlinuz root=/dev/sda2
 #注意:与实验6不同的是,此阶段从光盘复制过来的内核文件只有文件名而无版本号
#grub> initrd /initramfs-2.6.32-642.el6.x86_64.img
#grub> boot


    重启系统,编辑/boot/grub/grub.conf

#vi /boot/grub/grub.conf
default=0
timeout=3
title linux    #title后可任意填写
root (hd0,0)   #此项可以不写,默认是在首块磁盘里查找
kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2
initrd /initramfs-2.6.32-642.el6.x86_64.img


 实验六:当系统安装在分区上时同时删除/boot/* /etc/fstab并恢复

#rm -rf /boot/* /etc/fstab


  进入光盘救援模式
   1).恢复fstab文件

#fdisk -l                                                   #查看哪个分区最有可能挂载在根上
#mkdir /mnt/root                                               #建立一个挂载根分区的临时目录
#mount /dev/sda2 /mnt/root                                         #假设此前sda2是挂载在根上的,将sda2挂载到临时目录上
#ls /mnt/root                                                 #再次查看并确认,如果没有看到根下的那些目录可尝试将sda3,sda4分别挂载,直到成功为止


    挂载成功后编辑fatab文件

#vi /mnt/root/etc/fstab
 /dev/sda2 /  ext4 defaults 0
 /dev/sda1 /boot  ext4 defaults 0
#reboot


     之后重启即可
   2).接下来恢复/boot/目录,方法同实验五
    进入光盘救援模式
     1).

#chroot /mnt/sysimage


     2).

#mount /dev/sr0 /mnt


     3).

#rpm -ivh /mnt/Packages/kernel-2.6.32-642.el6.x86_64.rpm --force|replacepkgs 两个选项二选一


      或者:

#cp /mnt/isolinux/vmlinuz /boot/
#mkinitrd /boot/initrmfs-`uname -r`.img `uname -r`


     4).恢复了内核文件和initrmfs文件后接着恢复grub目录,方法同实验四:

#grub-install /dev/sda


       重启进入:

#grub>
#grub> kernel /vmlinuz root=/dev/sda2
 #注意:在3)中如果是安装内核rpm包方式,vmlinuz是可以补全版本号的,而用复制isolinux/vmlinuz的方式时,内核文件只有文件名而无版本号
#grub> initrd /initramfs-2.6.32-642.el6.x86_64.img
#grub> boot


      恢复grub目录后,方法同三:
       启动成功后在/boot/grub/下编辑grub.conf:

#vi /boot/grub/grub.conf
 default=0
 timeout=3
 title linux
 root (hd0,0)   #此项可以不写,默认实在首块磁盘里查找
 kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2
 initrd /initramfs-2.6.32-642.el6.x86_64.img


 实验七:当系统安装在逻辑卷上时同时删除/boot/*、/etc/fstab并恢复

#rm -rf /boot/* /etc/fstab


  光盘救援模式
   1).恢复fstab文件

#fdisk -l                                                        #查看根最有可能的挂载逻辑卷
#lvs
#lvdisplay                                                        #列出所有逻辑卷 #vgchange -ay                                                      #激活所有卷组 #mount /dev/vg0/root /mnt/sysimage                                         #将根挂载在根目录上 #ls /mnt/sysimage                                                   #查看根上的文件


    接下来编辑fstab文件

#vim /mnt/sysimage/etc/fstab
  /dev/vg0/root /  ext4 defaults 0 0
  /dev/vg0/var /var  ext4 defaults 0 0
  /dev/vg0/usr /usr  ext4 defaults 0 0
  /dev/vg0/swap swap  swap defaults 0 0
  /dev/sda1 /boot ext4 defaults 0 0
#reboot


   2).重启再次进入光盘救援模式

#chroot /mnt/sysimage
#grub-install /dev/sda
#rpm -ivh /mnt/cdrom/Package/kernel-2.6.32-642.el6.x86_64.rpm


    或者

#cp /mnt/isolinux/vmlinuz /boot/
#mkinitrd /boot/initramfs-`uname -r`.img `uname -r`


    重启系统进入:

#grub>
#grub> kernel /vmlinuz root=/dev/sda2
#grub> initrd /initramfs-2.6.32-642.el6.x86_64.img
#grub> boot


    重启系统后编辑grub.conf文件
   3).编辑grub.conf文件

#vi /boot/grub/grub.conf
 default=0
 timeout=3
 title mageinux
 kernel /vmlinuz root=/dev/sda2
 initrd /initramfs.img

 

目录
相关文章
|
存储 JavaScript 测试技术
rpmdb损坏的修复方法
yum强制终止后,提示rpmdb损坏 error: cannot open providename index using db3 - bad file descriptor
9021 0
|
22天前
|
存储
在使用 find 命令时,如何避免误删除重要文件?
在使用 find 命令时,如何避免误删除重要文件?
27 3
|
6月前
|
存储 安全 Windows
U盘文件损坏且无法读取怎么修复?五个方法帮你搞定
U盘文件目录损坏无法读取可能是硬件、软件或人为操作导致的问题。修复方法包括:1) 使用数据恢复软件提取重要文件;2) 运行Windows的磁盘检查工具;3) 格式化U盘(数据会丢失);4) 检查U盘健康状况,如坏道修复;5) 若硬件故障,联系官方售后。在修复前,记得先备份数据。加强数据备份能减少损失。
|
3月前
|
安全 网络安全
【恶意代码系列】四、隔离、删除以及恢复
【恶意代码系列】四、隔离、删除以及恢复
修复被破坏的 vs 工程设置
修复被破坏的 vs 工程设置
|
C++ Windows
修复被破坏的 vs 工程设置(续)
修复被破坏的 vs 工程设置(续)
|
安全 Windows
使用系统文件检查器工具修复丢失或损坏的系统文件win10、win7
以管理员运行CMD命令行 sfc /scannow 流程结束后,你可能收到以下消息之一: Windows 资源保护找不到任何完整性冲突。这表示您没有任何丢失或损坏的系统文件。Windows 资源保护无法执行请求的操作。
1746 0
|
安全 .NET SQL
【代码审计】任意文件删除漏洞实例
任意文件删除漏洞,该漏洞可让攻击者随意删除服务器上的任意文件。   环境搭建: CSCMS :http://www.chshcms.com/ 网站源码版本:Cscms_v4.1正式版(发布日期:2017-06-05) 程序源码下载:https://github.
1265 0