grub

多重引導程序grub的命令行shell工具

補充說明

grub命令 是多重引導程序grub的命令行shell工具。

語法

1grub(選項)

選項

 1--batch:打開批處理模式;
 2--boot-drive=<驅動器>:指定stage2的引導驅動器;
 3--config-file<配置文件>:指定stage2的配置文件;
 4--device-map=<文件>:指定設備的映射文件;
 5--help:顯示幫助信息;
 6--install-partition=<分區>:指定stage2安裝分區;
 7--no-config-file:不使用配置文件;
 8--no-pager:不使用內部分頁器;
 9--preset-menu:使用預設菜單;
10--probe-second-floppy:檢測第二個軟盤驅動器;
11--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目錄所在的分區;

依次輸入命令:

1root (hd0,1)   /* 假設 /dev/hda2 是你的 /boot 所在的分區 */
2kernel /boot/vmlinuz-2.6.15-26-386 ro dev=/dev/hda3    /* 假設 /dev/hda3 是你的 / 所在的分區 */
3initrd /boot/initrd.img-2.6.15-26-386
4boot

即可啓動系統。

這裏的關鍵問題是如何確定系統的幾個分區:/boot / /sbin

參考資料

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: