歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 簡介——引導和關機

Linux 簡介——引導和關機

日期:2017/2/25 10:39:58   编辑:Linux教程
本節說明當Linux系統引導和關機時發生了什麼,應該任何正確完成. 如果沒有遵循正確的過程, 文件可能損壞或丟失.

引導和關機概述

  開啟計算機並導致其操作系統被加載的過程 叫引導. The name comes from an image of the computer pulling itself up from its bootstraps, but the act itself slightly more realistic.
啟動過程中,計算機首先加載了一小段叫 bootstrap loader的程序,它依次加載和啟動操作系統, bootstrap loader通常存儲在硬盤或軟盤的固定的位置. 這2步過程的理由是操作系統大而復雜,而計算機加載的第一段代碼很小(幾百字節),以免使固件不必要地復雜化.

  不同的計算機的bootstrap不同. 對於PC, 計算機(它的BIOS)讀軟盤或硬盤的第一個扇區(叫 引導扇). bootstrap loader包含在這個扇區中. 它加載位於磁盤(和其他)的其他地方的操作系統.

  Linux加載後, 它創始化硬件和設備驅動, 然後運行 init . init 啟動其他進程以允許用戶登錄和做其他事情. 這部分的細節在下面討論.

  為了關閉一個Linux系統, 首先所有進程被告知結束(這使他們關閉所有文件, 完成必要的其他事情, 使之整齊地結束), 然後unmount文件系統和對換區, 最後打印可以關掉電源的信息到控制台. 如果沒有遵循正確的過程, 可怕的事情可能發生. 最重要的, 文件系統緩沖cache可能沒有回寫, 這意味著其中的所有數據將丟失, 磁盤上的文件系統不完整, 並可能不可用.

近觀引導過程

  可以從軟盤或硬盤引導Linux. 安裝和開始指南的安裝一節 ([Wel]) 告訴你如何安裝Linux, 並按你希望的方式引導.

  當PC引導後, BIOS做一些測試保證一切正常, 然後開始真正的引導. 它選擇一個磁盤(通常是第一個軟驅, 如果有軟盤的話, 否則就是第一個硬盤, 如果安裝了的話; 順序是可設置的). 然後讀第一個扇區, 這叫引導扇; 對於硬盤, 也叫主引導記錄, 因為硬盤可以包含多個分區, 每個分區都有自己的引導扇.

  引導扇包含一個小程序(小到可以存入一個扇區), 它的責任是從磁盤讀入真正的操作系統並啟動之. 從軟盤啟動Linux時, 引導扇包含的代碼只讀前數百個數據塊(當然, 依賴於核心的大小)到預定的內存位置. Linux引導軟盤上, 沒有文件系統, 核心存在連續的扇區中, 因為這樣簡化了引導過程. 當然, 使用LILO(LInux LOader)可以從文件系統引導.

  從硬盤引導, 主引導記錄的代碼檢查分區表(也在主引導記錄扇區中), 確認活動分區(標記為可引導的分區), 從該分區讀引導扇區, 然後啟動該引導扇區的代碼. 該分區的引導扇區的代碼做與軟盤所做的相同: 從該分區讀入核心並啟動. 但細節不同, 因為一般只給核心映象做一個單獨的分區是沒什麼用的, 所以分區引導扇中的代碼不能只順序地讀磁盤, 它必須找到文件系統把它們放在哪些扇區中. 有幾個方法解決這個問題, 但最通常的方法是使用LILO. (關於如何做的細節與這裡的討論無關; 更多的信息請看LILO文檔, 它很全面)

  用LILO引導時, 它讀入並引導缺省核心. 也可以設置LILO, 使之能引導若干個核心之一, 甚至其他操作系統, 也可以在引導時讓用戶選擇引導哪個核心或操作系統. LILO可以設置為如果有人在引導時按住 alt, shift, or ctrl鍵 (LILO啟動時), LILO將不立即引導缺省的而問用戶引導哪個. LILO可以設置為帶一個timeout選項並詢問, 當超時時, 就引導缺省核心.

  META: 除了LILO還有其他的引導載入程序, 如loadlin, 它們的信息將在下一版本中給出.

  從軟盤和硬盤啟動各有優勢, 但通常從硬盤啟動更好, 因為這避免了關於軟盤的爭論. 而且快. 然而, 安裝相同從硬盤啟動可能有更多的麻煩, 因此很多人先用軟盤引導, 然後當相同工作很好後, 再安裝LILO從硬盤引導.

  Linux核心被讀入內存後, 才真正啟動了, 概述如下:


  Linux核心是被壓縮安裝的, 所以它首先得解壓自己. 核心映象開頭包括一個解壓的小程序.

  如果你有Linux可識別的super-VGA卡, 且支持一些特殊的文本模式(如100列40行), Linux會問你要用哪個模式. 編譯核心時, 可能預定了一個視頻模式, 就不會問了. 這也可以用LILO或 rdev 完成.

重啟動

  重啟動就是完全關閉系統,關掉電源,然後再打開。簡單方法是用shutdown 重啟動系統而不是僅停止系統。這要使用shutdown的 -r選項,例如命令shutdown -r now。

  許多Linux系統在按ctrl-alt-del鍵時運行shutdown -r now。這是可設置的,比如在多用戶系統中設置一定的延時也許更好。如果是誰都能接觸到的系統,那麼最好設置為按ctrl-alt-del什麼也不干。


單用戶模式

  shutdown命令也可用於切換到單用戶模式,這種模式誰也不能登錄,只有root可以使用控制台。這對系統一般運行時不能做的系統管理任務很有用。單用戶模式將在章詳細討論。

緊急引導(軟)盤

  並非總可以從硬盤引導。例如,LILO設錯了,系統可能就無法引導。這時,需要另一個總能引導的方法。對於典型的PC,可能是軟驅。

  許多Linux distributions允許在安裝時產生一張緊急引導盤emergency boot floppy。應該做。然而,有些這樣的引導盤只包含核心,and assume you will be using the programs on the distribution's installation disks to fix whatever problem you have。有時這些程序是不夠的:例如你可能需要回存你的備份,而備份/回存軟件在Linux安裝盤裡沒有。

  因此,可能需要自己產生root盤。 Graham Chapman寫的Bootdisk HOWTO([Cha]) 包含關於此的指導。當然,你必須記得使你的緊急引導盤和root盤最新。

  root盤被mount上時,不能用軟驅干其他任何事,因此如果你只有一個軟驅可能不太方便。然而,如果你有足夠的內存,可以設置引導盤將root盤加載到RAM盤上(為此,引導盤的核心需要特殊設置)。一旦root盤被加載到RAM盤中,軟驅就可以用於mount其他盤了。
Copyright © Linux教程網 All Rights Reserved