作为一个Linux系统管理员,你可能会把Linux 超级用户密码遗忘了,把/etc/inittab或/etc/rc.d/rc.sysinit之类文件误编辑,导致系统不能正常启动的恼人错误? UeMLinux联盟
而为了解决以上问题,你就需要进到linux根文件系统处于可读写状态的单用户模式下。 UeMLinux联盟
下面介绍在GRUB引导下进入Linux单用户模式的三种方式: UeMLinux联盟
1.硬件环境: UeMLinux联盟
intel P4 / 1G RAM / sata 80G UeMLinux联盟
2.软件环境: UeMLinux联盟
(1)Fedora Core 3(以下简称为FC3)和Windows2000 advance server双系统 UeMLinux联盟
(2)LVM管理Linux分区 UeMLinux联盟
(3)/boot/grub/grub.conf文件内容: UeMLinux联盟
# 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 |
首先,启动电脑,屏幕出现如下提示: UeMLinux联盟
Press any key to enter the menu Booting windows 2000 adv in 999 seconds… UeMLinux联盟
按任一键跳过计时,进入下一步: UeMLinux联盟
GNU GRUB version 0.95 (639K lower/103924K upper memory) Fedora Core (2.6.9-1.667) Windows 2000 adv UeMLinux联盟
下面是GRUB的提示: UeMLinux联盟
‘e’ 在booting前编辑启动命令行 UeMLinux联盟
‘a’ 在booting前编辑kernel的参数 UeMLinux联盟
‘c’进入grub命令行 UeMLinux联盟
由此按‘e’、a’、‘c’三个不同的键,进入三种不同的操作: UeMLinux联盟
1.快速法: UeMLinux联盟
选择Fedora Core (2.6.9-1.667)菜单 UeMLinux联盟
按a键: UeMLinux联盟
grub append>ro root=/dev/VolGroup00/LogVol00 rhgb quiet UeMLinux联盟
修改成: UeMLinux联盟
grub append>ro root=/dev/VolGroup00/LogVol00 single quiet UeMLinux联盟
按ENTER键完成修改并booting进入Linux单用户模式 UeMLinux联盟
sh-3.00# UeMLinux联盟
2.简便法: UeMLinux联盟
选择Fedora Core (2.6.9-1.667)菜单 UeMLinux联盟
按e键: UeMLinux联盟
root (hd0,2) UeMLinux联盟
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet UeMLinux联盟
initrd /initrd-2.6.9-1.667.img 选择kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet命令行 UeMLinux联盟
按e键: UeMLinux联盟
grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet UeMLinux联盟
修改成: UeMLinux联盟
grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 single quiet UeMLinux联盟
按ENTER键完成修改 UeMLinux联盟
按b键booting进入Linux单用户模式 UeMLinux联盟
sh-3.00# UeMLinux联盟
3.手动法: UeMLinux联盟
按c键进入grub命令行: UeMLinux联盟
(在grub命令行下按TAB键可得到grub命令帮助与grub命令的可能选项) UeMLinux联盟
grub>fstest (grub>filesystem tracing is now on) UeMLinux联盟
grub>root (hd0,2) UeMLinux联盟
(指定保存有Linux 内核的分区为第一个硬盘的第三个分区) UeMLinux联盟
grub>filesystem type is ext2fs,partition type 0×83 UeMLinux联盟
grub>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 single quiet UeMLinux联盟
(指定内核文件为/boot/vmlinuz-2.6.9-1.667,内核参数为ro—readonly, 根分区为/dev/VolGroup00/LogVol00,rhgb—图形方式启动,quiet—不输出启动信息) UeMLinux联盟
grub>initrd /initrd-2.6.9-1.667.img UeMLinux联盟
(在内核启动前加载支持系统硬件设备的内核模块—initrd镜像文件–/boot/initrd-2.6.9-1.667.img,并初始化RAM disk) UeMLinux联盟
grub>boot UeMLinux联盟
如果系统的配置与脚本文件正确,以上三种方式在Booting command-list中都会出现: UeMLinux联盟
remounting root filesystem in read-write mode:[OK] UeMLinux联盟
表示此时linux单用户模式下的根文件系统处于可读可写状态。 UeMLinux联盟
如果系统的配置与脚本文件出现错误,linux单用户模式下的根文件系统进入“read-only file system”既只读状态,此时,打入: UeMLinux联盟
sh-3.00#mount –o remount rw –t ext3 / UeMLinux联盟
让根文件系统重新mount成可读写,你就可以自由编辑出现错误的系统文件了。 UeMLinux联盟