Enghish Version

MandrakeUser.Org - Your Mandrake-Linux Knowledge Base!

* DocIndex - Basics

系统恢复 第一篇

* 急救还是重装
* 基本的急救工具
* Mandrake Linux 的急救系统

相关资源:

LIGS, 4.11Mdk-Ref 13Vi 101
man mount
man fsck
man init

Revision / Modified: June. 17, 2002
Author: Tom Berger
Translator: Wu XiaoGuang

* 急救还是重装

缺少足够经验的使用者,遇到系统问题,往往会采取从别的系统搬来的办法:重装整个系统。
这不仅费时,而且减少了用户对系统的安全感,要知道,很可能这些用户还没有养成做备份的习惯。

其实只有极少的情况,真正需要重装系统,比如重大的文件系统崩溃、或硬盘出错。您可以在系统中,或经由外部(如通过网络连接、启动软盘/光盘),来完成修复。与其他操作系统相比,Linux 中的所有配置文件都是纯文本格式,可以用简单的文本编辑器进行修改。而且您可以卸载、升级(upgrade)、降级(downgrade) 系统的任何部分,这是由于 Linux 只需很少的一些文件,就可以实现一个操作系统的基本功能。

能够修复系统,才是合格的系统管理员,而且这也是从被系统控制,到反控制的重要转变。

* section index * top

* 基本的急救工具

配置、管理您的系统时,使用图形工具固然没有问题,这样可以简化对任务的处理,用起来也更加得心应手。
Linux 管理员之所以需要掌握一些命令行下的基本工具,是因为在急救时,很可能无法启动图形界面。

vi

不管您喜欢与否,这都是最基本的急救工具:一个文本编辑器。和大多数情况一样,Mandrake Linux 急救系统用的也是 'vim' 的一个微缩版:'vi' 编辑器。

您可以用 'vi' 打开文件:

vi file

如果该文件不在当前目录,那您得给出文件的路径:

vi /some/path/file

这样,'vi' 就可以显示文件内容了。进行编辑的话,按 <i> 键,然后您就能够以普通方式移动光标、删除或添加文字。
要保存编辑过的文件,按 <ESC> 键,然后敲两遍 <Z> 。请注意,'vi' 区分大小写,因此这儿要按两遍大写的 'Z' 。
如果退出但不存盘,就按这些键:<ESC> <:> <q> <!> <ENTER>

当然关于 'vi' 及 'vim' ,还有许多内容。即使不是最喜欢的编辑器,您也得对基本操作要相当熟悉,因为这在某一天肯定会用到。这里有 Vikram Vaswani 写的 Vi 101 ,可以作为 Vi 编辑器的入门介绍,而 Krissy J 的 Vi short command reference(Vi 简单命令参考),则最好能够打印出来。

注意:

  • Mandrake Linux 中如果安装了 'vim-enhanced' 包,而且当前根目录没有挂载其他分区,'vi' 命令可能无法工作。
    可用 vim-minimal 作为替代,或运行

    # update-alternatives --config vi

    取回原来的命令名。

mount

虽然新版 Mandrake Linux 的急救系统能够自动挂载 Linux 分区,但您有时需要手动对分区或外部介质进行挂载、卸载,比如,当您还在用旧版本,或机器无法从光驱启动,或者您需要对文件系统进行检查,或访问外部介质。

关于挂载,其他文章 已经讨论了,这里是一些基本的操作。

要挂载一个介质,您需要知道该设备的文件名。如果是硬盘上的分区,很容易就可以查出:

fdisk -l /dev/device

device 表示硬盘设备的文件名,在大多数情况下,可能是 'hda' ,第一个 IDE channel 上的 首块 IDE 硬盘:

fdisk -l /dev/hda

这将列出硬盘上包括设备名的所有分区。第二块硬盘(第一个 IDE channel 上的从盘,'slave')是 'hdb' ,第二个 channel 上的首块硬盘是 'hdc',依此类推。请注意,如果您的硬盘连接了 UDMA-100 控制器(on-board or card),首块硬盘就是 'hde' 。
有关设备名详情,请访问顶部给出的链接。

要挂载一个介质,输入

mount /dev/device mount_directory

mount_directory 可以是当前介质中某个存在的目录,当然最好是空的。卸载的话,只要用

umount mount_directory

fsck

'fsck' 是一个用来检查并修复文件系统的工具。您可以这样开始对文件系统的检查:

fsck -t file_system device_file

file_system 需用要检查的分区上的文件系统代替。和 'mount' 相比,'fsck' 自己无法识别文件系统的类型。
除了使用 '-t file_system' 可选项,您还可以调用 'fsck.xfs' 和 'reiserfsck' ,事实上,这样可以减小混淆可选项 'fsck' 和 'fsck.fs' 的可能,因此是更好的办法。
所以,要检查第一块 IDE 硬盘中第二主分区,类型是 'ext2',就可用:

