Linux系統修復

boot里面我們可以根據自己的需求去設置一些啟動選項,我們今天來了解一下Linux啟動流程,以及boot下的選項。

     wKiom1fXmpOgvkf1AAFXG-vVIDs288.png

    1. 加載BIOS的硬件信息,獲取第一個啟動設備。

    2. 讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息

    3. 加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備。

    4. 核型執行init程序并獲取運行信息。

    5. Init執行/etc/rc.d/rc.sysinit文件。

    6. 啟動核心的外掛模塊(/etc/modprobe.conf)。

    7. Init執行運行的各個批處理文件(scripts).

    8. Init執行/etc/rc.d/rc.local.

    9. 執行/bin/login程序,等待用戶登錄。

    10. 登錄之后開始以Shell控制主機。

   POSTPower-On-Self-Test,加電自檢,是BIOS功能的一個主要部分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、串并行接口、鍵盤、 CD-ROM光驅等硬件情況的檢測。

   ROM BIOS, Basic Inputand Output System,保存著有關計算機系統最重要的基本輸入輸出程序,系統信息設置、開機加電自檢程序和系統啟動自舉程序等。

   RAM CMOS互補金屬氧化物半導體,保存各項參數的設定按次序查找引導設備,第一個有引導程序的設備為本次啟動設備bootloader: 引導加載器,引導程序

    Boot Loader:主要功能識別.加載操作系統中的核心文件,并提交到內存中運行,進而啟動對應的操作系統,每一種操作系統都有自己單獨的Boot Loader,只有使用自己的Boot            Loader才可以加載到自己的核心文件。Boot Loader另一個主要功能是提供菜單信息(可以向使用者提供不同的啟動項目,來加載不同的操作系統),并將啟動管理功能

          轉交給其他的加載程序。

   Linux:功能豐富,提供菜單,允許用戶選擇要啟動系統或不同的內核版本;把用戶選定的內核裝載到內存中的特定空間中,解壓、展開,并把系統控制權移交給內核

    stage1:運行boot Loader的程序與配置項加載分成三個階段(stage)來運行,MBR空間有限,因此在MBR中僅安裝Boot Loader的最小主程序,并沒有安裝Boot Loader的相關配置文件

    stage1_5:在MBR隨后的扇區中存放,主要用于與stage2所在分區的文件系統進行交互。

    stage2:通過Boot Loader加載所有配置文件及相關的環境參數信息,這些配置文件及相關的環境參數都存放于磁盤分區上的/boot目錄上。

    grub:最重要的一部分就是識別磁盤信息,grub對硬盤的識別是通過以下方式:

    (hd0,0)

     1.硬盤代號以小括號()括起來;

     2.硬盤以hd表示,后面會接一組數字,數字之間以逗號隔開;

     3.以搜尋到的順序來作為磁盤的編號,而非根據磁盤的排線編號(多硬盤情況下, 搜尋的次序是根據bios中設置的啟動順序,而非插槽編號);

     4.第一個搜尋到的磁盤編號為0,第二個為1,一次類推。

     5.每塊磁盤上的第一個分區編號為0,第二個分區為1,以此類推。

      #:因此(hd0,0)就表示第一塊磁盤上的第一個分區。

     default=0

         表示默認的啟動條目,假如同時裝有多個操作系統,0表示定義的第一個title系統,1表示定義的第二個title系統,以此類推

     timeout=5

         表示可供選擇的等待時間,如果超過5秒,則使用默認的啟動條目default定義的

     splashimage=(hd0,0)/grub/splash.xpm.gz

          定義啟動時的背景圖片信息

     hiddenmenu

         啟動時是否要顯示菜單,默認情況下是不顯示菜單信息,如果想要顯示菜單,可以將該配置注釋即可;

   注釋菜單:

    title:定義操作系統的名稱

    root :表示內核文件存放的位置,這里指定的是分區位置,而非根目錄。

    kernel:內核的名稱以及一些啟動時的核心參數,由于啟動過程中需要掛載根目錄,因此就需要指定根目錄所在的分區,rhgb表示色彩顯示,quiet表示靜默模式加載內核。

    initrd:指定用于輔助內核完成系統啟動的ramdisk文件路徑再次在內存緩存

     

   默認啟動級別:

     wKiom1fXu5TAfTjHAACSE2UUE-8455.png

       0:關閉所有服務;關機

       1:維護模式;單用戶模式,sigle模式,此級別可允許root用戶直接登錄而無需認證。

       2:維護模式;多用戶模式,需要用戶認證,會啟動網絡功能,但不支持使用NFS。

       3:正常級別:完全多用戶模式,文本界面。

       4:預留級別:

       5:正常級別:完全多用戶模式,圖形界面。

       6:關閉所有服務;重啟

      #:通常使用較多的默認級別為3或者5,服務器基本上默認使用3級別,即文本界面。

      #:查看當前運行的級別可以使用runlevel或者who -r

    wKiom1fXv4SirhdrAAANLaqb-50098.png

     #:禁用Ctrl+Alt+Delete重啟;(centos 6)

       1.cp -v /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.override

       2.vim /etc/init/control-alt-delete.override

       3.將exec /sbin/shutdown -r now "Control-Alt-Delete pressed"改為exec /usr/bin/logger -p authpriv.notice -t init"ctrl-alt-del was pressed and ignored"

