设为首页收藏本站

Discuz! Board

 找回密码
 注-册

QQ登录

只需一步,快速开始

搜索
查看: 33179|回复: 2

【资料分享】LILO, Linux Crash Rescue HOW-TO 中译版(一)

[复制链接]
发表于 2003-5-19 19:00:25 | 显示全部楼层 |阅读模式
作者:Al Dev (Alavoor Vasudevan) [1]alavoor@yahoo.com  
译者:黄国伟 [2]u4561055@cc.ncu.edu.tw  
  
v6.0, 25 Dec 2000 翻译日期:19 Mar 2001  
_________________________________________________________________  
  
这份文件探讨从 Linux 系统失灵中回复的方法。造成 Linux 系统失灵的各种原  
因可能是 - LILO 毁损、 linux 无法开机、 硬碟主开机记录 (Master Boot  
Record, 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]http://www.toms.net/rb, 并使用  
tomsrtbt 开机磁片开机。 使用 fdisk 指令找出分割区 (partitions)。 试  
著用以下指令辨识出 root 分割区 -  
_____________________________________________________________  
  
bash# fdisk /dev/hda  
bash# mkdir /test  
bash# mount /dev/hda1 /test  
bash# ls /test  
您应该会看到 root 分割区显示如下 -  
bin fd lib mnt proc sbin usr  
boot 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 /hda4  
bash# mount /dev/hda4 /hda4  
bash# cat /hda4/etc/fstab  
阅读 fstab 的内容,并且按照 fstab 档案挂上 (mount) 分割区。像下面这样 -  
bash# mount /dev/hda5 /hda4/boot  
bash# mount /dev/hda6 /hda4/usr  
bash# mount /dev/hda7 /hda4/var  
bash# mount /dev/hda8 /hda4/opt  
bash# mount /dev/hda9 /hda4/root  
bash# 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/win95part  
bash# mount /hda4/win95part  
使用 fsck 或 e2fsck 指令来修复系统。  
bash# man fsck  
bash# man e2fsck  
_____________________________________________________________  
  
2. 状况 2: 如果 LILO 是无效的..  
依照状况 1 的步骤来排除问题。如果无法解决,则参照以下步骤。 现在您  
应该已经挂上 /hda4 且已经编辑好 /etc/fstab 档案了。  
_____________________________________________________________  
  
bash# mount -a  
bash# chroot /hda4 /sbin/lilo -q  
bash# man chroot  
bash# chroot /hda4 /sbin/lilo  
_____________________________________________________________  
  
您也可以选择使用 /sbin/lilo 以代替 chroot。 lilo 加选项 -r 实际上就  
和 chroot 的指令是一样的。 强烈建议您使用 chroot,而不要使用 lilo  
-r, 因为使用 chroot 比较方便,且较容易找出错误。  
_____________________________________________________________  
  
bash# man lilo  
bash# /sbin/lilo -r /hda4  
_____________________________________________________________  
  
3. 状况 3: 如果 LILO 是无效的..  
如果使用状况 1 和状况 2 的步骤均无法解决, 假如您有使用  
'mkbootdisk' 制作过开机片(於安装时或参考 'man mkbootdisk'自行建立)  
,则使用您的开机磁片来开机并修复分割区。 mkbootdisk 存在於  
mkbootdisk*.rpm 的套件,您必须安装它。 (译注:随不同发行套件而有所  
差异;请洽询您的发行套件厂商或组织)  
4. 状况 4: 如果以上状况 1、2、3 的步骤皆无法解决问题,且您也没有开机  
磁片  
假如您有其他 linux 系统的电脑,以 root 身份登入并且执行 -  
_____________________________________________________________  
  
bash$ man mkbootdisk  
bash# 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 1  
bash$ mkdir /hda4; mount /hda4  
bash$ mkdir /b1; mount /b1  
bash$ 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 mkbootdisk  
bash# cp /etc/lilo.conf /etc/lilo-original.conf  
_____________________________________________________________  
  
注意:您必须记得将 lilo-original.conf 复制回 lilo.conf!! 编辑  
/etc/lilo.conf 并将您在 '状况 1' 所获得的 root 分割区格式填入;之後  
插入空白磁碟片并执行 -  
_____________________________________________________________  
  
