QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1143|回复: 1

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

[复制链接]
发表于 2007-4-20 14:19:06 | 显示全部楼层 |阅读模式
俗话说:天有不测风云,人有旦夕祸福。
  作为一个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成可读写,你就可以自由编辑出现错误的系统文件了。

--

※ 来源:·安徽工业大学 BBS 采石矶站 http://bbs.ahut.edu.cn·[FROM: 211.70.144.*]
发表于 2007-4-20 16:41:55 | 显示全部楼层
Suse不行,即使进入了单用户还是提示要输入密码,RedHat总是可以。楼主可以再发挥一下,如果grub被加了引导密码,而那个也忘了是否还有更经典的方法?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 03:03 , Processed in 0.038324 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表