Process(开机流程)包含了Linux开机程序.doc

上传人:工**** 文档编号:558093953 上传时间:2023-07-04 格式:DOC 页数:6 大小:42.51KB
返回 下载 相关 举报
Process(开机流程)包含了Linux开机程序.doc_第1页
第1页 / 共6页
Process(开机流程)包含了Linux开机程序.doc_第2页
第2页 / 共6页
Process(开机流程)包含了Linux开机程序.doc_第3页
第3页 / 共6页
Process(开机流程)包含了Linux开机程序.doc_第4页
第4页 / 共6页
Process(开机流程)包含了Linux开机程序.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Process(开机流程)包含了Linux开机程序.doc》由会员分享,可在线阅读,更多相关《Process(开机流程)包含了Linux开机程序.doc(6页珍藏版)》请在金锄头文库上搜索。

1、Boot ProcessBoot Process(開機流程)包含了Linux開機程序,作業系統載入程式(boot loader)管理,包括常見的LILO及OpenLinux預設的GRUB作業系統載入程式。另外Linux與許多作業系統一樣,都具有運作層級(run-level)的觀念。Linux運作層級可用來定義系統的作業模式。像是單一使用者模式(Single User),與多重使用者模式等。一般Linux系統的開機流程如下:1. Load BIOS 載入BIOS資訊。包含CPU,Memory,及各種Device的資訊。2. 載入Boot Loader 進入作業系統載入程式。一般常見的Boot L

2、oader有LILO及GRUB兩種。Boot Loader是作用是載入你所選擇的作業系統。3. 由Boot Loader載入Linux Kernel。4. 由Kernel載入init初始化程式。init檢查/etc/inittab檔案並進入不同的開機層級。init的工作有a. 設定預設路徑 - PATH變數b. 設定網路狀態 讀取 /etc/sysconfig/network檔c. 啟動 swap (虛擬記憶體)d. mount檔案系統e. 檢查檔案系統 也就是執行fsck指令(檢查並除錯)f. 雜項(例如設定字型,清除暫存檔等等)g. 將開機訊息經由 dmesg 放入 /var/log/dm

3、esg中。(使用dmesg指令便可看到開機時出現的一連串訊息。這個指令很好用,例如新增一顆硬碟時,硬碟的代號 如/dev/hdd - 會在開機時指定,並會在開機訊息中提示,但開機訊息通常一閃即逝,此時便可在開機後便可用dmesg重新觀看開機訊息,一般會配合more使用,如 dmesg |more)h. 根據不同的開機層級啟動不同的服務。i. 登入後由Shell接管Linux Boot Loader: LILO與GRUBLinux Boot Loader 可以簡單視為多重單機的載入程式。Boot Loader作主要的工作便是載入提供使用者開機選單,若有多重作業係統共存,則根據使用者的選擇載入不同

4、的作業系統核心。1. LInux LOader LILOLilo是最常見的Linux Boot Loader。操作:在使用LILO開機時,一開始會出現boot:提示符號,此時按鍵可出現多重開機選單。例如: boot:此時按LinuxWindows NT出現兩個作業系統,以及下一行boot:此時輸入Linux便會進入linux作業系統,輸入Windows NT便會進入Windows NT(通常是windows 2000)作業系統) LILO設定檔: /etc/lilo.conf LILO執行檔:/sbin/lilo /sbin/lilo.real (一般執行檔是上面那個,但在OpenLinux地

5、下為了安全性考量(例如當設定檔寫錯,又重新執行lilo時,便可能無法開機),上面那個是假的,真正的lilo執行檔是lilo.real) 說明: LILO設定檔設定多重開機選單及其對應的核心位置(也就是核心所在的硬碟分割區位置)。使用more觀看/etc/lilo.conf時可能會看到以下內容:#.(井號後面是註解,通常是一些說明的文字!)boot = /dev/hdainstall = /boot/boot.bpromptdelay = 50message=/boot/messagedefault=linuxother=/dev/hda1 label=Windows NTimage = /bo

6、ot/vmlinuz-2-4-2-modular label = linux root = /dev/hda3 vga = 274 一個開機選單可能會有非常多的參數。以下針對較重要的參數作介紹:boot表示lilo安裝的硬碟位置。例如boot = /dev/had表示lilo安裝在第一顆硬碟。由於每次更改lilo的設定時都必須重新啟動lilo,所以要讓系統知道lilo的安裝位置,以便將更動寫入。delay表示預設的秒數。例如delay = 10表示在出面boot:提示符號時,若過了十秒使用者還未有動作,便使用預設的作業系統開機。root指定Linux root partition的位置。Roo

7、t partition就是根目錄 /image指定核心的位置及檔案名稱label指定開機選單的名稱。也就是在boot:時按鍵會看到的選單名稱。other其他作業系統所在的硬碟分割區位置。每次更改lilo設定檔時需重新啟動lilo,設定黨才會更新。重新啟動的方法是直接執行/sbin/lilo。不過這裡千萬要注意,lilo.conf中的設定若有錯誤,可能會造成系統無法開機。在測試lilo設定檔時,最好先將lilo.conf備份起來,並準備一張開機磁片,在lilo開機失敗時可使用開機磁片開機,進入linux後再將lilo.conf改回來。2. GRand Unified Boot Loader GR