bash# mkbootdisk /dev/fd0  
bash# cp /etc/lilo-original.conf /etc/lilo.conf  
_____________________________________________________________  
  
测试此开机磁片,检视其是否能运作, 并将第一步中利用 tar 作备分的档  
案 /b1/root-hda4.tar 回复。 (译注:您可使用 tar xvf 来回复。详见  
tar manpage)  
  
  
 楼主| 发表于 2003-5-19 19:06:28 | 显示全部楼层

【资料分享】LILO, Linux Crash Rescue HOW-TO 中译版(二)

1.2 预防性措施  
  
您应当采取下列的预防性措施来处理未来可能发生的问题:  
  
* 您一定要偶尔制作救援开机磁片,且在您改变分割区时一定要制作。 插入空  
白磁碟片并执行 -  
_____________________________________________________________  
  
bash$ man mkbootdisk  
mkbootdisk 存在於 mkbootdisk*.rpm 的套件,您必须安装它。  
(译注:随不同发行套件而有所差异;请洽询您的发行套件厂商或组织)  
bash$ mkbootdisk --help  
bash$ mkbootdisk --device /dev/fd0 2.2.12-20  
_____________________________________________________________  
  
* 您手边必须拥有 tomsrtbt 的开机磁片。详见 [4]http://www.toms.net/rb  
* 您手边必须拥有 Yard 救援和开机磁片。详见  
[5]http://www.croftj.net/~fawcett/yard  
* 备分 /root 与 /boot 目录。使用 Tomsrtbt 开机磁片开机,并且执行  
_____________________________________________________________  
  
bash# vi /etc/fstab  
加入以下数行 -  
/dev/hda1 /a1 vfat defaults 1 1  
/dev/hdb1 /b1 vfat defaults 1 1  
以我的系统为例, hda1 为 linux 之 root 分割区 '/'  
bash# cd /  
bash# tar cvf /b1/linux-root-partition-hda1.tar a1  
bash# tar cvf /b1/linux-boot-partition-hda1.tar a1/boot  
_____________________________________________________________  
  
1.3 移除 LILO  
  
您可以使用 DOS 启动载入程式(boot loader)载入启动磁区,并以之取代 LILO。  
在 MS DOS 提示符号下输入以下指令:  
_________________________________________________________________  
  
FDISK /MBR  
_________________________________________________________________  
  
此处的 MBR 代表 "硬碟主开机记录(Master Boot Record)"。  
  
请参考 LILO 文件,取得其他移除 LILO 的方法;这些文件通常放在 linux 系统  
上的 /usr/doc/lilo* (译注:或者是 /usr/share/doc/lilo*)。也请参考 'man  
lilo'。  
  
1.4 常犯错误  
  
在您更改 /etc/lilo.conf 之後,您必须执行 lilo ,使您的改变生效。 忘了执  
行是 linux 初学者很常犯的错误。执行 -  
_________________________________________________________________  
  
bash# lilo -v -v -v  
_________________________________________________________________  
  
2. 相关连结  
  
请参阅以下位址,可取得 LILO、Linux 救援、当机回复的相关资讯 -  
* Mini Lilo HOWTO at [6]http://www.linuxdoc.org/HOWTO/mini/LILO.html  
* Bootdisk-HOWTO at  
[7]http://www.metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO/index.html  
* Pre-made boot disks at  
[8]http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/  
* Tomsrtbt boot floppy disk [9]http://www.toms.net/rb  
* Yard rescue and boot floppy disk  
[10]http://www.croftj.net/~fawcett/yard  
* BootPrompt-HOWTO at  
[11]http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html  
* Multiboot with LILO mini HOWTO at  
[12]http://www.linuxdoc.org/HOWTO/mini/Multiboot-with-LILO.html  
* Linux+WinNT mini HOWTO at  
[13]http://www.linuxdoc.org/HOWTO/mini/Linux+WinNT.html  
* Linux goodies main site [14]http://www.aldev.8m.com  
* Linux goodies mirror site [15]http://aldev.webjump.com  
* Vim color text editor for C++, C  
[16]http://metalab.unc.edu/LDP/HOWTO/Vim-HOWTO.html  
  
  
 楼主| 发表于 2003-5-19 19:07:12 | 显示全部楼层

