熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

深入解剖 LILO

2013-11-13 16:16:34  來源: Oracle 

  本文我們將深入底層來講述LILO 的技術細節也將告訴讀者怎樣去掉LILO 以及重新安裝LILO
  
  本文我們將講述LILO 的內部技術細節以及啟動時的主要操作及其功能以幫助我們調整LILO 的安裝LILO 最大的好處就是它獨立於文件系統可以啟動各種操作系統從MicrosoftOS/SCO UnixUnixwarePCDOS到Linux等等
  
  LILO 能處理最多個不同的映像LILO 寫入MBR 時就作為主引導程序寫入擴展分區的引導扇區時就是第二引導程序采用LILO可以有多種組合方式啟動系統
  
  我們先來看看引導過程硬盤上的數據被准確的分配到對應的磁道扇區硬盤上的數據分布首先是引導扇區然後是文件分配表(FAT)接下來就是數據區
  
  硬盤分區時被分為基本分區和擴展分區基本分區可以作為引導分區可以通過任何引導程序標記為可引導擴展分區可以分成好幾個邏輯分區很多的BIOS 不允許從邏輯分區啟動
  
  Linux 最多支持個基本分區如果需要額外的分區那麼就要其中的一個基本分區變成擴展分區然後在擴展分區裡面劃分邏輯分區很重要的一點是有些邏輯分區的分區表不能被識別為設備的第一塊分區表通常存放於分區的引導扇區而且通常只有整個盤的分區啟動扇區用作引導扇區稱為主引導記錄(MBR)
  
  LILO 可以用於以下情形
  
  第一硬盤的引導扇區
  軟盤的引導扇區
  位於第一硬盤的Linux 文件系統分區上的引導扇區
  
  LILO 不能用於以下情形
  
  交換分區
  擴展分區中的邏輯分區的引導扇區
  
  所以如果你在第二硬盤上安裝了Linux 而不能啟動的話可以采取在第一硬盤上建立 /boot 的辦法來解決
  
  引導加載過程由很多程序組成我們先來看看LILO 安裝
  時的各種不同程序
  
  MAP 安裝程序這個程序把LILO 的文件放到合適的位置
  並記錄這些信息(會在LILO 啟動時用到)這個程序就是
  /sbin/lilo 每次配置文件有改動或者有新內核時需要重新運行一遍
  
  /boot/**其他LILO 啟動時需要的文件存放在 /boot 目錄下map 文件是十分重要的map 安裝程序把新內核的位置記錄到這個文件
  
  引導加載程序這個程序無需多言是最重要的部件了它被
  BIOS 調入內存然後調用內核或者其他操作系統的引導扇區
  
  包含引導加載程序第一部分的引導扇區被調入內存然後調用引導加載程序的第二部分一般位於文件 /boot/bootb接下來就啟動內核
  
  如果從可引導軟盤啟動的話BIOS 把軟盤的第一個扇區調入內存一般這個扇區包含一段程序來啟動對應的操作系統和軟盤一樣如果LILO 寫入MBR 那麼MBR 就被調入內存執行對應的操作給用戶提示選擇需要引導的操作系統具體地說MBR 的頭 個字節由引導加載程序利用剩余的 字節是分區表信息還剩下的兩個字節就是分區激活標志 AA
  
  在軟盤上備份 MBR 信息
  
  bash# dd if=/dev/hda of=/dev/fd bs= count=
  
  恢復(萬一的情況下)
  
  bash# dd if=/dev/fd of=/dev/hda bs= count=
  
  刪除 LILO
  
  c:> fdisk /mbr
  
  恢復 LILO
  
  重新安裝 Windows 以後就會把LILO 干掉無論什麼原因
  我們都應該知道怎樣恢復LILO
  
  最好手頭有一張安裝 CD 這年頭干淨並且確實好用的
  軟盤太少了所以不推薦你使用軟盤當然如果你認為
  你的軟盤質量可靠那麼可以從CDROM
  上建立應急啟動盤
  
  dd if=/cdrom/disks/rescue of=/dev/fd
  
  在 DOS 下面采用
  
  rawrite imagename a:
  
  也可以在 上下載一個按照說明制作一張啟動磁盤
  
  如果從 CD 啟動的話各個不同的Linux 版本有不同的方法進入應急狀態Red Hat 啟動後有一個應急模式SuSE 的話需要先進入安裝界面然後按Ctrl+Alt+Fn 鍵找到shell 提示符可以在這個提示符下來恢復
  
  下面介紹恢復步驟
  
  首先建立掛接點
  mkdir mount
  
  然後把丟失的 Linux 掛接到這裡
  mount /dev/hda mount
  
  如果 /boot 位於另外的分區
  需要把他掛接到 mount/boot 目錄下例如
  mount /dev/hda mount/boot
  
  使用 chroot 命令把 mount 作為根目錄cd /boot
  命令實際上進入的是 mount/boot 目錄
  
  chroot mount
  
  運行 /sbin/lilo 這樣就把 LILO 安裝回了 MBR重新啟動就會看到 LILO 提示符回來了

From:http://tw.wingwit.com/Article/program/Oracle/201311/18073.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.