歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> grub原理及使用詳解

grub原理及使用詳解

日期:2017/2/28 14:51:23   编辑:Linux教程

實驗環境VMware+CentOS 5.4。

本文將會介紹Grub的基礎知識、Grub的完整安裝引導過程、Linux硬盤分區基本知識等。

grub(GrandUnified Boot Loader)是有名的引導內核程序(另外一款比較有名的是LILO,嵌入式環境使用U-boot、bootloader),它支持多種硬盤分區類型加載(FAT,ext2,ext3,minix,FFS等),支持多系統引導等。現在出的grub2是grub的升級版,提供更多的功能,但一個grub能實現內核正確的引導已經足夠了,按這樣發展下去,很多開源軟件雖然支持的功能越來越強大,但對應的代碼量也是非常龐大,這就加大了新人對其學習的難度,也不適於學習。話又說過來,相應軟件的原始版本一般都會保留下載,所以可以找其最初始的版本學習。扯遠了……

當計算機加電自檢後,ROM BIOS加載MBR(主引導扇區,即硬盤第一扇區)中的代碼到內存中,這個扇區一共512字節,前446字節內容存放grub(bootloader)的關鍵引導程序,接著64字節放置硬盤分區表DPT(Disk Partition Table),一共四可以有四個主分區,占64個字節,這也是為什麼主分區最多只有四個的原因,最後2個字節是固定的標志0x55AA。當BIOS把引導程序加載到內存後就把控制權交給grub,而後grub的剩余代碼將完成其它代碼的加載和搬移以及文件系統初始化查找等工作,最終加載內核映像文件,從而把控制權交給真正的內核運行。

在開始講grub安裝之前首先要了解下硬盤的基礎知識和Linux硬盤命名規則。

硬盤的基本存儲單位為扇區(Sector),每個扇區一般為512bytes。一個硬盤有多個盤片,每個盤片有兩面,每面按照同心圓劃分為若干磁道,每個磁道劃分為若干扇區。比如一個硬盤有2個盤片,每個盤面分65536磁道,每個磁道分1024個扇區,那麼硬盤容量就是2盤片*2盤面*65536磁道*1024扇區*512字節 = 128GB。硬盤的主設備號為3。其它設備的主設備號為:1:內存、2:磁盤、3:硬盤、4:ttyx、5:tty、6:並行口、7非命名管道

硬盤分IDE和SCSI兩種總線類型,linux下可通過fdisk –l命令查看硬盤屬於哪種。Linux下對IDE的設備是以hd命名的,後面加字母a,b,c表示第幾塊,比如第一個ide設備是hda,第二個是hdb;SCSI以sd命令,同樣第一個設備是sda,第二個是sdb。而hda1代表第一塊硬盤的第一個分區,硬盤最多可以有四個主分區,數字為1~4,從5 開始就是邏輯分區了,一般情況只有一個主分區用來引導系統,這個分區在windows下來說是C盤,而在linux為hda1或sda1,D,E,F 盤在linux分別為hda5,had6,hda7。

Copyright © Linux教程網 All Rights Reserved