【资料分享】LILO, Linux Crash Rescue HOW-TO 中译版(三)

3. 此份文件的其他格式  
  
此份文件是以 11 种不同的格式所发行的 - DVI, Postscript, Latex, Adobe  
Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format), Plain-text,  
Unix man pages, single HTML file 以及 SGML.  
* 您可以从下列连结得到 HTML、DVI、Postscript、或 SGML 格式的 HOWTO 文  
件单一 tar ball 档案 -  
[17]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/  
* 纯文字格式: [18]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO  
* 其他语言之文件翻译,像是法文、德文、西班牙文、 中文、日文等是在  
[19]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO 欢迎您帮忙翻译成其他  
语言的版本。  
  
此份文件是以 "SGML-Tools" 工具软体所撰写的,您可以在下面的连结得到此软  
体 - [20]http://www.sgmltools.org 您可使用以下指令组译原始档,例如:  
* sgml2html LILO-crash-rescue-HOWTO.sgml (获取 html 档案)  
* sgml2rtf LILO-crash-rescue-HOWTO.sgml (获取 RTF 档案 )  
* sgml2latex LILO-crash-rescue-HOWTO.sgml (获取 latex 档案)  
  
(译注:中译版使用者请至 ftp.linux.org.tw/pub/CLDP/src 下载  
zh-sgmltools-1.x-x.tar.gz 并安装之,再以 big5sgml2html、big5sgml2rtf、  
big5sgml2latex 指令组译原始档。详见 SGMLtools 中文套件使用说明  
[21]http://www.linux.org.tw/CLDP/zh-sgmltools.html)  
  
LaTeX 文件可以使用 sgml2latex 来制作 Postscript, 再用 dvips 转成 PDF  
档,并且使用 Acrobat distill ( [22]http://www.adobe.com) 指令观看结果。  
如以下所示:  
_________________________________________________________________  
  
bash$ man sgml2latex  
bash$ sgml2latex filename.sgml  
bash$ man dvips  
bash$ dvips -o filename.ps filename.dvi  
bash$ distill filename.ps  
bash$ man ghostscript  
bash$ man ps2pdf  
bash$ ps2pdf input.ps output.pdf  
bash$ acroread output.pdf &  
_________________________________________________________________  
  
或者您可使用 Ghostscript 的指令 ps2pdf。 ps2pdf 是个与 Adobe's Acrobat  
Distiller 产品作用相似并拥有其大部分功能的指令: 它将 PostScript 档案转  
换成可携式文件格式(Portable Document Format, PDF)档案。 ps2pdf是被一个  
包含在 Ghostscript 的指令稿 (command script) (批次档 batch file), 且选  
择一种名叫 pdfwrite 的特殊 "输出装置 (output device)" 来执行。 为了要使  
用 ps2pdf,当 Ghostscript 在安装组译时,pdfwrite 装置必须要包含在  
makefile 里。 详见安装 Ghostscript 的文件。  
  
这份 howto 文件位於 -  
* [23]http://sunsite.unc.edu/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
  
您可也以在下列镜像站找到这份文件 -  
* [24]http://www.caldera.com/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
* [25]http://www.WGS.com/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
* [26]http://www.cc.gatech.edu/linux/LDP/HOWTO/LILO-crash-rescue-HOW  
TO.html  
* [27]http://www.redhat.com/linux-info/ldp/HOWTO/LILO-crash-rescue-H  
OWTO.html  
* 其他较靠近您的镜像站 (网址智慧辨识, network-address-wise) 可以在此  
找到 [28]http://sunsite.unc.edu/LDP/mirrors.html 选择一个镜像站,且  
进入目录 /LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
  
要阅读 dvi 格式的文件,必须使用 xdvi 程式。xdvi 程式在 Redhat Linux 是  
存在於 tetex-xdvi*.rpm (译注:随不同发行套件而有所差异;请洽询您的发行  
套件厂商或组织)。 您可以从控制面板(ControlPanel) | 应用程  
式(Applications) | 出版(Publishing) | Tex 的选单按钮开启之。 要读取  
dvi 格式文件,执行以下指令 -  
  
xdvi -geometry 80x90 howto.dvi  
man xdvi  
  
并且使用滑鼠来重新设定视窗大小。 使用方向键、Page Up、Page Down 来导引  
, 您也可使用 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' 字母键 来上移、下  
移、置中、至下一页、回上一页等。 要关闭专家选单,请按 'x'。  
  
您可以使用 'gv' (ghostview) 或 'ghostscript' 来阅读 postscript 格式的文  
件。 在 Redhat Linux 里,ghostscript 存在於 ghostscript*.rpm 套件;gv  
则存在於 gv*.rpm 套件里。(译注:随不同发行套件而有所差异;请洽询您的发  
行套件厂商或组织) 您可以从控制面版(ControlPanel) | 应用程  
式(Applications) | 美工绘图(Graphics) 的选单按钮开启之。gv 远比  
ghostscript 更人性化。 ghostscript 和 gv 也有其他平台的版本,像是 OS/2  
、 Windows 95 和 NT,您甚至在那些平台也可以观看此份文件。  
  
* 您可从以下网址获得 Windows 95、OS/2、和所有作业系统平台的  
ghostscript [29]http://www.cs.wisc.edu/~ghost  
  
要阅读 postscript 格式的文件,执行以下指令 -  
  
gv howto.ps  
ghostscript howto.ps  
  
您可以使用 Netscape Navigator、Microsoft Internet explorer、 Redhat  
Baron Web browser 或任何其他的 10 种浏览器来阅读 HTML 格式的文件  
  
您可以使用 LyX -- 一种 latex 在 X-Windows 的前端界面,来阅读 latex 格式  
的文件。  
  
4. 版权 Copyright  
  
版权政策按照 LDP (Linux 文件计划) 为 GNU/GPL。 LDP 是 GNU/GPL 计划之一  
。 额外的请求为您在所有的复制文件中保留作者的姓名、电子邮件信箱位址、  
和此份版权声明。假如您对这份文件进行修改或增添, 那麽请您告知此份文件的  
所有作者。 在这份文件上所烙印的姓名为其各自所有人的所有权  
  
原文 (如中译有误,以原文为主)  
  
Copyright policy is GNU/GPL as per LDP (Linux Documentation project).  
LDP is a GNU/GPL project. Additional requests are that you retain the  
author's name, email address and this copyright notice on all the  
copies. If you make any changes or additions to this document then you  
please intimate all the authors of this document. Brand names  
mentioned in this document are property of their respective owners.  
  
References  
  
1. mailto:alavoor@yahoo.com  
2. mailto:u4561055@cc.ncu.edu.tw  
3. http://www.toms.net/rb  
4. http://www.toms.net/rb  
5. http://www.croftj.net/~fawcett/yard  
6. http://www.linuxdoc.org/HOWTO/mini/LILO.html  
7. http://www.metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO/index.html  
8. http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/  
9. http://www.toms.net/rb  
10. http://www.croftj.net/~fawcett/yard  
11. http://www.linuxdoc.org/HOWTO/BootPrompt-HOWTO.html  
12. http://www.linuxdoc.org/HOWTO/mini/Multiboot-with-LILO.html  
13. http://www.linuxdoc.org/HOWTO/mini/Linux+WinNT.html  
14. http://www.aldev.8m.com/  
15. http://aldev.webjump.com/  
16. http://metalab.unc.edu/LDP/HOWTO/Vim-HOWTO.html  
17. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/  
18. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO  
19. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO  
20. http://www.sgmltools.org/  
21. http://www.linux.org.tw/CLDP/zh-sgmltools.html  
22. http://www.adobe.com/  
23. http://sunsite.unc.edu/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
24. http://www.caldera.com/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
25. http://www.WGS.com/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
26. http://www.cc.gatech.edu/linux/LDP/HOWTO/LILO-crash-rescue-HOWTO.html  
27. http://www.redhat.com/linux-info/ldp/HOWTO/LILO-crash-rescue-HOWTO.html  
28. http://sunsite.unc.edu/LDP/mirrors.html  
29. http://www.cs.wisc.edu/~ghost  
  
您需要登录后才可以回帖 登录 | 注-册

本版积分规则

小黑屋|手机版|Archiver|数码鹭岛 ( 闽ICP备05008334号 )  

counter

GMT+8, 2018-2-26 09:14 , Processed in 0.154532 second(s), 24 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表