导航

    <#CACHE_INCLUDE_NAVBAR#>
« 淺析Oracle備份方式的差異性 防止網站被JS掛馬 »

Linux開機管理:Lilo與Grub

2011年4月13日 Linux 0条评论 0个引用

LILO是現在許多Linux缺省的引導程序,它的全稱是Linux Loader,擁有很強大的功能。Grub 也是壹個多重啟動管理器,它的全稱是Grand Unified Bootloader。Grub的功能與LILO壹樣,也是在多個操作系統共存時選擇引導哪個系統。它可以引導很多PC上常用的操作系統,其中就有Linux、FreeBSD、Solaris、Windows 9x、Windows NT;可以載入操作系統的內核和初始化操作系統;可以把引導權直接交給操作系統來完成引導;可以直接從FAT、minix、FFS、ext2或ext3分區讀取Linux內核。Grub 有壹個特殊的交互式控制臺方式,可以手工裝入內核並選擇引導分區。
  
  初識Grub和LILO
  
  1.Grub與LILO的優缺點
  
  由於Grub出現要比LILO晚,所以它可以實現LILO的絕大部分功能,可以代替LILO來完成對Linux的引導,特別適用於Linux與其它操作系統共存情況。
  
  ◆ 8.4GB問題
  
  以前大多數Linux所帶較舊版本的LILO都有這樣的壹個問題:啟動/boot分區不能分在超過1023柱面的地方,壹般是在8.4GB左右的地方,否則LILO不能安裝,或者安裝後不能正確引導系統。Grub就不會出現這種情況,只要安裝時大硬盤是在LBA模式下,它就可以引導根分區在8GB以外的操作系統。目前,在LILO較新的版本中這個問題已經做了很好處理。
  
  ◆ 漂亮的Logo
  
  Grub引導開機顯示壹個漂亮的開機畫面,它可以是640×480、800×600、1024×768等各種模式畫面, 而且可以支持自動選擇最佳圖像模式。Linux愛好者可以通過改變這幅圖片來制作個性化開機畫面。
  
  LILO源於文字界面,因此它在最新的版本中對開機畫面的支持也是很有限的。
  
  ◆ 執行模式
  
  Grub不但可以通過配置文件進行引導,還可以在選擇引導前動態改變引導參數,動態加載各種設備。例如,在Linux下編譯了壹個新的核心,但不能確定它能不能工作,就可以在引導時動態改變Grub的參數,此時即使Grub菜單配置不正確,但仍可以引導系統。Grub的命令行有非常強大的功能,而且支持如bash壹樣的歷史功能,可以用上下鍵來尋找以前的命令。LILO就不支持這種模式。
  
  在LILO下,既可以手工輸入操作系統的名字來引導不同的操作系統,也可使用壹個菜單來選擇不同的系統進行引導。Grub也兼容以上的操作。
  
  ◆ 分區對Grub與LILO的影響
  
  LILO是通過讀取硬盤上的絕對扇區來裝入操作系統,因此每次分區改變都必須重新配置LILO,如果調整了分區的大小及分區的分配,那麽LILO在重新配置之前就不能引導這個分區的操作系統了。而Grub是通過文件系統直接把核心讀取到內存,因此只要操作系統核心的路徑沒有改變,Grub就可以引導系統。
  
  Grub和LILO支持多種外部設備,支持多種文件系統,動態裝載操作系統內核,甚至可以通過網絡裝載操作系統核心。Grub還支持多種可執行文件格式,支持自動解壓,可以引導不支持多重引導的操作系統等。
  
  Grub和LILO的參數比較
  
  1.安裝
  
  敲入“makebootable”命令,就可以安裝Grub。而“lilo -v”則是重新安裝LILO。LILO引導扇區包括壹個分區表的空間,所以LILO既可以安裝在MBR中,也可以安裝在某個分區的引導扇區。Grub和LILO同時都可以安裝在軟盤之中。制作Grub的啟動盤和制作LILO的啟動盤相差不大。
  
  要制作引導盤,需執行壹些簡單的步驟。首先確定Grub或LILO已經安裝,並且在新的軟盤上創建 ext2文件系統。然後進行安裝,將壹張空盤插入軟驅,輸入:
  
  #mke2fs /dev/fd0
  
  創建了ext2文件系統後,需要安裝該文件系統。
  
  (1)安裝Grub
  
  進入Grub的目錄:
  
  #cd /boot/grub
  
  放入壹張軟盤,執行以下命令:
  
  #dd if=stage1 of=/dev/fd0 bs=512 count=1
  #dd if=stage2 of=/dev/fd0 bs512 seek=1
  
  Grub啟動盤就完成了。
  
  (2)安裝LILO
  
  #dd if=/dev/hda of=/dev/fd0 bs=512 count=1(因為LILO已經安裝在MBR中)
  
  執行上述命令後LILO啟動盤就完成了。
  
  Grub啟動時,會在/boot/grub/中尋找壹個名字為menu.lst的配置文件,如果找不到此文件則不進入菜單模式直接進入命令行模式。menu.lst 是壹個文本文件,可以用任何壹個文本編輯器打開它。每壹行代表壹個配置命令,如果壹行的第壹個字符為“#”,則表明這壹行為註釋,可以簡單地用增加或減少註釋行來改變配置。LILO使用壹個文本文件/etc/lilo.conf作為其配置文件。LILO讀取lilo.conf,按照其中的參數將特定的LILO寫入系統引導區。如果修改了/etc/lilo.conf,就必須重新運行LILO命令,以保證LILO正常運行。
  
  Grub和LILO有很多的相似的參數,見表1所示。
  
  表1 Grub和LILO參數比較
  
  相似功能 Grub的具體參數 LILO的具體參數
  在second秒之後引導默認的操作系統 timeout second timeout=tsecs
  默認啟動選項 default num default=name
  指定操作系統的名字和描述 title OS mode label
  指出linux內核的路徑 Kernel image
  指出開機畫面的文件所存放的路徑和文件名 Splash pathname/filename message=message-file
  
  2.配置
  
  (1)Grub和LILO共同的配置(括號內為LILO的參數)
  
  指定引導默認的操作系統的等待時間:
  
  timeout second(timeout=tsecs)
  
  上面代碼表明設定second秒之後引導默認的操作系統。如果是timeout 5,就是5秒沒有其它指令就引導系統;如果設成-1,則Grub會壹直等待直到用戶選擇壹個選項為止。
  
  LILO中,timeout=50同樣設置等待鍵盤輸入的時長,單位是0.1秒。超過這段時間沒有輸入則為超時,系統將自動引導缺省的操作系統。如果不設置本參數,缺省的超時時間長度為無窮大。
  
  指定引導的默認操作系統:
  
  default num(default=name)
  
  Grub中默認啟動第num+1行的操作系統,default=1則啟動第2個系統。LILO中是通過default=name指定缺省引導的操作系統,如default=LINUX表示將label為Linux的系統作為缺省引導的操作系統。如不指定該參數,排在lilo.conf中的第壹個操作系統將作為缺省操作系統。
  
  指定引導的操作系統的內核:
  
  Kernel(image)
  
  給Grub指定內核在哪兒,還要指出哪個文件是內核文件。例如kernel /boot/vmlinuz-2.2.16 root=/dev/hda7 ro說明/boot/vmlinuz-2.2.16 就是要載入的內核,後面的都是傳遞給內核的參數。root=/dev/hda7就是Linux根分區的所在分區,ro以只讀的方式打開。 LILO中是以image=filename來指定含有壹個Linux內核的啟動選項的文件或設備。
  
  指定引導操作系統時的信息文件:
  
  Splash pathname/filename(message=message-file)
  
  上面代碼指出Grub開機畫面文件所存放的路徑和文件名。LILO中,message=message-file命令用於指定壹個包含註釋信息的文件,該文件將在系統“LILO”之前顯示。如果在LILO啟動時想獲取較多的信息,可以編輯這個文件,再使用該命令就可以了。文件中如果包含有ASCⅡ碼為0xFF的字符(Ctrl+L)則表示清屏。註意,文件的大小不能超過65535個字節。每次文件改變之後,都必須重新運行LILO命令重建map文件,以保證其正常顯示。
 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最近发表

Powered By Z-Blog 1.8 Arwen Build 81206