最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

GRUB使用說明

作者:gyf2000 欄目:驅(qū)動編程
GRUB使用說明
從Red Hat Linux 7.2起,GRUB(GRand Unified Bootloader)取代LILO成為了默認(rèn)的啟動裝載程序。相信LILO對于大家來說都是很熟悉的。這次Red Hat Linux用GRUB代替LILO,可見GRUB大有過人之處。不過,相對于LILO來說,大家對GRUB還是要陌生一些。本文將對GRUB的基本情況、術(shù)語、接口、命令以及配置文件做個介紹,希望對大家有所幫助。

  一、GRUB的概述

  在Red Hat linux裝載一個系統(tǒng)前,它必須由一個引導(dǎo)裝載程序(boot loader,啟動管理程序)中的特定指令告訴它去引導(dǎo)系統(tǒng)。這個程序一般是位于系統(tǒng)的主硬盤驅(qū)動器或是其他知道如何去開始linux內(nèi)核的媒介驅(qū)動器上。

  如果說一個x86系統(tǒng)只安裝了Red Hat Linux而且只有一個版本的linux內(nèi)核,那么通過引導(dǎo)裝載程序開始Red Hat Linux的特定過程就不重要了。Red Hat Linux安裝程序允許用戶快速方便地配置引導(dǎo)裝載程序存放在主硬盤驅(qū)動的主引導(dǎo)記錄中來引導(dǎo)操作系統(tǒng)。

  然而,為了能從多個linux內(nèi)核或其他操作系統(tǒng)引導(dǎo),那么就很有必要了解Red hat linux用于提供必要的引導(dǎo)選項的方法,以及理解引導(dǎo)的過程與如何去改變。

  本文是討論GRUB,它是Red Hat Linux用來在x86系統(tǒng)上裝載操作系統(tǒng)的默認(rèn)方法。同時,本文也將詳細(xì)介紹用于控制引導(dǎo)過程的各種命令和配置選項。

  GRUB的定義

  GNU GRUB(GRand Unified Bootloader)是一個將引導(dǎo)裝載程序安裝到主引導(dǎo)記錄的程序,主引導(dǎo)記錄是位于一個硬盤開始的扇區(qū)。它允許位于主引導(dǎo)記錄區(qū)中特定的指令來裝載一個GRUB菜單或是GRUB的命令環(huán)境。這使得用戶能夠開始操作系統(tǒng)的選擇,在內(nèi)核引導(dǎo)時傳遞特定指令給內(nèi)核,或是在內(nèi)核引導(dǎo)前確定一些系統(tǒng)參數(shù)(如可用的RAM大。。

  x86的引導(dǎo)過程

  當(dāng)一個x86機器啟動后,系統(tǒng)BIOS開始檢測系統(tǒng)參數(shù),如內(nèi)存的大小、日期和時間、磁盤設(shè)備、以及這些磁盤設(shè)備用于引導(dǎo)的順序等。通常情況下,BIOS都是被配置成首先檢查軟驅(qū)或光驅(qū)(或兩者都檢查),然后再嘗試從硬盤引導(dǎo)。如果在這些可移動的設(shè)備中,沒有找到可引導(dǎo)的介質(zhì),那么BIOS通常是轉(zhuǎn)向第一塊硬盤最初的幾個扇區(qū),尋找用于裝載操作系統(tǒng)的指令。這些最初的扇區(qū)-主引導(dǎo)記錄-開始裝載一個預(yù)選擇操作系統(tǒng)的過程,一個操作系統(tǒng)選項販GRUB菜單,或是一個執(zhí)行特定選項的GRUB命令行接口!

  裝載GRUB和操作系統(tǒng)的過程,包括以下幾個操作步驟:

  1、裝載基本的引導(dǎo)裝載程序,這通常是第一步;疽龑(dǎo)裝載程序必須是位于主引導(dǎo)扇區(qū)中一個非常小的空間,少于512字節(jié)。因此,基本引導(dǎo)裝載程序所做的唯一的事情就是裝載第二引導(dǎo)裝載程序。這主要是歸結(jié)于在主引導(dǎo)扇區(qū)中沒有足夠的空間用于其他東西了。

  2、裝載第二引導(dǎo)裝載程序,這通常稱為第二步。這第二引導(dǎo)裝載程序?qū)嶋H上是引出更高級的功能 ,以允許用戶裝載入一個特定的操作系統(tǒng)。在GRUB中,這步是讓用戶顯示一個菜單或是輸入命令。

  3、裝載在一個特定分區(qū)上的操作系統(tǒng),如linux內(nèi)核。一旦GRUB從它的命令行或是配置文件中,接到開始操作系統(tǒng)的正確指令,它就尋找必要的引導(dǎo)文件,然后把機器的控制權(quán)移交給操作系統(tǒng)。
