1。linux 急救模式:

很多人都不知道Linux有一个救援模式。

现在我来讲解进入rescue (示例系统为RHEL 3)

1。用安装光盘或者硬盘安装的方式进入安装界面,在shell 中输入 Linux rescue

2。然后根据提示选择语言和键盘格式

3。选择是否配置网卡一般系统到了要rescue了,网络也就不需要了,所以可以选择否跳过网卡配置,当然你如果需要也可以选择是,具体设置过程和安装时一样。

4。选择是否然让系统查找硬盘上的RHEL 系统,选择继续。

5。硬盘上的系统已经被找到并挂载在/mnt/sysimage 下

6。按提示chroot /mnt/sysimage

chroot 之后你就可以已经在你的要被拯救的系统下了。

grub挂了的,grub-install /dev/hdxx

配置文件改错的,vi /etc/fstab vi /etc/inittab ..................

软件包被毁的 rpm -F xxx.rpm

完成修复工作后,exit命令退出chroot,exit退出rescue shell 系统重启。

备注:

如果你硬盘上的系统是非rhel系统如debian的,那么在第4步时,rescue 程序会找步不到硬盘上的系统,所以我们这是选择"跳过",直接进入shell。假设现在硬盘上的有一个debian 系统 /dev/hda1 为/boot 分区 /dev/hda5 为 / 分区 /dev/hda6 为swap。那么我们现在这么做。

# fdisk -l (查看分区情况)

# mkdir /mnt/Linux

# mkdir /mnt/Linux/boot (根据fdisk -l 得到的信息创建目录)

# mount -t ext3 /dev/hda5 /mnt/Linux

# mount -t ext3 /dev/hda1 /mnt/Linux/boot (挂载硬盘上的文件系统)

# chroot /mnt/Linux (chroot 改变工作系统)

自此我们顺利进入硬盘上的debian系统,剩下来到就和先前一样了,有冤的报冤有仇的×××。

另:

如果你的系统是文件系统损坏那么就不用挂载,chroot 系统了。

直接 fsck /dev/hdxx 即可。

其实我们仔细想想这个rescue会发现,所谓rescue 模式只是一个带shell 的Linux 运行环境而已,然后通过mount 和 chroot进入要修复的系统的。

所以在没有rescue 盘的情况下我可以利用 Linux livecd 或 软盘版的Linux 进入shell 环境然后重做

# fdisk -l (查看分区情况)

# mkdir /mnt/Linux

# mkdir /mnt/Linux/boot (根据fdisk -l 得到的信息创建目录)

# mount -t ext3 /dev/hda5 /mnt/Linux

# mount -t ext3 /dev/hda1 /mnt/Linux/boot (挂载硬盘上的文件系统)

# chroot /mnt/Linux (chroot 改变工作系统)

就可以简单的进入一个rescue 环境了

2 single模式

记录一下:

一.   lilo引导     
1.   在出现   lilo:   提示时键入   linux   single     
画面显示   lilo:   linux   single     
2.   回车可直接进入linux命令行 
二.   grub     
1.   在出现grub画面时,用上下键选中启动linux的项,按e键     
2.   再次用上下键选中你平时启动linux的那一项(类似于kernel   /boot/vmlinuz-2.4.18-14   ro   root=LABEL=/),然后按e键     
3.   修改你现在见到的命令行,在其后加入“空格single”,结果如下:     
kernel   /boot/vmlinuz-2.4.18-14   ro   root=LABEL=/ single   
4.   回车返回,然后按b键启动,即可直接进入linux命令行

Linux下GRUB引导单用户模式三种方式

作为一个Linux系统管理员,你可能会把Linux 超级用户密码遗忘了,把/etc/inittab

或/etc/rc.d/rc.sysinit之类文件误编辑,导致系统不能正常启动的恼人错误?

而为了解决以上问题,你就需要进到linux根文件系统处于可读写状态的单用户模式下。

下面介绍在GRUB引导下进入Linux单用户模式的三种方式:

(1) 硬件环境:

intel P4 / 1G RAM / sata 80G

(2) 软件环境:

1)Fedora Core 3(以下简称为FC3)和Windows2000 advance server双系统。

2)LVM管理Linux分区。

3)/boot/grub/grub.conf文件内容:

# grub.conf generated by anaconda 
# Note that you do not have to rerun grub after making changes to this file 
# NOTICE: You have a /boot partition. This means that 
# all kernel and initrd paths are relative to /boot/, eg. 
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 
# initrd /initrd-version.img 
#boot=/dev/sda

