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