作為一個(gè)Linux系統(tǒng)管理員,你可能會(huì)把Linux 超級(jí)用戶(hù)密碼遺忘了,把/etc/inittab或/etc/rc.d/rc.sysinit之類(lèi)文件誤編輯,導(dǎo)致系統(tǒng)不能正常啟動(dòng)的惱人錯(cuò)誤?
而為了解決以上問(wèn)題,你就需要進(jìn)到linux根文件系統(tǒng)處于可讀寫(xiě)狀態(tài)的單用戶(hù)模式下。
下面介紹在GRUB引導(dǎo)下進(jìn)入Linux單用戶(hù)模式的三種方式:
(1) 硬件環(huán)境:
intel P4 / 1G RAM / sata 80G
(2) 軟件環(huán)境:
1)Fedora Core 3(以下簡(jiǎn)稱(chēng)為FC3)和Windows2000 advance server雙系統(tǒng)。
2)LVM管理Linux分區(qū)。
3)/boot/grub/grub.conf文件內(nèi)容:
# 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
首先,啟動(dòng)電腦,屏幕出現(xiàn)如下提示:
Press any key to enter the menu Booting windows 2000 adv in 999 seconds…
按任一鍵跳過(guò)計(jì)時(shí),進(jìn)入下一步:
GNU GRUB version 0.95 (639K lower/103924K upper memory)
Fedora Core (2.6.9-1.667)
Windows 2000 adv
下面是GRUB的提示:
‘e’ 在booting前編輯啟動(dòng)命令行。
‘a(chǎn)’ 在booting前編輯kernel的參數(shù)。
‘c’進(jìn)入grub命令行。
由此按‘e’、a‘、’c‘三個(gè)不同的鍵,進(jìn)入三種不同的操作:
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進(jìn)入Linux單用戶(hù)模式:
sh-3.00#
2.簡(jiǎn)便法:
選擇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進(jìn)入Linux單用戶(hù)模式:
sh-3.00#
3.手動(dòng)法:
按c鍵進(jìn)入grub命令行:(在grub命令行下按TAB鍵可得到grub命令幫助與grub命令的可能選項(xiàng))
grub>fstest (grub>filesystem tracing is now on grub>root (hd0,2)
(指定保存有Linux 內(nèi)核的分區(qū)為第一個(gè)硬盤(pán)的第三個(gè)分區(qū))
grub>filesystem type is ext2fs,partition
type 0x83 grub>kernel /vmlinuz-2.6.9-1.667
ro root=/dev/VolGroup00/LogVol00 single quiet
(指定內(nèi)核文件為/boot/vmlinuz-2.6.9-1.667,內(nèi)核參數(shù)為ro—readonly, 根分區(qū)為/dev/VolGroup00/LogVol00,rhgb—圖形方式啟動(dòng),quiet—不輸出啟動(dòng)信息)
grub>initrd /initrd-2.6.9-1.667.img
(在內(nèi)核啟動(dòng)前加載支持系統(tǒng)硬件設(shè)備的內(nèi)核模塊——initrd鏡像文件——/boot/initrd-2.6.9-1.667.img,并初始化RAM disk)
grub>boot
如果系統(tǒng)的配置與腳本文件正確,以上三種方式在Booting command-list中都會(huì)出現(xiàn):
remounting root filesystem in read-write mode:[OK]
表示此時(shí)linux單用戶(hù)模式下的根文件系統(tǒng)處于可讀可寫(xiě)狀態(tài)。如果系統(tǒng)的配置與腳本文件出現(xiàn)錯(cuò)誤,linux單用戶(hù)模式下的根文件系統(tǒng)進(jìn)入“read-only file system”既只讀狀態(tài),此時(shí),打入:
sh-3.00#mount –o remount rw –t ext3 /
讓根文件系統(tǒng)重新mount成可讀寫(xiě),你就可以自由編輯出現(xiàn)錯(cuò)誤的系統(tǒng)文件了。


