LILO, Linux Crash Rescue HOW-TO 中譯版(1)(轉)
LILO, Linux Crash Rescue HOW-TO 中譯版(1)(轉)[@more@]這份檔案探討從 Linux 系統失靈中回覆的方法。造成 Linux 系統失靈的各種原因可能是 - LILO 毀損、 linux 無法開機、 硬碟主開機記錄 (Master BootRecord, MBR) 損壞、或是安裝其他作業系統例如 Windows NT 而將 LILO 或MBR 蓋寫掉所造成 linux 無法開機。_________________________________________________________________1. 簡介* 1.1 回覆系統的快速步驟* 1.2 預防性措施* 1.3 移除 LILO* 1.4 常犯錯誤2. 相關連結3. 此份檔案的其他格式4. 版權 Copyright_________________________________________________________________1. 簡介您無法避免意外的發生;如果意外發生在 linux 系統, 這可能會損害到硬碟主開機記錄 (MBR) 或是 LILO (Linux boot Loader)。 當 linux 由於硬碟故障而導致無法開機時,意外就會發生。 假如您不小心重新劃分磁碟,或是在 linux系統的電腦上安裝其他作業系統, 例如:Windows 98/NT,LILO 也可能會失效。這份檔案給您一些點子、秘訣、和快速的指引來快速回復系統, 而不必費心地研讀上百頁有關 LILO 或 Linux 的檔案。1.1 回覆系統的快速步驟循著這些步驟執行,以便從 LILO 或系統失靈中回覆。1. 狀況 1: 假如系統無法開機 -取得並建立 tomsrtbt 開機磁片 [3], 並使用tomsrtbt 開機磁片開機。 使用 fdisk 指令找出分割區 (partitions)。 試著用以下指令辨識出 root 分割區 -_____________________________________________________________bash# fdisk /dev/hdabash# mkdir /testbash# mount /dev/hda1 /testbash# ls /test您應該會看到 root 分割區顯示如下 -bin fd lib mnt proc sbin usrboot dev etc home lost+found opt root tmp var_____________________________________________________________如果此分割區並非 root 分割區,試試下個分割區 /dev/hda2 。 再繼續嘗試 hda3 、 hda4 、 hda5 等,直到您找出 root 分割區為止。 如在 hda仍無法找到,請重複以上的步驟在其他裝置上, 例如 hdb, hdc, hdd 等..在建立新的 lilo 設定時, /usr、/var、與 /boot 分割區也是需要的。以我的系統為例,root 分割區是在 /dev/hda4:_____________________________________________________________bash# mkdir /hda4bash# mount /dev/hda4 /hda4bash# cat /hda4/etc/fstab閱讀 fstab 的內容,並且按照 fstab 檔案掛上 (mount) 分割區。像下面這樣 -bash# mount /dev/hda5 /hda4/bootbash# mount /dev/hda6 /hda4/usrbash# mount /dev/hda7 /hda4/varbash# mount /dev/hda8 /hda4/optbash# mount /dev/hda9 /hda4/rootbash# mount /dev/hda10 /hda4/home_____________________________________________________________以我的系統為例,按照 fstab 所顯示,hda5 是 boot、hda6 是 usr ,hda7 是 var、hda8 是 opt、hda9 是 root、hda10 是 home、 而 hda11 是windows95 的目錄編輯 /etc/fstab (不是 /hda4/etc/fstab)並且加入(以下簡單的程式碼)_____________________________________________________________/dev/hda4 /hda4 ext2 defaults 1 1/dev/hda5 /hda4/boot ext2 defaults 1 1/dev/hda6 /hda4/usr ext2 defaults 1 1/dev/hda7 /hda4/var ext2 defaults 1 1/dev/hda8 /hda4/opt ext2 defaults 1 1/dev/hda9 /hda4/root ext2 defaults 1 1/dev/hda10 /hda4/home ext2 defaults 1 1/dev/hda11 /hda4/win95part vfat defaults 1 1在我的電腦中,hda4 含有 linux 的 root 分割區、hda5 有 boot 分割區、hda11 則有 windows 95 的 vfat 系統。bash# mkdir /hda4/win95partbash# mount /hda4/win95part使用 fsck 或 e2fsck 指令來修復系統。bash# man fsckbash# man e2fsck_____________________________________________________________2. 狀況 2: 如果 LILO 是無效的..依照狀況 1 的步驟來排除問題。如果無法解決,則參照以下步驟。 現在您應該已經掛上 /hda4 且已經編輯好 /etc/fstab 檔案了。_____________________________________________________________bash# mount -abash# chroot /hda4 /sbin/lilo -qbash# man chrootbash# chroot /hda4 /sbin/lilo_____________________________________________________________您也可以選擇使用 /sbin/lilo 以代替 chroot。 lilo 加選項 -r 實際上就和 chroot 的指令是一樣的。 強烈建議您使用 chroot,而不要使用 lilo-r, 因為使用 chroot 比較方便,且較容易找出錯誤。_____________________________________________________________bash# man lilobash# /sbin/lilo -r /hda4_____________________________________________________________3. 狀況 3: 如果 LILO 是無效的..如果使用狀況 1 和狀況 2 的步驟均無法解決, 假如您有使用'mkbootdisk' 製作過開機片(於安裝時或參考 'man mkbootdisk'自行建立),則使用您的開機磁片來開機並修復分割區。 mkbootdisk 存在於mkbootdisk*.rpm 的套件,您必須安裝它。 (譯註:隨不同發行套件而有所差異;請洽詢您的發行套件廠商或組織)4. 狀況 4: 如果以上狀況 1、2、3 的步驟皆無法解決問題,且您也沒有開機磁片假如您有其他 linux 系統的電腦,以 root 身份登入並且執行 -_____________________________________________________________bash$ man mkbootdiskbash# cp /etc/lilo.conf /etc/lilo-original.conf_____________________________________________________________編輯 /etc/lilo.conf 並將您在 '狀況 1' 所獲得的 root 分割區格式填入;之後插入空白磁碟片並執行 -_____________________________________________________________bash# mkbootdisk /dev/fd0_____________________________________________________________mkbootdisk 存在於 mkbootdisk*.rpm 的套件,您必須安裝它。 (譯註:隨不同發行套件而有所差異;請洽詢您的發行套件廠商或組織) 您必須確保將/etc/lilo-original.conf 更改回原來的檔名 /etc/lilo.conf!! 再以此開機磁片進行狀況 3 的步驟。5. 狀況 5: 這是最壞的情況,希望您不會走到這個地步。 狀況 1 到 4 已包含了絕大多數的案例,但是如果連狀況 1、2、3、和 4 的步驟都無法解決 -第一步: 使用 tomsrtbt 開機磁片開機,掛上分割區, 並且使用以下指令備份 root 分割區至其他還有磁碟空間的分割區 -_____________________________________________________________編輯 /etc/fstab 並且寫入 (以下簡單的程式碼,您可能必須按照您的磁碟機實際狀況作改變) -/dev/hda4 /hda4 ext2 defaults 1 1/dev/hda11 /b1 vfat defaults 1 1bash$ mkdir /hda4; mount /hda4bash$ mkdir /b1; mount /b1bash$ cd /bash$ df檢視 /b1 是否有足夠的磁碟空間,以便使用 tar 來備份 root 分割區。bash$ tar cvf /b1/root-hda4.tar /hda4_____________________________________________________________第二步: 放入 Linux 光碟片,重開機並安裝 redhat linux (譯註:或其他linux 發行套件) 在 /dev/hda4 (但千萬不要安裝任何多餘的套件, 您只需要安裝 root、boot 系統,和 LILO 管理者。 也就是說,選擇最小安裝即可)。 安裝程式也將會安裝 LILO 在您的硬碟裡。 現在重新啟動 linux,以root 身份登入,並且執行 -_____________________________________________________________bash$ man mkbootdiskbash# cp /etc/lilo.conf /etc/lilo-original.conf_____________________________________________________________注意:您必須記得將 lilo-original.conf 複製回 lilo.conf!! 編輯/etc/lilo.conf 並將您在 '狀況 1' 所獲得的 root 分割區格式填入;之後插入空白磁碟片並執行 -_____________________________________________________________bash# mkbootdisk /dev/fd0bash# cp /etc/lilo-original.conf /etc/lilo.conf_____________________________________________________________測試此開機磁片,檢視其是否能運作, 並將第一步中利用 tar 作備分的檔案 /b1/root-hda4.tar 回覆。 (譯註:您可使用 tar xvf 來回復。詳見tar manpage
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945148/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LILO, Linux Crash Rescue HOW-TO 中譯版(2)(轉)Linux
- 紅旗Linux中LILO的配置(轉)Linux
- LILO配置指南(整理版) (轉)
- LILO使用指南(中)(轉)
- LINUX LILO若干問題探討 (轉)Linux
- LILO配置指南(轉)
- LINUX-LILO可以裝在軟盤上(轉)Linux
- [譯][A crash course in WebAssembly] assemblyWeb
- Linux Serial HOWTO 中譯版(zt)Linux
- Lilo使用技術(轉)
- 深入理解LILO(轉)
- Linux知識--lilo.conf中文手冊(轉)Linux
- LILO使用指南(下)(轉)
- LILO使用指南(上)(轉)
- linux忘記了密碼怎麼辦(lilo/grub)(轉)Linux密碼
- Struts HOW-TO 系列 之 資料庫訪問 (轉)資料庫
- linux無法引導 rescue 救援模式Linux模式
- LILO的全域性引數(轉)
- lilo--實踐篇(FAQ) (轉)
- 用crash tool觀察ARM64 Linux地址轉換Linux
- Linux命令Man解釋:lilo :安裝引導裝載程式(轉)Linux
- Linux引導載入程式之爭:瞭解 LILO 和 GRUB(轉)Linux
- 關於LiLo--原理篇(轉)
- LILO啟動問題詳解 (轉)
- Win95 + WinNT + Linux multiboot using LILO mini-HOWTO (轉)Linuxboot
- Slackware LILO 安裝幫助文件(轉)
- 【譯】.NET 7 預覽版 1 中的 ASP.NET Core 更新ASP.NET
- [譯][A crash course in WebAssembly] Just-in-time(JIT)編譯器速成課Web編譯
- Linux 中編譯 PHP 會遇到的問題(轉)Linux編譯PHP
- [譯][A crash course in WebAssembly] 創作並使用 WebAssembly 模組Web
- 跟我學 “Linux” 小程式 Web 版開發(四):引入統計及 Crash 收集LinuxWeb
- SDL Guide 中文譯版(一) (轉)GUIIDE
- SDL Guide 中文譯版(二) (轉)GUIIDE
- SDL Guide 中文譯版(四) (轉)GUIIDE
- [譯][A crash course in WebAssembly] 為什麼WebAssembly這麼快Web
- [譯][A crash course in WebAssembly] WebAssembly的進度和計劃Web
- Linux中gcc編譯工具LinuxGC編譯
- linux指令大全[1](轉)Linux