修復grub文件的幾個方法

1、grub配置文件簡介shell

      grub是一個來自GNU項目的多操做系統啓動程序,可用於在計算機啓動時選擇但願運行的操做系統或操做系統內核。grub由系統安裝程序自動安裝於MBR中,一般其引導主程序位於/boot分區的grub文件夾,配置文件爲grub.conf。ide

wKioL1MaqcHDh0HmAADeUFb18Jg635.jpg


grub.conf配置文件各字段說明
default 指定默認啓動的內核或OS,值爲數字
timeout 等待用戶選擇要啓動的內核或OS的時長,值爲數字,單位爲秒
splashp_w_picpath 指定使用的背景圖片,路徑開頭要使用相似於(hd0,0)表示哪塊硬盤、硬盤的哪一個分區
hiddenmenu 是否隱藏菜單,有這個字段則表示隱藏菜單,沒有則表示顯示
title 每一個可選系統的名稱
root 表示系統/boot分區所在硬盤的位置,也就是grub所在的位置,(hd0,0)在grub中用hd開頭表示硬盤,並緊跟一個數字作各磁盤設備的標記,從0開始編號,第二個零表示硬盤的第一個分區,0-3爲主分區。
kernel

指定內核文件及傳遞給內核的參數工具

內核文件路徑以/boot爲根路徑;ui

ro 表示只讀方式掛載,爲了避免讓設備損壞,以後還要從新以讀寫方式掛載設備;加密

root=/path/to/Device 指定真正的根分區設備,表示把此設備給內核真正的根分區使用spa

quiet 內核初始化以靜默模式執行,表示不輸出任何初始化信息操作系統


initrd 此文件爲加載內核的引導工具,一般以cpio歸檔,並使用gzip壓縮,一般以.img做爲文件名後綴
password

給 grub菜單添加密碼,需要指定加密方式例命令行

password --md5 $1$dnyTb1$VhieitehIKjT4Q3r/h/YT/3d


2、grub修復blog

   當grub錯誤後,一般進不了系統,若是系統尚未關機則能夠手動添加grub.conf配置文件。若是系統已經關機了,則可使用grub命令進入grub命令行模式引導系統。若是grub.conf文件存在,可是grub的其它程序出錯了,則可使用setup命令從新安裝MBR,或者可使用grub-install命令從新安裝grub並添加grub.conf配置文件。

一、使用grub命令引導系統

(1)、首先咱們模擬一個出錯的環境,手動移動grub.conf配置文件,並重啓

wKiom1MatGaDc0soAAAmpN4HnJY206.jpg

(2)、開機後grub由於找不到grub.conf配置文件,於是引導程序會自動進入grub命令行模式。

wKiom1MatPOiKZtSAAC65x2Jrv8497.jpg

輸入:help 能夠得到幫助命令

wKioL1MatQzDLCBRAAJqOGgsS84077.jpg

(3)、咱們需在此環境下使用grub手動配置一個臨時的grub.conf文件先讓系統可以正常開機。從配置文件的幾個參數中可知道,咱們要先找到/boot分區所在位置,若是不知道則可使用find命令查找內核文件(文件名一般爲vmlinuz開頭),由於內核文件所在路徑即爲/boot分區。假設咱們不知道/boot分區在哪塊硬盤的哪一個分區,因而咱們從(hd0,0)開始使用find命令試。

wKiom1Matq2ga3ePAAATQ_98F5E418.jpg

按Tab鍵試試能不能自動補全。

wKioL1MatsDzFeC9AAAkMu8CnZQ501.jpg

文件自動補全了,說明/boot分區就在(hd0,0)中。接下來能夠開始配置其它參數了。

(4)、配置root

wKiom1Mat2zxNXxgAAA9I8uk8Tg112.jpg

(5)、配置kernel,指定內核文件路徑,以只讀方式掛載,指定根分區設備,靜默模式

wKiom1Mat8axqK1uAABf6n4Ygaw375.jpg

(6)、配置initrd,指定initrd文件

wKiom1MauD-y5Gy_AABP9Uzlk5g061.jpg

(7)、配置好後,輸入 boot 就能夠進入系統了,進入系統的第一件事情就是先在/boot/grub/目錄下,建立grub.conf文件。


二、使用grub-install命令從新安裝grub

假如計算機開機連grub命令模式也進不了,怎麼辦呢。這時使用安裝光盤引導系統進入緊急救援模式,使用grub-install命令從新安裝grub而後再配合使用grub命令進入系統添加配置文件。

(1)、使用光盤引導系統,選擇緊急救援模式進入系統。

wKioL1MaupaRYbjIAAMBoAz9RSg065.jpg

(2)、根據提示能夠知道,系統根目錄掛載於/mnt/sysp_w_picpath,進入shell環境。

wKiom1Mau62AmhuDAABnPvpONHE455.jpg

(3)、使用chroot命令切換根目錄

wKioL1MavWaD4g_hAAAhdGUn7Po496.jpg

(4)、使用grub-install命令安裝grub

grub-install root-directory=/ /dev/sda

--root-directory參數的值的/boot分區的父目錄,在當前系統下也就是根,/dev/sda表示安裝在第一塊硬盤。

wKioL1MavjbTrCcCAADwFK_XRXo515.jpg


二、使用setup從新安裝MBR

同上使用光盤引導系統,進入救援模式,而且 chroot /mnt/sysp_w_picpath 切換根目錄。

(1)、使用grub命令,進入grub模式

(2)、指定/boot分區

wKiom1Mav_aw4vHKAABChbnvM68602.jpg

(3)、使用setup命令安裝MBR,而且指定哪塊硬盤。

setup (hd0)

wKiom1MawGTRPt98AAEcSQyRz-Q459.jpg

(4)、安裝成功後,進入系統的/boot/grub目錄,手動配置一個grub.conf文件,修復成功。

相關文章
相關標籤/搜索