适用场景
救援(rescue)模式的本质
解决方法
-
有Linux启动盘(或iso文件),系统是RHEL系统的:
-
用安装光盘或者硬盘安装的方式进入安装界面:在shell 中输入 Linux rescue
-
然后根据提示选择语言和键盘格式
-
选择是否配置网卡:一般系统到了要rescue了,网络也就不需要了,所以可以选择跳过网卡配置,当然你如果需要也可以选择是,具体设置过程和安装时一样
-
选择是否让系统查找硬盘上的RHEL系统,选择继续。
-
硬盘上的系统已经被找到并挂载在/mnt/sysimage 下
-
按提示chroot /mnt/sysimage,之后你就可以已经在你的要被拯救的系统下了
-
grub挂了的:grub-install /dev/hdxx
-
配置文件改错的:vi /etc/fstab vi /etc/inittab
-
软件包被毁的:rpm -F xxx.rpm
-
-
完成修复工作后,exit命令退出chroot,exit退出rescue shell 系统重启
-
-
有Linux启动盘(或iso文件),系统是非RHEL系统(如Debian)的:
-
前3步与上述方法1一致
-
第4步时,rescue程序会找不到硬盘上的系统,所以我们选择"跳过",直接进入shell
-
新建文件系统挂载点,进入系统磁盘分区
-
1234567891011
假设要拯救的为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 改变工作系统)
-
-
继续方法1的第6-7步,做相应操作即可
-
-
无Linux启动盘(或iso文件):
-
系统启动时,按任意键进入grub选择界面
-
选择需要启动的Linux系统,按“e”进入编辑界面
-
选择kernel行,按“e”进入核心启动模式编辑界面
-
在kernel行的最后加上“init=/bin/bash”,按回车键(Enter),然后按“b”进行重新引导
-
引导系统会得到一个bash shell,但进入的系统是read-only的,需使用fsck检查系统
-
12
fsck
-
a
/
dev
/
hdaX
# 处理根分区,X是根分区号,如hda2
-
-
将系统挂载成read-write的:mount / -o remount,rw
-
进行系统文件修改,或其他操作
-
在修复好系统后将系统重新挂载成ro的,就可以安全重启了:mount / -o remount,ro
-
-
进入单用户模式(适用于忘记root密码的):
-
前3步与方法3一致
-
第4步,需在kernel行的最后加上“single”或“s”,按回车键(Enter),然后按“b”进行重新引导
-
输入passwd修改root密码
- 输入init 6重新启动系统即可
-
附赠
进入单用户模式:
1. grub
进入启动画面之后,敲入“e”,把光标移动到kernel ...那一行,再敲入“e”,在kernel 一行的最后加上空格single,回车
敲入“b”,启动系统,即进入单用户模式,
这个时候就可以用passwd命令改密码了。
passwd root
改完以后reboot重启。
2. lilo
进入lilo命令行模式,敲入linux single,即进入单用户模式。
passwd ...
如果grub/lilo设了密码,一定要记住才行。要是忘了grub/lilo的密码,就只有用rescue模式了。
参考链接
http://xxrenzhe.blog.51cto.com/4036116/1272838
http://os.51cto.com/art/201001/175882.htm