fsck.ext2 /dev/hdb

注意:

  • 'fsck' 只能对挂载的文件系统进行操作;
  • 'fsck.ext2' 对 'ext3' 文件系统也有效;
  • 默认下,'fsck.ext2' 不会对整齐(cleanly)的未挂载文件系统进行检查,但可以用 '-f' 可选项强制执行;
  • 'fsck.ext2' 的 man page 在 man e2fsck
  • 'fsck.xfs' 没什么用,要修复 XFS 的话,得使用 'xfs_repair';
  • 急救时,无法访问这些工具的 man page 。

根据默认设置,文件系统检查将交互地(interactively)运行,也就是当检查到错误时,就会询问是否要进行修复。如果您觉得这样不方便,那可以用可选项 '-a' 取消所有检查中的询问(但 'fsck.ext2' 更倾向于用 '-p' )

其他

您还得熟悉这些命令:'mv' 、'cp' 、'rm' 、'ls' 、'cd' 、'grep' 及 'less' 。这并不意味着必须完全掌握他们的 man pages ,但您起码要知道这些命令有什么用,以及如何处理。某一天,您一定会用得着这些,相信我 ;-) 。

* section index * top

* Mandrake Linux 的急救系统

从 7.1 起,Mandrake Linux 的第一张光盘中内容列表就自带了急救系统。万一无法从光盘启动,也可以用软盘来引导系统(images 在第一张光盘的 '/images' 目录)
要启动急救系统的话,按 <F1> 键,然后在屏幕底部的提示符后输入 rescue ,再敲 <ENTER> 键。这样急救系统就将从光盘启动,内容被导入系统内存(至少需要 32 MB RAM)

在 Mandrake Linux 8.2 及以后的版本中,将有一个文本式菜单,列出了在急救系统中最常用的任务:

  1. Re-install Boot Loader (重装引导程序)
    如果您最近安装了其他操作系统,而原来 Mandrake Linux 的引导程序又被覆盖了,这个选项就很有用。原来的启动工具恢复后,您就可以继续从引导菜单中选择要进入的系统;
  2. Restore Windows Boot Loader (恢复 Windows 启动)
    安装引导程序时,Mandrake Linux 为以前的启动代码作了备份。这项操作将原来的备份复制回启动扇区,也就取消了 Mandrake Linux 的引导程序。
  3. Mount your partitions under /mnt (将分区挂载到 /mnt 下)
    如果您想通过控制台(console)访问硬盘上的 Linux 分区,就选择该项。急救系统知道哪个分区挂载到什么目录。
  4. Go to console (前往控制台)
    将启动控制台,而不挂载任何分区。如果急救系统无法确定您的分区布局,或您安装了多个 Linux 时,这项就很有用。
  5. Reboot (重启)
  6. Doc (文档)
    阅读一些有关急救系统的好建议。

启动时,急救系统会自动挂载硬盘上可用的 Linux 分区,然后就可以通过 '/mnt' 目录访问。
急救只需系统的内存,因此启动后,就可取出光盘(这样就能够再挂载其他光盘)

通过应用急救系统中包含的软件,您可以

  • 对文件、目录(symlinks)进行删除、移动、复制、归档/解归档(archive/unarchive)、压缩/解压缩(compress/decompress)、创建操作,并可对文件建立符号链接(symlinks)
  • 显示、编辑和新建文本文件(包括十六进制的文件)
  • 检查并修复 Mandrake Linux 的每个文件系统;
  • 新建、删除或修复分区、分区表(partition tables)、启动扇区(boot sectors),甚至改变分区大小(只针对 ext2 )
  • 挂载任何类型的介质;
  • 建立一个网络连接(Ethernet network connection),通过 telnet 或 ftp 进入另一个机器;
  • 安装 RPM 包;
  • 载入(load)或卸载(unload)内核的模块;
  • 而且,您可以自己来选择键盘布局及控制台下的字体。

可以想象,如果您知道如何运用这些工具,就很难找到无法克服的系统问题。但有一条,除了只能显示命令语法大概的 '--help' 可选项,急救系统不含有任何其他文档。
如果您还没有用心学会这些程序的可选项,那可以准备一本简短的命令参考,比如 Hekman 的 《Linux in a Nutshell》或 Petron 写的 《Essential Reference》。万一资金短缺,您也可以自己打印一些重要命令的 man page ,也可以到 在线 man page 仓库 上去搜索。

注意:

  • USB-only 键盘无法工作。如果您的 USB 键盘还有第二个 PS/2 插头,那就派上用场;
  • 没有鼠标支持;
  • 如果您安装有多个 Linux ,使用 'mount' 命令使急救系统挂载合适的分区;
  • 在整个急救过程中,您都是 root ,所以,请谨慎从事。

* section index * top

* 其他急救系统


Legal: All texts on this site are covered by the GNU Free Documentation License.
Standard disclaimers of warranty apply.