default=1 
timeout=1000 
splashimage=(hd0,2)/grub/splash.xpm.gz 
hiddenmenu 
title Fedora Core (2.6.9-1.667)
root (hd0,2)
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet 
initrd /initrd-2.6.9-1.667.img title 
windows 2000 adv rootnoverify (hd0,0)
chainloader +1

首先,启动电脑,屏幕出现如下提示:
Press any key to enter the menu Booting windows 2000 adv in 999 seconds…

按任一键跳过计时,进入下一步:
GNU GRUB version 0.95 (639K lower/103924K upper memory)
Fedora Core (2.6.9-1.667)
Windows 2000 adv

下面是GRUB的提示:

‘e’ 在booting前编辑启动命令行。 
‘a’ 在booting前编辑kernel的参数。 
‘c’进入grub命令行。

由此按‘e’、a‘、’c‘三个不同的键,进入三种不同的操作:

1.快速法:
选择Fedora Core (2.6.9-1.667)菜单,按a键:
grub append>ro root=/dev/VolGroup00/LogVol00 rhgb quiet
修改成:
grub append>ro root=/dev/VolGroup00/LogVol00 single quiet

按ENTER键完成修改并booting进入Linux单用户模式:
sh-3.00#

2.简便法:

选择Fedora Core (2.6.9-1.667)菜单,按e键:
root (hd0,2)

kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet 
initrd /initrd-2.6.9-1.667.img
选择kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet

命令行

按e键: 
grub edit>kernel /vmlinuz-2.6.9-1.667 ro 
root=/dev/VolGroup00/LogVol00 rhgb quiet

修改成: 
grub edit>kernel /vmlinuz-2.6.9-1.667 ro 
root=/dev/VolGroup00/LogVol00 single quiet

按ENTER键完成修改。按b键booting进入Linux单用户模式: 
sh-3.00#

3.手动法:

按c键进入grub命令行:(在grub命令行下按TAB键可得到grub命令帮助与grub命令的可能选

项) 
grub>fstest (grub>filesystem tracing is now on grub>root (hd0,2)

(指定保存有Linux 内核的分区为第一个硬盘的第三个分区) 
grub>filesystem type is ext2fs,partition 
type 0x83 
grub>kernel /vmlinuz-2.6.9-1.667 
ro root=/dev/VolGroup00/LogVol00 single quiet

(指定内核文件为/boot/vmlinuz-2.6.9-1.667,内核参数为ro—readonly, 根分区

为/dev/VolGroup00/LogVol00,rhgb—图形方式启动,quiet—不输出启动信息) 
grub>initrd /initrd-2.6.9-1.667.img

(在内核启动前加载支持系统硬件设备的内核模块——initrd镜像文件——/boot/initrd-

2.6.9-1.667.img,并初始化RAM disk) 
grub>boot

如果系统的配置与脚本文件正确,以上三种方式在Booting command-list中都会出现: 
remounting root filesystem in read-write mode:[OK]
表示此时linux单用户模式下的根文件系统处于可读可写状态。如果系统的配置与脚本文件出

现错误,linux单用户模式下的根文件系统进入“read-only file system”既只读状态,此

时,打入: 
sh-3.00#mount –o remount rw –t ext3 /

让根文件系统重新mount成可读写,你就可以自由编辑出现错误的系统文件了。

改/etc/fstab, /etc/rc.d/rc.sysinit等系统启动文件时误操作
就会造成linux无法进入,有rescue盘可以容易修复,这个方法适合于
没有rescue盘时修复系统。

grub菜单中选择linux,按e,e,进入编辑模式, 
kernel (hd0,0)/vmlinuz root=/dev/hda2.....这一行最后加上 
init=/bin/bash,修改好后按enter,b引导
修改后的引导信息类似如下:
kernel (hd0,0)/vmlinuz root=/dev/hda2  init=/bin/bash 
这样引导系统可以得到一个bash shell 
进入的系统会是read-only的,首先先使用fsck检查系统 
fsck -a /dev/hdaX 处理根分区 X是根分区号 比如hda2 
fsck -R -A -a 处理其他分区 
如果系统在上次重启,是正常重启的,文件系统是正常卸载的, 
可以不用fsck检查直接把系统挂载成read-write的 
mount /proc
mount / -o remount,rw 
swapon -a 打开所有的交换分区 
source /etc/profile 加载用户环境 
在修复好系统后将系统重新挂载成ro的,就可以安全重启了。 
mount / -o remount,ro