centos6啟動故障及修復

前言

前文中我們熟悉了linux的啟動流程,如果在啟動過程中文件丟失或者損壞了怎么辦呢?難道只有重裝系統這一條路嗎?那我們不是成了普通網管了嗎?作為專業的運維工程師,我們需要掌握如何快速修復系統啟動。

實驗1: 破壞/boot/grup/下的文件——-stage2 階段  不影響啟動 

mv /boot/grub  /app———-移走左右文件保留grub.conf

實驗2:破壞/dev/sda 前446字節,和啟動相關

查看MBR

centos6啟動故障及修復

破壞grub的第一階段 stage1

centos6啟動故障及修復

centos6啟動故障及修復重啟后系統會自動直接進光盤界面,進入救援模式切根:chroot /mnt/sysimage

安裝grub:grub-install/dev/sda—–不止修復stage1 1.5、2統統修復。(第一種方法)

實驗3:破壞mbr后續的數據——-stage1.5

centos6啟動故障及修復

用光盤引導,切根(第二種方法恢復)

1、/mnt/sysimage

2、grub

3、root (hd0,0)

4、setup (hd0)——依賴于/boot/grub/下的文件

這個時候重復實驗1這時候已經起不來了,重新安裝grub后第二階段和剛開始的已經不是同一個文件了。

這時候還需要保留stage2這個文件 就可以啟動了

centos6啟動故障及修復

實驗4:制作啟動項/etc/grub.conf -> ../boot/grub/grub.conf

centos6啟動故障及修復

1、default=0 
代表默認選擇第一個

2、紅色邊框為復制添加部分

3、可以在title前或者initrd后面加入口令,可以加密

centos6啟動故障及修復

生成方法:

centos6啟動故障及修復

加密算法2:ssha512算法 更安全

centos6啟動故障及修復

4、內核參數 /proc/cmdline,可進行修改centos6啟動故障及修復quiet是隱藏內核的啟動過程,刪除可以看到內核過程

實驗5:刪除/boot/grub/grub.conf,修復

centos6啟動故障及修復

注意:必須事先知道root在哪,支持tab健補全。

實驗6:刪除/boot/grub目錄

報錯信息

centos6啟動故障及修復

進入光盤救援模式:     1、chroot  /mnt/sysimage

                                  2、grub-install /dev/sda

                                  3、sync

                                  4、手動寫一個grub.conf文件

centos6啟動故障及修復

實驗7:刪除/boot   
包含內核文件vmlinuz、虛擬文件系統 inittrd、grub

重啟錯誤信息

centos6啟動故障及修復

1、進入光盤模式

chroot
/mnt/sysimage

mount
/dev/sr0 /mnt

2、恢復vmlinuz文件——–光盤復制內核包   在光盤中isolinux文件夾中,不在packages中

(第二種方法rpm -ivh /mnt/packages/kernel… –force—————-安裝內核包)

3、恢復initramfs   

mkinitrd /boot/initramfs.img `uname -r`

4、恢復grub—————grub-install /dev/sda

5、編輯grub.conf

centos6啟動故障及修復

實驗8:刪除/sbin/init

1、看到這個界面輸入a

centos6啟動故障及修復

2、添加init=/bin/bash  指定系統不用默認的init啟動  指定bash啟動

centos6啟動故障及修復

3、查詢到文件來自于的包組

centos6啟動故障及修復

4、試圖創建發現是只讀,也無法掛載光盤,需要重新掛載根

centos6啟動故障及修復

重新掛載根

centos6啟動故障及修復

掛載光盤

centos6啟動故障及修復

5、安裝包

centos6啟動故障及修復

綜合實驗9:刪除/etc/fstab和/boot  兩個文件 恢復

centos6啟動故障及修復

1、進入光盤救援模式

這個時候光盤也無法掛載根,找不到分區

centos6啟動故障及修復

centos6啟動故障及修復

2、使用fdisk -l 
/dev/sda   、blkid 可以看到磁盤信息

centos6啟動故障及修復

3、創建文件,然后每個分區試圖掛載,找到根和boot

4、創建創建文件,不支持vim,寫完退出重啟一下 重新進救援模式,實現自動掛載,不要手動掛載

centos6啟動故障及修復

centos6啟動故障及修復

5、直接安裝內核包

centos6啟動故障及修復

6、安裝grub

grub-install /dev/sda

編輯grub.conf文件

centos6啟動故障及修復

技巧:可是要vim直接讀入名字,無需手寫”r!”

總結:通過以上實驗,對基本的故障都能恢復,結合啟動過程,對linux應該會有一個更深層次的了解。

原創文章,作者:eleven,如若轉載,請注明出處:http://www.www58058.com/86073

(0)
eleveneleven
上一篇 2017-09-03
下一篇 2017-09-03

相關推薦

  • Linux之Centos系統的啟動流程詳述

    概述 了解系統的啟動流程,有助于我們了解Linux系統上的一些工作原理,有助于我們深入的理解一個系統的運作方式,那么本篇就以CentOS6系統為例,介紹一下有關Linux系統啟動相關的內容,分為一下幾個部分 1、Linux系統的一些基礎概念 2、CentOS6上的啟動流程概述 第一章 Linux系統的一些基礎概念 Linux系統的組成部分:內核(kernel…

    Linux干貨 2016-09-29
  • 如何恢復誤刪除的rpm包命令

    如何恢復誤刪除的rpm包命令 在linux學習過程中,我們會遇到各種各樣的問題,當然,如果能夠將遇到的問題一一解決也是非常開心的,因為在解決問題的過程中我們的專業技能也得到了很大的提升。最近的測試中遇到了一個平時很少接觸的問題:如何恢復誤刪除的rpm包命令。所以覺得有必要寫下來,以防止下次出現類似的問題而不會解決。 首先模擬卸載rpm rpm -e &#82…

    2017-08-26
  • iptables, sudo N28

    2018/2/25 17:14 第十二周

    2018-02-25
  • 馬哥教育網絡班20期+第6周練習博客

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@bogon ~]# cp /etc/rc.d/rc.sysinit  /tmp/rc.sysinit […

    Linux干貨 2016-07-22
  • Linux基礎—磁盤管理

    1、創建一個10G分區、并格式化為ext4文件系統 1)要求其block大小為2048,預留空間百分比2,卷標MYDATA,默認掛載屬性包含acl 2)掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳 #mkfs.ext4 -b 2048 -m 2 -L my…

    Linux干貨 2016-11-17
欧美性久久久久