作为一个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成可读写,你就可以自由编辑出现错误的系统文件了。(出处:http://www.sheup.com)