作為一個Linux系統管理員,你可能會把Linux 超級用戶密碼遺忘了,把/etc/inittab或/etc/rc.d/rc.sysinit之類文件誤編輯,導致系統不能正常啟動的惱人錯誤?而為了解決以上問題,你就需要進到linux根文件系統處於可讀寫狀態的單用戶模式下。
下面介紹在GRUB引導下進入Linux單用戶模式的三種方式:
硬件環境:
intel P4 / 1G RAM / sata 80G
軟件環境:
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‘三個不同的鍵,進入三種不同的操作:
一、快速法
選擇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#
二、簡便法
選擇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#
三、手動法
按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成可讀寫,你就可以自由編輯出現錯誤的系統文件了。