8、UBGRUB是linux底下較新的Boot Loader,也是現在大多數linux系統預設的boot loader。GRUB具有以下特點:1. 不用安裝在硬碟前1024磁柱。2. 變更或新增分割區及設定檔時,不用重新啟動GRUB3. 在開機時可進入命令列模式進行GRUB維護及修改。4. 畫面較好看(其實還好啦)進入GRUB開機選單時,一開始就會出現不同作業系統的選單。不像Lilo還要按鍵才會出現。此時可直接移動上下鍵選取要開機的作業系統。直接按Enter便可開機。另外再移動上下鍵選取作業系統十,亦可在選單上直接按e進入開機設定的編輯畫面。此時在螢幕上會顯示指令件及說明文字。GRUB的開機設定編

9、輯指令如下:b啟動系統e編輯選單c進入命令列模式o(小寫)在光棒指示行後增加新行O(大寫)在光棒指示行前增加新行d刪除光棒指示行Enter編輯完之後存檔基本上,編輯這裡的開機設定並不會影響到真正的系統設定。在下一次開機時,選單又會回復到原本的樣子。除非真正更動到GRUB的設定檔。在選單上按e鍵進入編輯模式時,通常會看到下列兩行:root (hd0,0)kernel /vmlinuz-2.4.18-3 root=/dev/hda5第一行是表示GRUB安裝的位置。這裡要注意到的是,hd0代表避一顆硬碟,hd1代表第二顆。而後面的0代表第一個partition,而1則代表第二個分割區。這一行的硬碟代

10、號與分割區的表示方法與之前所學的不太一樣。第二行是表示核心的位置及檔案名稱,以及root partition(也就是根目錄)的分割區位置。其中root=所使用的硬碟代號與分割區的表示方法則與之前所學的相同。/dev/hda1表示第一顆硬碟的第一個分割區。GRUB的設定檔: /boot/grub/menu.lst使用more觀看此設定檔時,會發現這個設定檔和lilo的設定檔很像,不過有些名詞不太一樣。如:title指定開機選單的名稱。類似lilo中的label。kernel指定核心的位置及檔案名稱。類似lilo中的image。chainloader用來載入Microsoft的作業系統。類似lil

11、o中的other。基本上,更改這個選單後,在下次開機時便會生效。不像lilo還要執行/sbin/lilo.real才會生效。Run-Level - Linux的運作層級Linux與許多作業系統類似,都具有運作層級的觀念。例如在windows底下,亦具有多種不同的模式,如一般模式,保護模式等。Linux運作層級的觀念是,根據系統目前的用途,來控制系統應該啟動哪些服務。例如在全功能的模式下,只少需啟動多人多工,圖形介面,以及網路的服務。而在其他模式底下,可能就不提供網路服務,甚至在維修模式底下不提供多人連線服務等。Linux的Run-Level分為06共七種模式,描述如下:0關機模式,這個模式是一

12、個過度狀態。在系統或管理者下達關機指令時,系統會臨時切換到這個模式。管理者絕對不能將系統的run-level設為0,否則系統一開機完便會馬上關機。1單一使用者模式。系統在此模式不會啟動網路服務,圖形介面等。2多使用者模式,但不提供NFS檔案共享服務。3全功能的多使用者模式,但不含圖形介面。4系統保留5全功能多使用者模式。包含多人,網路,GUI介面等。6重開機模式。與run level 0類似,亦為系統的過度模式。在系統重開機時會暫時切換到這個模式。注意到管理者亦不可將此模式設為預設的run level模式,否則系統會在開機後馬上重開機。開機時,最早執行的程式為init,這個程式會抓取/etc/

13、inittab檔案,檢查檔案中預設的run-level,並根據不同的run-level開啟不同的服務。使用more觀看/etc/inittab,應該會看到如下的資訊:# 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set

14、initdefault to this) # id:3:initdefault:上面的井號部分是對不同的開機層級所做的簡短說明。之後有一行id:3:initdefault:便是系統指定預設層級的地方。如上例指定開機層層級為run-level 3,若要更改不同的開機層級,例如要更改為開機層級 5 ,只需將上述的3改為5即可。另外開機層級亦可在GRUB的開機選單中指定。例如在開機選單中LinuxWindows NT將光棒移到Linux那行,並按e 進入編輯選單,會出現root (hd0,0)kernel /vmlinuz-2.4.18-3 root=/dev/hda5將光棒移到第二行,再按e進入第二行的編輯模式,再那一行的最後加一個空白在接數字,例如:kernel /vmlinuz-2.4.18-3 root=/dev/hda5 3 或者kernel /vmlinuz-2.4.18-3 root=/dev/hda5 5便可直接進入不同的run-level,如第一行進入run-level 3,第二行進入run-level 5。不同的run-level服務分別存放在/etc/rc.d/rc0.d/etc/rc.d/rc1.d/etc/rc.d/rc2.d/etc/rc.d/rc3.d/etc/rc.d/rc4.d/et

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号