多重引導程序grub的命令行shell工具
grub命令 是多重引導程序grub的命令行shell工具。
grub(選項)
--batch:打開批處理模式;
--boot-drive=<驅動器>:指定stage2的引導驅動器;
--config-file<配置文件>:指定stage2的配置文件;
--device-map=<文件>:指定設備的映射文件;
--help:顯示幫助信息;
--install-partition=<分區>:指定stage2安裝分區;
--no-config-file:不使用配置文件;
--no-pager:不使用內部分頁器;
--preset-menu:使用預設菜單;
--probe-second-floppy:檢測第二個軟盤驅動器;
--read-only:只讀模式。
利用grub命令來啟動損壞的Linux系統,可能你的電腦因為某些原因損壞不能自動啟動了。當然原因很多,可能的現象也很多。
這里說一下這種情況下的處理方法,即:屏幕上提示grub>
,但你的硬盤上數據沒有丟失,各分區都是好的。這種情況是你的grub信息損壞了,但比較嚴重的是系統啟動不了。
當然,在正常啟動情況下,屏幕上出現grub的啟動項選擇菜單時按c
鍵也是可以進入grub>
狀態的。這時候我們需要用grub的命令來手工啟動系統。
只需要用到四個命令boot、kernel、initrd、boot。
但grub本身命令很多,比如查看文件內容的cat ,你輸入help會得到。
首先,輸入“ root (hd ” ,然后按兩次 TAB 鍵; /* 這會列出你電腦上可能的磁盤設備,硬盤為 hd0/hd1 或 sd0/sd1 等 */
然后,選擇你的安裝 Linux 系統的硬盤,比如 hd0 ,輸入 “ root (hd0, ” 再按兩次 TAB 鍵; /* 這會列出你的第一塊硬盤上的分區情況,你會知道哪個是 swap 交換分區, 0x82 ,哪個是 Linux 分區 0x83 */
選擇你認為可能的 /boot 目錄所在的分區, 輸入root (hd0, 1)
回車;
接著,輸入cat /boot/vm
, 按兩次 TAB 鍵,如果出現一些 vm 開頭的文件,比如 vmlinuz-2.6.15-26-386 說明這里是 /boot 所在的分區。
刪除上一次的輸入,再輸入cat /boot/initrd
,按兩次 TAB 鍵,如果出現一些 initrd 開頭的文件,比如 initrd.img-2.6.15-26-386 說明這個 /boot 所在的分區有 initrd ,即 ramdisk 鏡像;
刪除上一次的輸入,再輸入cat /sbin/init
,按兩次 TAB 鍵,如果出現一些 init 開頭的文件,比如/sbin/init
說明這個分區是/
所在的分區;
如果沒有出現/sbin/init
文件,說明(hd0,1)
分區僅僅是/boot
分區而不是/
分區。重新輸入root (hd0,N)
命令,這里 N 是某個 Linux 分區,然后再試cat /sbin/init
, 直到屏幕上出現/sbin/init
,說明你找到了/
分區,嚴格來說,應該是/sbin
目錄所在的分區;
依次輸入命令:
root (hd0,1) /* 假設 /dev/hda2 是你的 /boot 所在的分區 */
kernel /boot/vmlinuz-2.6.15-26-386 ro dev=/dev/hda3 /* 假設 /dev/hda3 是你的 / 所在的分區 */
initrd /boot/initrd.img-2.6.15-26-386
boot
即可啟動系統。
這里的關鍵問題是如何確定系統的幾個分區:/boot
/
/sbin