【Linux管理】Linux系統啟動和引導

來源:互聯網
上載者:User

標籤:linux啟動   linux引導   

************************************************************************  ****原文:blog.csdn.net/clark_xu 徐長亮的專欄************************************************************************1 linux系統啟動和引導

         linux的啟動過程為:電腦執行BIOS代碼,確認載入並啟動核心,核心檢測系統的硬體,產生系統的init進程,這個進程總是PID 1;系統必須檢查並安裝檔案系統,而且系統的守護進程必須啟動,這些步驟由init進程按照順序運行一系列rc(run commond)檔案指令碼

         綜上,linux典型的引導過程由6個不同的階段組成。

l  載入並初始化核心

l  檢測好配置裝置

l  建立核心線程

l  操作員幹預

l  執行系統啟動指令碼

l  多使用者模式運行

初始化核心:路徑名通常為/boot/vmlinux,在第一個階段,系統rom載入一個小的引導程式到記憶體中,然後這個程式在安排載入核心。核心執行檢測多少RAM可用,核心佔用一部分靜態空間(使用者進程不可用),然後核心列印資訊,實體記憶體總量和使用者進程可用記憶體量。

配置硬體:BIOS告訴核心有哪些硬體裝置,核心需要找到硬體裝置並且初始化每個裝置。沒有檢測到裝置的驅動會被禁用;

         核心線程:核心在使用者空間建立init進程。

         操作員幹預:在單使用者環境下,檔案系統的根目錄以唯讀方式安裝的。/tmp是根目錄的一部分,需要使用tmp檔案的命令如(vi)不能執行。可以這樣mount –o rw,remount / 來將根目錄以讀寫的方式重新安裝。

         執行啟動指令碼:由init根據一定的演算法來選擇運行rc指令碼

多使用者運行: init直接生產getty進程,來監控終端和控制台接受使用者登入。init擁有單使用者和多使用者的運行級,決定啟動哪些資源。

BOIS載入:BIOS選擇引導裝置(IDE硬碟,CD-ROM等),選定裝置讀取MBR(硬碟頭512位元組資訊:master boot record主引導記錄)。MBR程式告訴CPU從第幾個硬碟分區載入引導載入程式(boot loader)。之後boot loader載入核心。

1.1 boot loader引導載入程式

         lilo是傳統的linux引導載入程式(debian使用),grub(grand unified boot loader)成為redhat, suse和fedora的預設引導載入程式。

         grub裝置命名(hd0,0)等同於linux /dev/hda1

         使用者將grub安裝到引導磁碟機/dev/hda1上。

         grub-install ‘(hd0,0)’   #用引號避免shell解析括弧

         預設情況下,grub從/boot/grub/grub.conf讀取它預設的引導配置。

         如果grup在10s內(timeout=10)沒有接受到來著鍵盤的輸入,那麼就自動引導(default=0),

         預設配置

         default=0

         timeout-10

         titile redhat linux

         root(hd0,0)

         kernel /boot/vmlinux ro root=/dev/hda1

 

         root:制定根裝置(一個分區)

         boot: 以特定的核心影像檔案啟動系統

1.1.1 lilo: 傳統linux引導載入程式

lilo命令通過/etc/lilo.conf的內容安裝配置資訊。重新運行lilo

boot=/dev/hda 將boot loader on MBR

root=/dev/hda1

delay=20 2秒

image=/vmlinz    核心

         lable=linux

         read-only

image=/vmlinuz-backup 備份核心

         lable=backup

         read-only

1.1.2 grub的多重開機配置

         先裝好作業系統然後對/boot/grub/grub.conf進行相應的修改。

         引導windows的grub.conf配置

                   title windows xp

                            rootnoverify    (hd0,0)

                            chainloader +1

         chainloader這個選項從一個指定的位置載入引導載入程式(從第一個IDE分區引導)

rootnoverify選項確保grub不會嘗試指定的分區。如引導三個分區:

                   hiddenmenu

                   title windows xp

                            rootnoverify (hd0,0)

                            chainloader +1

                   title red hat

                            root (hd0,1)

                            kernel /boot/vmlinuz

                   title fedora

                            root (hd0,2)

                   kenrel /boot/vmlinuz

1.2 啟動指令碼

         傳統的init定義7個運行級run level, 0級是完全關閉系統的層級;1級代表單一使用者模式;2-5表示多使用者層級;6級是重新引導(reboot)層級

         /etc/initab規定了系統進入到每一個層級時要運行(或者保持運行)的命令initab調用/etc/init.d/rc裡面命令,來改變運行級。initab主指令碼尋找rc0.d、rc1.d、rc2.d …等目錄來運行層級的指令碼。

         當從低向進階別的指令碼的時候,按照S開頭遞增順序執行,帶start參數

         ln –s /etc/init.d/cups /etc/rc2.d/s80cups

         當從高向低層級過渡的時候,按照K開頭數字遞減,帶stop指令碼

         ln –s /etc/init.d/cups /etc/rc0.d/k880cups

1.2.1 啟動服務配置 

在服務啟動過程中,redhat引導過程的大多數配置通過操作/etc/sysconfig中的設定檔來完成。

/etc/sysconfig的子目錄

l  clock:指定時鐘類型

l  https:決定apache的處理模式

l  hwconfg:硬體的資訊

l  i18n: 作業系統的本地配置:日期格式,語言等。

l  init:配置啟動指令碼的訊息顯示方式

l  network: 全域網路參數:主機名稱,網關,轉寄機制

1.3 重新引導和關機

         15分鐘之後關機

         shutdown –h +15 “going down for emergency disk repar”

         上午9點半關機

         shutdown –h 09:30 “going down for expected downtime is 1 hour”

         改變init的運行層級

telinit 1

【Linux管理】Linux系統啟動和引導

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.