破壞及修復:

    stage1:破壞

        [root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

        [root@localhost ~]# hexdump -Cv /dev/sda -n 446

    stage1:修復

    1.重啟并進入救援模式

   wKioL1fX49awI9ZPAAaPweiQpDs109.png

    2.選擇語言

   wKiom1fX49eAO2vXAAAgZ9F8xuY564.png

    3.設置網絡選擇NO

   wKioL1fX49fAhxldAAAQtj1BbWU326.png

    4.輸入continue

   wKiom1fX49jzcJ0oAAA4dlILxeU534.png

    5.打開shell終端,并切換至根目錄,chroot /mnt/sysimage/

   wKiom1fX49jCVy3vAAAt24xGrcM164.png

    6.錯誤輸出信息可以忽略,看到設設備信息即可。

   wKioL1fX49jiaqbPAABMH7Cz1YA450.png

   wKiom1fX49njaKodAAAeMC6y6iI013.png

    7.就此stage1已經修復完成,重啟即可完成。

 stage1_5:破壞

    dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1

 stage1_5:修復

    1.重啟系統

    2.光盤啟動,進入救援模式。

   wKiom1fX557i1Jp8AABbIdJfE8I313.png

    3.使用grub工具修復引導文件,修復完成,直接重啟即可。

 boot:破壞,直接刪除boot目錄

 boot:修復

    1.刪除boot目錄下全部文件并重啟

     [root@localhost ~]# rm -rf /boot/*

    2.重啟并進入救援模式

   wKiom1fX7V6yCnJPAAAOckqUR5A100.png

    3.進入根目錄,掛載鏡像

   wKioL1fX7V_D9MLBAAAczt0S0NI284.png

    4.重新安裝kernel

   wKiom1fX7V_iSKEWAAAS60MhvuQ563.png

    5.修復引導文件

   wKioL1fX7V-xsEYuAAAQOJECVzg863.png

    6.編輯/etc/grub.conf配置文件

   wKioL1fX7WCioHiNAAAwbP91_gk683.png

    7.修復完成,重啟即可。

 boot:破壞    

    [root@localhost ~]# rm -rf /boot/*

 fstab:破壞

    [root@localhost ~]# rm -rf /etc/fstab

 引導修復,fstab文件修復。

    1.重啟并進入救援模式。

    2.我們會發現系統檢測不到根目錄,因為我們把/etc/fstab刪除了

   wKioL1fX9nuinS0lAAArbI9sj64838.png

    3.查看邏輯卷,并激活邏輯卷,默認關閉狀態

   wKioL1fX9nyz31ECAAAaUugGEzw071.png

    4.掛載根目錄。

   wKiom1fX9nzzonHHAAAFe9tMKps663.png

    5.新建/etc/fstab并寫入掛載信息,重啟進入救援模式,讓系統自動檢測。

   wKioL1fX9nzjvJ4bAAAqG7z5LQM133.png

    6.這里我們發現系統已經檢測到了路徑/etc/sysimage

   wKiom1fX9n2BUsbhAAA6zxq8hLA435.png

    7.重新進入根目錄,掛載鏡像文件。

   wKioL1fX9n7iogc1AAAWXe5cEzY544.png

    8.重新安裝kernel,并修復引導文件

   wKiom1fX9n7xihH3AAApErgQoBY624.png

    9.編輯/etc/group引導文件

   wKiom1fX9n6Rzv4tAAAvObH63oQ324.png

    10.到這一步已經修復完成了,直接重啟即可正常進入系統。

原創文章,作者:鬧鐘哥,如若轉載,請注明出處:http://www.www58058.com/46282

(0)
鬧鐘哥鬧鐘哥
上一篇 2016-09-13
下一篇 2016-09-13

相關推薦

  • 關于網絡配置管理

                                                      &nbsp…

    系統運維 2016-09-07
  • CentOS系統安裝

    centos系統安裝        安裝程序:anaconda,Anaconda是RedHat、CentOS、Fedora等Linux的安裝管理程序。它可以提供文本、圖形等安裝管理方式,并支持Kickstart等腳本提供自動安裝的功能。此外,其還支持許多啟動參數,熟悉這些參數可為安裝帶來很多方便。該程序的功能是把位于光…

    Linux干貨 2016-09-23
  • openssl基礎應用

    參考http://www.www58058.com/2704 http://www.williamlong.info/archives/837.html 一、前言 什么是openssl?講openssl之前我們先了解下什么是ssl?ssl是secure socket layer的簡稱,其使用對稱加密解密,非對稱加密解密(公鑰加密解密),單向加密解密結合證書實…

    Linux干貨 2015-09-27
  • 計算機組成及功能簡介

    計算機(computer)       當今它已經走進千家萬戶,應用在各個領域,沒有用過計算機的朋友應該很少了吧?但是,你真正了解計算機是什么嗎?(我也是剛剛了解的,(*^__^*)嘻嘻……)那么,接下來,讓我們一起探究一下它的具體構造吧!       所謂的計算機就是…

    Linux干貨 2016-10-25
  • Linux ansible 服務

                      Linux ansible 服務 Ansible:    運維工具的分類: agent:基于專用的agent程序完成管理功能,puppet, func, zabbix, … agentless:基于ss…

    系統運維 2016-11-19
  • openvpn安裝配置過程

    前言     之前為了方便遠程辦公時訪問公司的內部系統,如:svn、OA、wiki、禪道等等;通通在防火墻上做了端口映射。然后有個內部系統被黑了,各種弱口令沒辦法。果斷關閉端口映射,看來還是得搭建個VPN服務器,vpn設備感覺大材小用。馬上就想到了開源的openvpn,下面就來介紹openvpn的安裝配置過程。 ope…

    Linux干貨 2015-05-11
欧美性久久久久