作為一個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成可讀寫,你就可以自由編輯出現錯誤的系統檔案了。