首頁 > 軟體

CentOS 6.x的安裝過程詳解

2020-06-16 17:49:16

CentOS 6.x安裝過程這個很多人覺得能安裝即可,沒必要去理解是怎麼安裝的,但是本人之前由於吃過這個虧(面試的時候),所以還是寫下來,萬一大家碰到了,可以有個參考。

我們首先看一下CentOS安裝光碟的目錄:

我們解釋一下這些目錄的作用(檔案沒有什麼作用,都是一些KEY檔案,GPL資訊等等)

EFI    #關於EFI引導使用的一些檔案

images  #安裝映象install.img和一些關於pxe啟動的檔案

isolinux #引導檔案的目錄,包括vmlinuz,initrd.img,isolinux.bin等等

Packages #常用的rpm包

repodata #yum的索引源,還有一些說明檔案

我們這裡主要關心images和isolinux目錄,EFI目錄僅僅是作於EFI引導,所以沒什麼好深究的,其他兩目錄也都是附加的。

1.images目錄的內容:

pxeboot目錄:

install.img檔案,安裝程式所在的映象,系統安裝就是靠這個映象中的anaconda程式安裝的。

vmlinuz是壓縮核心,載入程式啟動後第一件事就是將核心啟動;

initrd.img則是為核心提供了一些額外的驅動程式和一個模擬的檔案系統環境。

efi的還是關於efi引導的,忽略即可。

2.isolinux目錄:

這個目錄的檔案比較多,我們只需要關心下面的幾個即可:

isolinux.bin  #載入程式(可以理解為bootloader),BIOS加電自檢後就會啟動這個程式

isolinux.cfg  #載入程式的組態檔

vmlinuz  #壓縮的核心,isolinux.bin啟動後就會啟動vmlinuz和initrd.img

initrd.img #提供驅動程式以及為核心提供基本的系統環境,裡面就是一個小檔案系統,其中有一個init程式供核心呼叫,用來啟動anaconda

grub.conf  #提供grub的樣例組態檔,安裝的時候沒有啟動grub所以用不到

大家發現了,pxeboot和isolinux目錄中都包含有vmlinuz和initrd.img,這兩個目錄中的檔案其實是一模一樣的。

拋去重複的,我們真正需要關心的其實只有下面這幾個:

①isolinux.bin

②isolinux.cfg

③vmlinuz

④initrd.img

⑤install.img

大致的安裝流程是這樣的:

插入光碟並開機後,計算機首先會自檢(POST),自檢沒有問題後,就會啟動BIOS,BIOS根據啟動順序找到光碟並查詢BOOTLoader,此時的BOOTLoader就是isolinux.bin,isolinux.bin根據isolinux.cfg提供一個選單介面(啟動vesamenu.c32這個程式)讓使用者選擇操作,看一下isolinux.cfg檔案

default vesamenu.c32  #提供選單程式功能,如果不需要互動模式的話可以略過
#prompt 1 #是否進入互動模式,1是,0否
timeout 600  #超時時長
 
display boot.msg #顯示boot.msg檔案,沒啥用,可以忽略
menu background splash.jpg  #這個顯示一個背景檔案,isolinux目錄中可以看見splash.jpg
menu title Welcome to CentOS 6.5!  #打出一個Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000  這些都是顏色設定
 
label linux  #這個是啟動標籤
  menu label ^Install or upgrade an existing system  #安裝或升級系統
  menu default    #預設啟動標籤
  kernel vmlinuz  #啟動核心
  append initrd=initrd.img  #啟動initrd
label vesa
  menu label Install system with ^basic video driver  #安裝基本的裝置
  kernel vmlinuz  #啟動核心
  append initrd=initrd.img xdriver=vesa nomodeset  #啟動initrd並且安裝基本裝置引數
label rescue 
  menu label ^Rescue installed system  #救援模式
  kernel vmlinuz
  append initrd=initrd.img rescue  #救援模式啟動
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -

大家可以將上面的menu label行對比一下下面的安裝圖以及splash.jpg圖:

安裝圖:

背景圖(splash.jpg):

我們可以看出來,其實isolinux.bin讀取isolinux.cfg檔案並啟動vesamenu.c32,將背景圖載入,然後把提供選項選單。使用者選擇安裝選單後,isolinux根據選擇的資訊(我們這裡是第一項):

label linux  #是啟動標籤
  menu label ^Install or upgrade an existing system  #安裝或升級系統
  menu default    #預設啟動標籤
  kernel vmlinuz    #啟動核心
  append initrd=initrd.img  #啟動initrd

啟動核心和initrd(initrd可以追加引數),並告訴核心要執行安裝操作。initrd的作用就是虛擬成為一個基本的檔案系統,裡面含有一些命令和驅動程式等等,核心根據initrd中的程式查詢install.img,install.img啟動anaconda程式,與使用者互動完成安裝作業系統(anaconda可以根據組態檔自動安裝系統,需要提供kickstart檔案)。

文字方式安裝CentOS圖文詳細教學 http://www.linuxidc.com/Linux/2010-10/29071.htm

VMware下安裝CentOS 6圖文安裝教學  http://www.linuxidc.com/Linux/2012-04/58438.htm

CentOS伺服器的安裝和設定詳細步驟 http://www.linuxidc.com/Linux/2013-08/88598.htm


IT145.com E-mail:sddin#qq.com