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

相关推荐

  • FHS文件系统各目录功能

    / 根目录。 包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。 /boot 引导程序,内核等存放的目录。 这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操作系统内核相关文件(例如vmlinuz等一般都存放在这里。在最开始的启动阶…

    Linux干货 2016-10-20
  • thinkpad e420编译安装thinkfan控制风扇

    我的笔记本是win7+linuxmint双系统,在进入linuxmint长时间运行后会明显感觉发热,我发现笔记本风扇的转数过低,导致热量不能发散出去,解决方法就是安装thinkfan风扇控制软件。 1、下载软件包 https://sourceforge.net/projects/thinkfan/ 最新版本是1.0beta2 2、编译安装 编译前确保安装过c…

    Linux干货 2017-03-09
  • N28-第一周

    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,並描述不同發行版之間的聯繫與區別。
    3. 描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
    4.說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
    5.如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的?
    6.請羅列Linux發行版的基礎目錄名稱命名法則及功能規定。

    Linux干货 2017-12-04
  • 冥界之王-第8周作业

       1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。     网桥:网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,        &nbs…

    Linux干货 2016-10-23
  • 学习新技术的10个建议

    我们生活在一个振奋人心的时代。我们可以越来越方便廉价地获得大量学习资源。这些资源的传播载体由最初的教室被变成了博客,技术论坛等。坐拥如此众多的学习资源,我们没有任何理由不去好好利用。随之而来的问题便是如何在这知识的海洋中选择自己的前进方向。在这篇文章中,我将简要概括一些技术学习的建议,希望可以给你带来一些启发。 尽管我的建议主要涉及的是软件开发方面,但是这些…

    Linux干货 2015-03-20
  • Linux命令中特殊符号的用法

    Linux命令中特殊符号的用法 在马哥教育学习了将近一周的Linux运维,由最初对Linux系统的一无所知,到了解了Linux的发展历程,学习了一些基本命令,惊叹于Linux的强大功能。下面根据我学到的,介绍一下关于Linux命令中特殊符号的用法。 $的用法 1.$()或’’引用命令执行的结果 例如:如果我们想要创建一个以当前日期命名的目录,可以执行 #mk…

    2017-07-15