注意

  在一些文件系統(tǒng)以及文件系統(tǒng)的配置中,可能需要一個1.5步的文件,用來連接基本引導(dǎo)程序與第二引導(dǎo)程序之間的差異。

  舉個例子來說,如果第二步中的引導(dǎo)裝載程序文件位于一個使用了第一步引導(dǎo)裝載程序所不能訪問的文件系統(tǒng)的分區(qū)中,那么就可能需要指示第一步引導(dǎo)裝載程序,從1.5步文件中載入附加的指令來讀取第二步引導(dǎo)裝載程序的文件。更多相關(guān)的信息,請參考GRUB的信息頁。

  前面所提到的引導(dǎo)方法被稱為直接裝載。因為這種方法中使用的是直接裝載操作系統(tǒng)的指令,沒有用到任何在引導(dǎo)裝載程序和操作系統(tǒng)主文件(如內(nèi)核)之間的中間代碼。然而,不同操作系統(tǒng)所采用的引導(dǎo)過程可能會與上面提到的有一些細(xì)微的不同。例如,微軟的DOS和Windows操作系統(tǒng)在安裝時,傾趨于完全重寫主引導(dǎo)記錄,而不是合并當(dāng)前的主引導(dǎo)記錄的配置。這將破壞掉其他操作系統(tǒng)保存在主引導(dǎo)記錄中的所有信息,如Red Hat Linux。微軟操作系統(tǒng),還有一些其他的專有操作系統(tǒng),都是使用一種稱為鏈?zhǔn)窖b載的引導(dǎo)方法來啟動的。在這種方法中,主引導(dǎo)記錄僅僅是簡單地指向操作系統(tǒng)所在分區(qū)的第一個扇區(qū)。

  GRUB支持直接和鏈?zhǔn)窖b載的引導(dǎo)方法。GRUB能用于幾乎所有操作系統(tǒng),絕大多數(shù)流行的文件系統(tǒng),以及幾乎所有的系統(tǒng)BIOS所能識別的硬盤。

  GRUB的特性

  GRUB包含許多特性,這使得GRUB比其他可用的引導(dǎo)裝載程序更加優(yōu)越。下面列出一些比較重要的特性:
  ·GRUB在x86機器上,提供一個真正基于命令行的,先于操作系統(tǒng)(pre-OS)的環(huán)境。它對于用確定的選項裝載操作系統(tǒng)或收集系統(tǒng)信息方面,提供了最大程度的適應(yīng)性。許多非x86的體系結(jié)構(gòu)已經(jīng)使用先于操作系統(tǒng)環(huán)璄許多年了,它提供控制系統(tǒng)如何從一個命令行引導(dǎo)。當(dāng)LILO或其他x86引導(dǎo)裝載程序使用了一些命令特性的時候,GRUB已經(jīng)包含了許多這方面的特性。
  ·GRUB支持邏輯塊尋址(LBA)方式。LBA將用于尋找驅(qū)動器上文件的地址轉(zhuǎn)換工作置于驅(qū)動器的硬件中,它被用在許多IDE和所有的SCSI硬盤中。在使用LBA之前,硬盤驅(qū)動器遇到一個1024柱面的限制,即BIOS不能找到在1024柱面后的文件(比如一個引導(dǎo)裝載程序或是內(nèi)核文件)。只要系統(tǒng)BIOS能支持LBA模式(大多數(shù)都支持),那么LBA就允許GRUB超越1024柱面的限制,引導(dǎo)操作系統(tǒng)。
  ·GRUB的配置能在每次系統(tǒng)引導(dǎo)時被讀取。這就避免了用戶每次改變引導(dǎo)選項時都要重寫一次主引導(dǎo)記錄。大多數(shù)的引導(dǎo)裝載程序都不能很老道地讀取配置文件,并使用它們來設(shè)置引導(dǎo)選項。比如說,用戶必需改變一個LILO的配置文件,然后運行一個命令將新的配置數(shù)據(jù)重寫回系統(tǒng)的主引導(dǎo)記錄。這種方法比GRUB所采用 的方法更加危險,因為一個錯誤配置的主引導(dǎo)記錄將讓系統(tǒng)無法引導(dǎo)。在使用GRUB中,如果說配置文件被錯誤配置并且引導(dǎo),那它也僅僅簡單地轉(zhuǎn)到一個默認(rèn)的命令行,允許用戶手工輸入命令來運行操作系統(tǒng)。除開更新系統(tǒng)引導(dǎo)的第一步、第二步、或是菜單配置文件的位置,主引導(dǎo)記錄是不會被觸及到的,而這種情況是很少發(fā)生的。

  注意:

  當(dāng)GRUB的配置文件發(fā)生改變時,沒有必要重新啟動GRUB。所有的改變都能被自動地檢測到。如果GRUB被重新啟動,那么用戶將退回到命令行方式的GRUB外殼下。

  安裝GRUB 

  如果在Red Hat Linux的安裝過程中,GRUB沒有被安裝,下面將說明如何安裝它,并將它設(shè)為默認(rèn)的引導(dǎo)裝載程序。

  注意:如果LILO已經(jīng)被安裝,并且是當(dāng)前的系統(tǒng)引導(dǎo)裝載程序,那并沒有必要為了使用GRUB而刪除它。GRUB一旦安裝后,將做為系統(tǒng)默認(rèn)的引導(dǎo)裝載程序。

  首先,獲取最新可用的GRUB包。在Red Hat Linux安裝光盤上的GRUB包也可以使用。

  其次,在一個外殼提示下,運行命令/sbin/grub-install ,這里的是GRUB將要被安裝的位置。比如說:/sbin/grub-install /dev/hda

  最后,重新引導(dǎo)系統(tǒng)。GRUB圖形引導(dǎo)裝載菜單將出現(xiàn)! 《RUB的術(shù)語

  在使用GRUB前,最重要的事情之一就是理解這個程序是如何引用設(shè)備的,如系統(tǒng)硬盤驅(qū)動器、分區(qū)等。對于配置GRUB實現(xiàn)多操作系統(tǒng)的引導(dǎo),這方面的信息是很重要的。

  設(shè)備名稱

  系統(tǒng)的第一個硬盤驅(qū)動器被GRUB稱為(hd0)。在它上面的第一個分區(qū)被稱為(hd0,0),第二個硬盤驅(qū)動器上的第5個分區(qū)被稱為(hd1,4)。通常使用GRUB時,文件系統(tǒng)習(xí)慣上采用下面的方式命名:

  (,)
  在設(shè)備命名中,圓括號和逗號是很重要的。指出是一個硬盤(hd)還是一個軟盤(fd)被指定。

  是依照系統(tǒng)BIOS而確定的設(shè)備號,從0開始;綢DE硬盤被標(biāo)為0,第二IDE硬盤被標(biāo)為1。這個排序大體上等同于linux內(nèi)核用字母安排設(shè)備的順序,只是在hda中的a變成了0,hdb中的b變?yōu)榱?,依次類推。

  注意:GRUB用于設(shè)備的命名系統(tǒng)是從0開始,而不是1。這常常是GRUB新手們常犯的最普遍的錯誤。
  指在一塊硬盤上一個分區(qū)的編號。類似于,分區(qū)的編號也是從0開始。雖然大多數(shù)的分區(qū)可以用數(shù)字指定,但是如果系統(tǒng)使用的是BSD分區(qū),那么它們還是用字母來指定,如a或c。

  GRUB在命名設(shè)備和分區(qū)時,使用下面的規(guī)則:

  ·系統(tǒng)使用IDE硬盤或SCSI硬盤,都沒有關(guān)系。所有的硬盤都是用hd開始。軟盤用fd開頭。
  ·當(dāng)指定整個硬盤,不考慮它的分區(qū)時,簡單地將逗號和分區(qū)編號取消即可。當(dāng)告訴GRUB配置一個特定硬盤的主引導(dǎo)扇區(qū)時,這一點很重要。比如,(hd0)指定第一個設(shè)備,(hd3)指定第四個設(shè)備。
  ·如果一個系統(tǒng)有多個驅(qū)動設(shè)備,知道由BIOS確定的驅(qū)動器順序就很重要了。如果系統(tǒng)只有IDE或SCSI驅(qū)動器,那是相當(dāng)簡單的。但是如果有多個驅(qū)動器混合時,這就變得令人混亂了! 

  文件名稱

  當(dāng)在GRUB中輸入包括文件的命令時,比如在多操作系統(tǒng)中使用一個菜單列表,文件名必須直接在設(shè)備和分區(qū)后指定。一個絕對文件名的格式如下:

  (,)/path/to/file

  大多數(shù)的時候,用戶可以通過在分區(qū)上的目錄路徑后加上文件名來指定文件。這種方法是直接了當(dāng)?shù)摹?br>
  另外,我們也可以將不在文件系統(tǒng)中出現(xiàn)的文件指定給GRUB,比如在一個分區(qū)最初幾塊扇區(qū)中的鏈?zhǔn)揭龑?dǎo)裝載程序。為了指定這些文件,需要提供一個塊列表(blocklist),由它來一塊一塊地告訴GRUB文件在分區(qū)中的位置。當(dāng)一個文件是由幾個不同的塊組合在一起時,需要有一個特殊的方式來寫塊列表。每個文件片斷的位置由一個塊的偏移量以及從偏移點起始的塊數(shù)來描述,這些片斷以一個逗號分界(comma-delimited)的順序組織在一起。

  考慮下面的塊列表:

  0+50,100+25,200+1

  上面這個塊列表告訴GRUB使用
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請問如何修復(fù)MBR中的引導(dǎo)記錄?
想學(xué)WINCE,從那里入手?
誰有字符串des或rc6加解密C++程序?
直流電機驅(qū)動問題
步進電機驅(qū)動問題
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號