linux系统启动之破坏与修复

linux系统启动之破坏与修复:

     通过这些实验,了解linux启动流程和相关文件,同时也预防系统发生问题能更快解决,而不用重装或者耽误时间:

    

实验:破坏MBR 446

    dd if=/dev/zero of=/dev/sda bs=1 count=446
进入救援模式
    chroot /mnt/sysimage        
    grub-install /dev/sda     #安装grub,此命令会重新制作grub目录,不包括目录下的grub.conf

实验:centos6破解root口令

实验:破坏stage1.5
dd if=/dev/zero of=/dev/sda bs=10240 count=1 seek=512
救援模式
chroot /mnt/sysimage
方法1
grub-install /dev/sda 
方法2
grub
grub> root (hd0,0)
grub> setup (hd0) /boot/grub/*1_5
grub> quit

实验:加密grub,防止单用户进入
vim /boot/grub/grub.conf
title前
password PASSWORD

grub-md5-crypt 生成md5
password –md5 $1$NQ8mVMDrE0

grub-crypt 生成sha512
password –encrypted $6$NQ8mVM7bD7tVBijD$ab3WEOmKZQ8NvXDnL5ym23hC.1hnkAEBzrLv/BSgkxuTD1pXbF/4kBXDMDOJhAoBsMMVPyOZg4GuyrIMLkDrE

救援模式 破解grub口令;直接切换进根目录,删除grub.conf中的密码

实验:rm -rf /boot/grub
      grub.conf 
实验:rm -rf /boot           #先恢复boot目录下的内核,initramfs.img.和grub文件,然后再恢复
                              gurb.conf文件
救援模式
chroot /mnt/sysimage
cp /mnt/isolinux/vmlinuz /boot/
mkinitrd /boot/initramfs.img uname -r
grub-install
  
  以下是恢复 grub.conf文件
vim /boot/grub/grub.conf
default=0        #更目录对应的硬盘;0表示第一个硬盘,1是第二个
timeout=3
title mageinux
kernel /vmlinuz root=/dev/sda2   # root 指定根目录的所在的光碟,先df看 /  在哪个位置
initrd /initramfs.img

实验:rm -rf /boot /etc/fstab 分区
恢复/etc/fstab
1
光盘救援模式
fdisk -l 
mkdir /mnt/root
mount /dev/sdaN /mnt/root         #因为没分区表,救援模式会认为没有硬盘,需要手动挂载
ls /mnt/root
/  /var/ /usr                     #df查看有那些目录需要挂载,/   /var /sur 
vi /mnt/root/etc/fstab
/dev/sda2 /  ext4 defaults 0
/dev/sda1 /boot  ext4 defaults 0
reboot                            #手动编辑挂载文件,重启再次进入救援模式
2
chroot /mnt/sysimage
grub-install /dev/sda
cp /mnt/isolinux/vmlinuz /boot/     #缺失内核文件,建议直接拷贝光碟 /mnt/isolinux/vmlinuxz
mkinitrd /boot/initramfs.img uname -r   #生成initramfs.img文件,后面的uname -r 
                                          表示参照内核
3
vim /boot/grub/grub.conf
default=0
timeout=3
title mageinux
kernel /vmlinuz root=/dev/sda2
initrd /initramfs.img              #grub.conf 五部曲

实验:rm -rf /boot /etc/fstab 逻辑卷.

光盘救援模式
fdisk -l 

lvs
lvdisplay 
vgchange -ay               #激活所有卷组,救援模式中的逻辑卷都需要手动启动然后挂载
mount /dev/vg0/root /mnt/sysimage
ls /mnt/sysimage
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.
或者                                #挂载完毕后再次进去救援模式,拷贝生成/boot下的文件
cp /mnt/isolinux/vmlinuz /boot/
mkinitrd /boot/initramfs.img uname -r

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

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/72190

(0)
sheweishewei
上一篇 2017-03-30
下一篇 2017-03-30

相关推荐

  • Python修饰器的函数式编程

    Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(一些小功能,这些小功能可能好多模块都会用到),但又不让这个小…

    Linux干货 2016-08-15
  • 计算机基础

    计算机基础知识简单介绍

    2018-03-28
  • Linux基础知识之history命令详解

     该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统。 为什么要学习history命令?     history命令是Linux的一个内嵌的shell命令,history命令的使用有时会大大缩短我们输入命令的时间,达到节省命令快捷操作的要求。学…

    Linux干货 2016-07-27
  • vim学习

    vim学习 认识与介绍   vim是一款linux下查看编辑文本文件的一款文本编辑器。一般用来查看修改配置文件、日志文件等文本类文件。 打开文件   vim [OPTIONS] [FILE …]     +#: 打开文件后,直接让文件处于第#行     +/…

    Linux干货 2016-10-09
  • 优云软件老司机:如何让运维操作更轻松、高效

    讲师介绍 庞辉富 •广通软件技术总监 •拥有10多年IT运维管理软件研发经验 •致力于自动化运维解决方案的研究和推广 •主导研发的产品广泛应用于海关、公安、能源等多个行业 技术发展给运维带来的挑战 当前的IT建设在这些新技术的演进下,我们看到的是呈现“双态IT”特征。Gartner也提出双模IT理论,与现在谈的双态IT是异曲同工的,不再是一种单纯的形态,而是…

    系统运维 2017-01-09
  • 特殊权限及facl

    Linux系统上的特殊权限          特殊权限:SUID,  SGID,  STICKY 安全上下文:         1、进程以某用户的身份运行,进程是发起此进程用户的代理,因此用户的身份和权限完成所有操作;     &…

    Linux干货 2016-11-07