1. 程式人生 > >GRUB引導進單使用者模式的三種方式

GRUB引導進單使用者模式的三種方式

作為一個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)選單,

  grub 進入啟動畫面之後 按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成可讀寫,你就可以自由編輯出現錯誤的系統檔案了。