国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

開(kāi)機(jī)流程與關(guān)機(jī)、檔案系統(tǒng)

2024-07-21 02:37:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  開(kāi)機(jī)流程
  重要性:
  開(kāi)機(jī)不是只要按一下電源鈕而關(guān)機(jī)只要關(guān)掉電源鈕就可以了嗎?有何大學(xué)問(wèn)? 話是這樣沒(méi)錯(cuò)啦,但是由于 linux 是一套多人多工的作業(yè)系統(tǒng),你難保你在關(guān)機(jī)時(shí)沒(méi)有人在線上,假如你關(guān)機(jī)的時(shí)候碰巧一大群人在線上工作,那會(huì)讓當(dāng)時(shí)在線上工作的人馬上斷線的!那不是害死人了!一些資料可以無(wú)價(jià)之寶哩!另外,與 DOS 環(huán)境不同的是, Linux 在執(zhí)行的時(shí)候,雖然你在畫(huà)面上只會(huì)看到黑壓壓的一片,完全沒(méi)有任何畫(huà)面,但其實(shí)他是有很多的程式在背景底下執(zhí)行的,例如郵件程式、瀏覽器主機(jī)程式等,你假如隨便關(guān)機(jī)的話,是很輕易傷害硬碟及資料傳輸?shù)膭?dòng)作的!所以在 Linux 下關(guān)機(jī)可是一門(mén)大學(xué)問(wèn)喔!
  流程分析:
  既然開(kāi)機(jī)是很?chē)?yán)厲的一件事,呵呵,那我們來(lái)了解一下整個(gè)開(kāi)機(jī)的過(guò)程吧!好讓大家比較輕易發(fā)現(xiàn)開(kāi)機(jī)過(guò)程里面發(fā)生錯(cuò)誤的地方,與解決之道!不過(guò),由于開(kāi)機(jī)的過(guò)程中,那個(gè) Boot Loader 使用的軟體可能不一樣,例如 Red Hat 7.2 以后已經(jīng)同時(shí)提供 Lilo 與 Grub 這兩個(gè)開(kāi)機(jī)驅(qū)動(dòng)軟體,所以過(guò)程或許有點(diǎn)不太相同。在這個(gè)網(wǎng)頁(yè)當(dāng)中,由于 VBird 比較熟悉 Lilo ,所以未來(lái)提到的 Boot Loader 都以 Lilo 為主要依據(jù)。那么 Lilo 是什么?!簡(jiǎn)單的說(shuō),他是 LInux LOader 的縮寫(xiě),就是 Linux 開(kāi)機(jī)時(shí)候載入的咚咚就對(duì)了!這東西可是控制了你的多重開(kāi)機(jī)的命脈!不過(guò),這一篇先不跟你講怎么作好多重開(kāi)機(jī),你應(yīng)該先將前面這幾篇文章看完,對(duì)于 Linux 的指令有點(diǎn)概念之后,然后再來(lái)設(shè)定你的多重開(kāi)機(jī),會(huì)比較輕易一些!并且,當(dāng)你重新編譯核心完畢之后,一定得需要重新安裝一次 Lilo 的,那個(gè)時(shí)候在跟你說(shuō)說(shuō)吧 ^_^!因此,這里先不跟你說(shuō)明啦!底下開(kāi)始來(lái)談?wù)?Linux 是如何開(kāi)機(jī)的呢?基本的流程為:
  1. 載入 BIOS 的硬體資訊;
  2. 讀取 MBR 的 Kernel Loader (亦即是 lilo, grub, spfdisk 等等)開(kāi)機(jī)資訊;
  3. 載入 Kernel 的作業(yè)系統(tǒng)核心資訊;
  4. Kernel 執(zhí)行 init 程式并取得 run-level 資訊;
  5. init 執(zhí)行 /etc/rc.d/rc.sysinit 檔案;
  6. 啟動(dòng)核心的外掛式模組 (/etc/modules.conf);
  7. init 執(zhí)行 run-level 的各個(gè)批次檔( Scripts );
  8. init 執(zhí)行 /etc/rc.d/rc.local 檔案;
  9. 執(zhí)行 /bin/login 程式;
  10. 登入之后開(kāi)始以 Shell 控管主機(jī)。
  大概的流程就是上面寫(xiě)的那個(gè)樣子啦,而每一個(gè)程序的內(nèi)容主要是在干嘛呢?底下就分別來(lái)談一談吧!
  1. 尋找 BIOS 載入硬體資訊:稍微有 PC 硬體經(jīng)驗(yàn)的人們大概都知道 BIOS ( Basic Input/Output Setup ) 的作用!他是第一個(gè)被載入電腦的資料!你主機(jī)的 CPU 資料、開(kāi)機(jī)順序、硬碟大小、晶片組工作狀態(tài)、PnP 的開(kāi)啟與否、記憶體的時(shí)脈等等等...這都記錄在 BIOS 當(dāng)中!所以啦,開(kāi)機(jī)之后,系統(tǒng)會(huì)先去找這個(gè)東西;
  
  2. 可開(kāi)機(jī)硬碟的 MBR 讀取 Kernel loader:再來(lái)呢?呵呵!當(dāng)然就是硬碟的開(kāi)機(jī)資料啰!由于個(gè)人電腦的系統(tǒng)在讀完 BIOS 之后,會(huì)先去讀取第一個(gè)開(kāi)機(jī)硬碟的第一個(gè)磁區(qū)(就是 master boot record, MBR 啰!),而這個(gè)磁區(qū)主要就是在記錄開(kāi)機(jī)的資訊!還記得上面提到的 Lilo 吧?他的紀(jì)錄就是在這里啰!所以啰,這個(gè)時(shí)候 Lilo 紀(jì)錄的資訊就會(huì)被讀出來(lái),系統(tǒng)并依 Lilo 的資訊去不同的系統(tǒng)開(kāi)機(jī),這也就是多重開(kāi)機(jī)設(shè)定的地方啦;
  
  VBird 觀點(diǎn)通常我們知道的多重開(kāi)機(jī)軟體都是將他們的多重開(kāi)機(jī)資訊寫(xiě)在這里( MBR ),然后在開(kāi)機(jī)時(shí),系統(tǒng)會(huì)先找到這個(gè)地方,然后再去找相關(guān)的開(kāi)機(jī)的設(shè)定檔啦!例如 Linux 就會(huì)去找 /boot 的檔案, Windows 就會(huì)去找 /boot.ini 等等的!而假如要將這個(gè)地方殺掉的話,由于 DOS 的 format 也沒(méi)有辦法將這個(gè)資料殺掉的!因此,假如你要將 MBR 的資料去除的話,那么就需要使用 DOS 系統(tǒng)的『 fdisk /mbr 』才行啰!基本上是不建議將 Linux 殺掉啦!因?yàn)樗墓δ芎懿诲e(cuò)耶!為何需要有 loader ?我想,我們得先來(lái)探討一下這個(gè)話題才行!要探討之前先來(lái)了解一下,曉不曉得 Windows 與 Linux 的檔案格式一不一樣?!呵呵!當(dāng)然不一樣對(duì)不對(duì),好了,那么再來(lái)說(shuō)一說(shuō),請(qǐng)問(wèn),你的電腦怎么知道你的硬碟的資料是什么系統(tǒng)?哈哈!那就是 loader 的主要功能啰!在你能使用系統(tǒng)之前,一定需要載入核心對(duì)吧!?但是怎樣讓你的硬體熟悉核心呢?那就是 kernel loader 的主要功能了!所以這里需要提出的是, Linux 的 loader 是可以熟悉 windows 的核心檔案的,但是 Windows 卻不熟悉 Linux 的核心檔案,因此,作為一個(gè)多重開(kāi)機(jī)的設(shè)定 loader ,就無(wú)法使用 Windows 所提供的 loader 啰!由于需要讓系統(tǒng)熟悉你的 kernel ,因此,就需要 kernel loader 啦!這樣想就對(duì)啦!
  3.  
  4. 載入核心( Kernel ):好了,既然知道要使用哪一個(gè)作業(yè)系統(tǒng)開(kāi)機(jī)了,那么主機(jī)就會(huì)到該作業(yè)系統(tǒng)的磁區(qū)之下,將他的核心載入。在 Linux 的系統(tǒng)下,通常開(kāi)機(jī)的核心都擺在 /boot 底下,因此,這個(gè)時(shí)候的系統(tǒng)就會(huì)到 /boot 去尋找相關(guān)的核心啰(未來(lái)還會(huì)再提到這一個(gè)地方地!)我們的 kernel 名稱(chēng)通常就是 /boot/vmlinuz-xxxx 的格式!;
  
  5. 核心執(zhí)行 init 并由 /etc/inittab 取得系統(tǒng)登入狀態(tài):核心載入之后,由核心執(zhí)行的第一個(gè)程式就是 /sbin/init 啰!而這個(gè)程式第一個(gè)目標(biāo)當(dāng)然就是確定主機(jī)是要以怎樣的情況登入!這個(gè)時(shí)候就必須要以 /sbin/init 來(lái)載入 /etc/inittab 的資訊啦!而 Linux 共有幾種登入模式呢?嗯!這里似乎有需要說(shuō)明一下 Linux 有哪些登入的狀態(tài)!假如你進(jìn)入 Red Hat 的 /etc/inittab 檔案的話( 可以使用 vi 啦 ),你應(yīng)該會(huì)看到如下的資訊:
   開(kāi)機(jī)流程與關(guān)機(jī)、檔案系統(tǒng)
  1. 上面顯示的就是目前可以登入的狀態(tài)了(就是 run-level 啦!),共有 0~6 的登入狀態(tài),其中,我們比較常使用的是 3 與 5 , 因?yàn)槲覀冃枰?Linux 是多人多工的情況,而較常登入的狀態(tài)就是文字與圖形界面啦!所以這里需要設(shè)定成 3 或者是 5 ,千萬(wàn)不要設(shè)定成 0 或者是 6 喔!不然系統(tǒng)會(huì)一直直接重新開(kāi)機(jī)或者是直接關(guān)機(jī)....預(yù)設(shè)的系統(tǒng)登入在上面這個(gè)表格的最底下一行紀(jì)錄著!就是『id:3:initdefault 』那一行!注重喔!因?yàn)?VBird 預(yù)設(shè)是以文字界面來(lái)登入,所以才會(huì)是 3 ,假如你要改成圖形界面登入的話(請(qǐng)確定你的 X-windows 沒(méi)有問(wèn)題),那么就將 /etc/inittab 里面的上面那一行,將 3 改成 5 即可啰!
  
  VBird 觀點(diǎn)假如你有玩過(guò) Windows 的話,那么你在開(kāi)機(jī)的時(shí)候假如按下 F8 時(shí),不是會(huì)出現(xiàn)一些什么『安全模式』啦、『正常開(kāi)機(jī)』啦或『 MS-DOS 模式』等等的進(jìn)入 Windows 的狀態(tài)嗎?尤其是當(dāng)你不正常關(guān)機(jī)的時(shí)候, Windows 預(yù)設(shè)就會(huì)以『安全模式』來(lái)啟動(dòng) Windows 啰!Windows 的『安全模式』幾乎不載入一些復(fù)雜的模組,讓你的 Windows 一定可以開(kāi)機(jī)成功!那么 Linux 的維護(hù)模式狀態(tài)即是使用單人模式( 就是 run_level 為 1 啦!)所以說(shuō), Linux 的登入情況是如何呢?呵呵!沒(méi)錯(cuò),就是在這里載入的啦!
  2.  
  3. init 的第一個(gè)執(zhí)行內(nèi)容 /etc/rc.d/rc.sysinit :確定了登入狀態(tài)之后,再來(lái)當(dāng)然就是需要將主機(jī)的資訊給他讀進(jìn)去 Linux 系統(tǒng)啰!而 Linux 系統(tǒng)的第一個(gè)資料內(nèi)容就是 /etc/rc.d/sysinit 這個(gè)檔案啦!假如你有空進(jìn)入這個(gè)檔案去看看的話,會(huì)發(fā)現(xiàn)這個(gè)檔案的內(nèi)容包括了==>設(shè)定預(yù)設(shè)路徑( PATH )、設(shè)定主機(jī)名稱(chēng)、執(zhí)行 /etc/sysconfig/network 所記錄的網(wǎng)路資訊、掛載 /PRoc 這個(gè)保存在記憶體當(dāng)中的主機(jī)基本訊息、以及其他幾個(gè) Linux 作業(yè)系統(tǒng)最基本的幾個(gè)資訊!他的基本工作是:
  
  o 設(shè)定預(yù)設(shè)路徑:( PATH )
  o 設(shè)定網(wǎng)路狀態(tài):系統(tǒng)會(huì)再去讀取 /etc/sysconfig/network,并將該檔案內(nèi)的資料,如 NETWORKING, FORWARD_IPV4, HOSTNAME, DOMAINNAME, GATEWARY, GATEWAYDEV 等等的設(shè)定讀入系統(tǒng)中。

  o 啟動(dòng)系統(tǒng)的置換空間(簡(jiǎn)單的可以想成是虛擬記憶體): swapping
  o 檢查檔案系統(tǒng):這個(gè)時(shí)候系統(tǒng)會(huì)去檢查一些可能會(huì)存在的目錄,例如 /fsckoptions 與 /forcfsck 及 /fastboot 等等的目錄,當(dāng)你的系統(tǒng)有不正常關(guān)機(jī)的現(xiàn)象時(shí)(例如忽然的斷電等等),那么 Linux 將會(huì)自動(dòng)的強(qiáng)制去檢查 root 的檔案系統(tǒng) ( checking root filesystems )。簡(jiǎn)單的想一想,就好象是 Windows 系統(tǒng)下,當(dāng)你不正常關(guān)機(jī)時(shí),在開(kāi)機(jī)的過(guò)程中就會(huì)出現(xiàn)掃瞄硬碟的情況相同啦!
  o 周邊設(shè)定與系統(tǒng)設(shè)定的參數(shù) ( /proc ):在 Linux 或者是 Unix 系統(tǒng)中,你會(huì)在根目錄中發(fā)現(xiàn)一個(gè)很希奇的磁區(qū),那就是 /proc 啰!其實(shí)這個(gè)目錄是記錄在記憶體當(dāng)中的,每次開(kāi)機(jī)的時(shí)候就會(huì)被建置起來(lái)。他的主要功能是記錄主機(jī)的一些周邊設(shè)備的最新資料狀況!例如網(wǎng)路周邊啦、輸入輸出周邊啦等等的。這個(gè)目錄下的東西蠻好玩的!不過(guò) VBird 也不是很熟悉就是了!沒(méi)事的話,不要到里面亂砍喔!會(huì)有問(wèn)題
  o 設(shè)定 Plug and Play ( PNP )的一些參數(shù)資料;
  o 清除 /etc/mtab ;
  o mount root 及 /proc 檔案系統(tǒng) :好了,將一些資料都設(shè)定好之后,當(dāng)然就是需要將資料寫(xiě)下來(lái)啰!這個(gè)時(shí)候就會(huì)將 root 與 /proc 資料給他 mount 上檔案系統(tǒng)啦!
  o 決定是否使用模組, 載入模組
  o 檢查檔案系統(tǒng) :與前面相同的,當(dāng)前面的 /fastboot 檢查的旗標(biāo)開(kāi)啟之后,就會(huì)以 fsck 檢查你的其他磁區(qū)啰! ( 使用 fsck )
  o 掛上其它檔案系統(tǒng)
  o 設(shè)定 console 字型
  o 打開(kāi) quota
  o 清除不必要的檔案, 如 lock, pid
  o 設(shè)定 clock
  o serial port 初始化
  o 將開(kāi)機(jī)訊息經(jīng)由 dmesg 放入 /var/log/dmesg 中
  
  如此一來(lái),在 /etc/rc.d/rc.sysinit 就已經(jīng)將基本的系統(tǒng)設(shè)定資料都寫(xiě)好了,也將系統(tǒng)的資料設(shè)定完整!而假如你想要知道到底開(kāi)機(jī)的過(guò)程中發(fā)生了什么事情呢?那么就使用 dmesg 就可以知道啰!
  
  4. 啟動(dòng)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荥经县| 乐安县| 祥云县| 安平县| 奉新县| 灵石县| 宁陕县| 拉孜县| 上饶县| 淳化县| 万安县| 延川县| 罗江县| 区。| 白城市| 衢州市| 汉川市| 屏山县| 玛曲县| 鄂托克前旗| 滨海县| 平果县| 宁晋县| 鲁甸县| 绥棱县| 定边县| 保山市| 敖汉旗| 西华县| 土默特右旗| 客服| 新巴尔虎左旗| 水富县| 桂东县| 察雅县| 贵州省| 思茅市| 谢通门县| 锦屏县| 徐水县| 建瓯市|