<< Back to man.ChinaUnix.net

Enghish Version

MandrakeUser.Org - Your Mandrake-Linux Knowledge Base!

* DocIndex - Basics

系统恢复 第二篇

* 启动 'failsafe'
* 单用户模式
* root Shell
* 其他介质上的 Linux 系统

相关资源:

LIGS, 4.11Mdk-Ref 13
man linuxconf
man mount
man init
The LWN.net Linux Distribution List

Revision / Modified: Jan. 28, 2002
Author: Tom Berger
Translator: Wu XiaoGuang

* 启动 'failsafe'

在所有 Mandrake Linux 系统中,'failsafe' 都是一个标准启动选项。

一般情况下,系统在启动过程中直接对 runlevel(运行级别)进行切换('3' 针对控制台,'5' 是 X )。而 'failsafe' 启动则先进入 1 (单用户模式),然后切换到运行级别 3 (控制台),如果 5 是默认运行级别,则进入级别 5 。
如果安装了管理工具 'Linuxconf' ,在控制台模式到达运行级别 1 后,这个工具就会启动。会给出运行级别的菜单,或可能通过 'Linuxconf' 来进行系统维护工作。

* section index * top

* 单用户模式 (Single User Mode)

Linux 还内置了两个急救系统,其中之一就是 'single user mode' ,即运行级别 1 ,这里的单用户就是指 'root' ,而且只运行有最少的进程。

进入这个运行级别有几种途径:

  • 从正在运行的系统中以 'root' 身份切入: init 1 。请注意,这条命令将关闭机器中的绝大多数程序,同时这也是模拟重启的好办法;
  • 在启动程序的提示符后输入:linux singlelinux init 1 。当用 'failsafe' 启动,但是系统无法进入运行级别 3 时,就会掉到级别 1 。
    这个级别不需要登录。

* section index * top

* root Shell

单用户模式仍然要依靠运行 'init' ,但如果遇到 'init' 坏掉或遗失,怎么办?启动系统时用这个可选项:

linux init=/bin/sh

内核被载入系统内存后,就会马上进入 shell 。

在 Mandrake Linux 8.1 系统中,您还可以添加可选项,以关闭 devfsd ,以防碰到硬件方面的问题:

linux init=/bin/sh devfs=nomount

在这个 shell 的最初状态中,您没有

  • 一个区域性的键盘映射及字符,默认下使用 ASCII 字符和美国键盘映射;
  • 含有 '/sbin' 的 PATH ,因此,所有该目录下的命令都要给出完整路径,如输入 /sbin/fdisk -l /dev/hda ,而不是 fdisk -l /dev/hda
  • 除 '/' 以外的挂载分区;
  • 可写挂载,也就是说 '/' 只以可读方式挂载;
  • init ,这显而易见 ;-) 。没有 'init' ,没有 'shutdown' 、'halt' 。在 root shell 对话过程中,您得自己对所有挂载的介质进行必要的 sync 及卸载。

您首先要做的是将 '/' 分区设成可写:

mount -o remount,rw /dev/device

运行 mount 以找出 device 的名称。另一个您要挂载的是虚拟的 'proc' 文件系统,这个系统提供了系统信息:

mount /proc /proc -t proc

从这里起,您就可以开始修复工作了。主要目的还是使 init 再次运行,这样您才能进一步在单用户模式下进行修复。

离开 shell 以前,flush 所有缓存(buffer)

sync

还要进行卸载:

umount -a

并将 '/' 重新挂载成只读:

mount -o remount,ro /

同时按下 <ALT> <CTRL> <DEL> 离开 shell ,并重启机器。

注意:

  • 'mount' 命令的标志(flag)有问题,无法回显变化,比如当只读重新挂载成可写后,不要理会这个。

* section index * top

* 其他介质上的 Linux 系统

有许多 Linux 套件运行在可移动介质(软盘、光盘、ZIP)或 Windows 分区。基于光盘的套件通常提供了一个高级的图形界面。

您可以在 LWN.net Linux Distribution List 中找到很多这类套件。

当使用第三方的急救套件时,需注意下面几项:

  • 确认能否工作。如果下载了光盘映象文件,要运行

    md5sum name.iso

    并将结果数字和原服务器上的作比较。
    软盘映象在传输中不大会出现 CRC 错误,但更可能存在介质上损坏。将映象放到软盘上后,运行

    cmp /dev/fd0 name.img

    以核实软盘上的映象与下载的是否一致。
    然后用急救系统启动,看看能否工作。

  • 确认套件当前是否有人维护。Linux 的发展很快,如果由于急救系统的文件系统驱动过于陈旧,使得无法挂载硬盘上的分区,那可就惨了。

  • 看一下其中包含的软件。如果分区格式不很常用,如 XFS 、JFS ,套件可能不含有一些必须的工具。可将 Mandrake Linux 急救系统中的软件目录作参照。

下面的两篇将列出这方面较常见的症状,并介绍相应的处理办法。

* section index * top

* 紧急症状 I


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