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.www58058.com/72190

(0)
sheweishewei
上一篇 2017-03-30 12:55
下一篇 2017-03-30 15:10

相關推薦

  • 馬哥教育網絡班20期+第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@llww3317 ~]# cp -r /etc/skel /home [root@llww3317 ~]# mv /home/ske…

    Linux干貨 2016-07-05
  • Function函數實例

    函數:function     把一段獨立功能的代碼當做一個整體,而后為之取一個名字,命令的代碼段,即為函數。 注意:     定義函數的代碼段不會自動執行,在調用時執行;所謂調用函數,在代碼中給定函數名即可     函數名出現的任何位置,…

    Linux干貨 2016-08-21
  • 管道及重定向

    管道及重定向 1、重定向 在Linux中有時我們在命令的執行過程中,不想將執行結果顯示到屏幕上,或者將其結果輸出到其他位置 這時就需要重定向來解決這個問題了 首先了解一下Linux中的3種I/O設備: 0:標準輸入 1:標準輸出 2:標準錯誤輸出 輸出重定向:> >> 輸入重定向: < << >:將標準輸出重定向到文…

    Linux干貨 2017-07-28
  • Linux進程管理

    一:進程的概念     1)進程:process,運行中的程序的一個副本的某部分,之所以說是副本的一部分是因為一個程序可以多個用戶同時以不同格式運行,如兩個用戶都在運行ls,一個運行的是ls -h ,另一個運行的是ls -l,那么這兩個用戶運行的程序代碼肯定是不一樣的而且不是程序的所有代碼;進程有生命周期; &nbsp…

    2017-03-26
  • linux軟件包管理

    linux軟件包管理 簡介     在Linux系統中,軟件包的安裝和管理是很重要的知識,而linux/unix一個麻煩的地方就是軟件安裝程序比較麻煩和復雜,尤其是當所安裝的軟件包要處理較多的包依賴關系,這就更讓人頭疼了,最常見linux軟件安裝方式有三種:     本文主要介紹Linux中RedHat或CentOS發…

    系統運維 2016-05-05
欧美性久久久久