下面就來介紹此GRUB命令列要輸入什麼才能讓系統正常開機:
- ls
- set root=(hd0,msdos2)
- linux /vmlinuz.xxx root=/dev/sda3
- initrd /initramfs.xxx.img
- boot
先假設現在只有裝一個硬碟/dev/sda,上面用MBR方式分割了四個磁區分別是sda1, sda2, sda3, sda4。這邊要假設 sda2掛載原系統的/boot、sda3掛載原系統的/
- 列出所有的硬碟與磁區。第一個硬碟會是hd0;第一個磁區會是msdos1
- 這邊指令裡面的root代表的其實是boot,所以要設定root=(hd0,msdos2)第一個硬碟的磁區。設定好以後grub才知道要去哪邊讀取系統核心與驅動程式模組
- 載入系統核心vmlinuz。xxxx代表的是編號,去找到能夠正常開機那個。後面接root就是根目錄所在的磁區,在這個例子裏面是/dev/sda
- 載入開機會用到的檔案系統initramfs.xxx.img。xxxx是編號,此initramfs通常裡面還會包含一些沒有放在系統核心的驅動程式模組
- 根據上述的vmlinuz與initramfs開始開機
這邊文章參考了Marko Tomic的《Load kernel and boot your system with GRUB2》
_EOF_
沒有留言:
張貼留言