linux的CentOS系統啟動故障與修復

    以CentOS 6為例,系統的啟動流程為:

1.開機post加電自檢

2.MBR引導

3.通過grub加載內核

4.加載根

5.加載系統中的第一個進程

6.進行初始化

7.出現登錄界面

    其中主要的啟動環節是grub引導計算機,分為三個階段:一階段發生在mbr的446字節中;一點五階段在mbr后續的扇區中;二階段在/boot/grub/目錄下。

當三個階段中任意一個階段被破壞后,計算機就會無法啟動,所以要針對不同的破壞實施不同的修復措施。

一、一階段的破壞及修復方法:

1.破壞一階段:dd if=/dev/zero  of=/dev/sda  bs=1 count=446 (清空mbr中446字節的內容)

2.修復:

a.利用光盤啟動進入救援模式

b.chroot /mnt/sysimage (切根)

c.grub-install  /dev/sda (此命令的作用是重新安裝grub,不僅可以修復一階段,還可以修復一點五與二階段的破壞)

d.sync (同步操作)

e. hexdump -C -n 512 /dev/sda  (查看是否修復數據)

f.重新啟動

    進行以上步驟,就可以正常啟動計算機了。如圖所示:

linux的CentOS系統啟動故障與修復

linux的CentOS系統啟動故障與修復

linux的CentOS系統啟動故障與修復

二、一點五階段的破壞與修復:

1.破壞一點五階段: dd if=/dev/zero  of=/dev/sda  bs=1  count=10240 skip=512 seek=512

2.修復:

a. 進入救援模式

b. 切根:chroot  /mnt/sysimage

c. 可用grub-install 修復,也可以輸入grub,出現提示符——輸入root(hd0,0),表示root是第一個硬盤的第一個分區——輸入setup (hd0)

d.退出重啟

linux的CentOS系統啟動故障與修復

linux的CentOS系統啟動故障與修復

三、二階段的破壞與修復:

1.破環:刪除/boot/grub下的文件,只留下grub.conf文件

  修復:使用grub-install  /dev/sda 命令,重新安裝grub


linux的CentOS系統啟動故障與修復


linux的CentOS系統啟動故障與修復


2.破壞:刪除grub.conf文件

   修復:grub.conf文件負責提供啟動時的菜單選項,刪除這個文件,需要手動輸入文件的主要內容:

   a.啟動時停滯在grub界面,手動輸入root (hd0,0),回車

   b.輸入kernel  /VMlinuz版本(支持Tab鍵補全) root=/dev/sda2,回車

   c.輸入 initrd  /initramfs版本

   b.啟動后可恢復grub.conf文件


linux的CentOS系統啟動故障與修復


linux的CentOS系統啟動故障與修復


3.破壞:刪除 /boot/grub/目錄

   修復:進入救援模式,切根

   a. grub-install  /dev/sda (重裝grub)

   b.sync (同步)

   c.手動創建grub.conf文件:vim /boot/grub/grub.conf

                                        default=0

                                        timeout=3

                                        title linux

                                        kernel  /vmlinuz版本   root=/dev/sda (boot所在分區)

                                        initrd   /initranfs版本

d.重啟

linux的CentOS系統啟動故障與修復

linux的CentOS系統啟動故障與修復 

linux的CentOS系統啟動故障與修復

 

linux的CentOS系統啟動故障與修復

     總結:通過修復啟動各種階段的故障,可以進一步的了解系統啟動的過程,對linux系統也加深了認識。

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

(1)
xiamuxiamu
上一篇 2017-09-03
下一篇 2017-09-03

相關推薦

  • Linux基礎解析;echo;man;centos;runlevel;PS1;screen;shell 倒三角;date -d等命令—-fazion blog at22.July

    Linux基礎解析 fazionlan blog in 178Linux.July 20nd. 內核、版本信息 # uname -a                 &n…

    Linux干貨 2016-07-29
  • CentOS 6開機啟動流程理論篇

    CentOS 6開機啟動流程理論篇 centos 系統的啟動流程 grub 破壞Linux的核心文件再修復體驗系統啟動流程 概述 任 何系統啟動的第一步必然是加電,然后計算機硬件會主動地讀取BIOS來加載硬件設備信息并檢測,之后系統會主動地讀取第一個有引導程序的設備,該引導程序 (grub)可以指定使用哪個內核來啟動,并將其加載至內存當中運行,同時內核還要加…

    Linux干貨 2016-09-19
  • 馬哥教育網絡班第19期+第8周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:一種網路裝置,負責網路橋接,將網絡的多個網段在數據鏈路層連接起來。 集線器:將多條以太網線或光纖集合連接在同一段物理介質下的裝置。工作在物理層。 二層交換機:工作在數據鏈路層,交換機內部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應,形成一張MAC表。在今后的通…

    Linux干貨 2016-08-22
  • 關于shell腳本基礎編程第四篇

                                    shell腳本基礎編程第四篇本章主要內容:函數 函數 function:     &n…

    系統運維 2016-08-24
  • 基于Redis的開源分布式服務Codis

    Redis在豌豆莢的使用歷程——單實例==》多實例,業務代碼中做sharding==》單個Twemproxy==》多個Twemproxy==》Codis,豌豆莢自己開發的分布式Redis服務。在大規模的Redis使用過程中,他們發現Redis受限于多個方面:單機內存有限、帶寬壓力、單點問題、不能動態擴容以及磁盤損壞時的數據搶救。 Redis通常有3個使用途徑…

    Linux干貨 2015-02-25
  • find 的使用及練習

    find是個使用頻率比較高的命令。常常用它在系統特定目錄下,查找具有某種特征【名字類型屬主權限等】的文件。find命令的格式: find  [-path ..] -options [-print -exec -ok] path:要查找的目錄路徑。 ~ 表示$HOME目錄 . 表示當前目錄 / 表示根目錄 -print :表示將結果輸出到標準輸出-e…

    Linux干貨 2017-06-11
欧美性久久久久