科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux下GRUB引导单用户模式三种方式

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

作为一个Linux系统管理员,你可能会把Linux 超级用户密码遗忘了,把/etc/inittab或/etc/rc.d/rc.sysinit之类文件误编辑,导致系统不能正常启动的恼人错误?

作者:yuanfang 来源:赛迪网技术社区 2007年10月17日

关键字: 操作系统 引导 Grub Linux

  • 评论
  • 分享微博
  • 分享邮件
 

作为一个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成可读写,你就可以自由编辑出现错误的系统文件了。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章