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 12:55
下一篇 2017-03-30 15:10

相关推荐

  • 根据作业浅析正则表达式

        什么是正则?正则就是,那种体现出某种规律的不变性或者对称性的物理量或关系。     正则表达式(Regular Expression):由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能(linux中,可以使用:man …

    Linux干货 2017-07-30
  • 第一篇

     新的征程又开始了,努力吧!

    Linux干货 2016-12-26
  • 交换分区创建和磁盘配额的使用

    一、交换分区的建立与启用:     交换分区是作为内存的一个辅助分区,在内存吃紧时,交换分区会作为内存的一部分使用,但是效率比起内存来说会很低下,在一个硬盘分区时最好使用柱面较小的柱面作为交换分区,因为在机械硬盘转速一定的情况下,越靠近外面的磁道,线速度越大,读取到的扇区越多,一定程度上有利于提高性能   &…

    Linux干货 2016-08-29
  • N28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-30
  • 马哥教育网络班25期-第3周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who root     tty1         2016-12-…

    Linux干货 2016-12-19
  • Python

    Python中os和shutil模块
    csv文件和ini文件简介

    Linux干货 2017-10-30