GRUB2 基本console檔案操作

在GRUB2上有很多的開機問題都是因為路徑有問題,還是找不到需要的檔案,當然也是有可能是因為裝置描述有問題所造成的。但是大部分的問題其實都可以在GRUB2的console mode模式底下來修復。

而在terminal底下,你必須要有基本的能力來搜尋相關的硬碟和partitions,還有存取相關的檔案,並且為了要成功開機,或者是修復已經有問題的系統,至少也要有相關的能力將變數『root』,『prefix』,『linux』和『initrd』給設定正確,只要這四個參數有一個不對的話,那你的系統就會啟動失敗。

上個章節介紹過GRUB2下對於裝置的命名規則,和檔案的存取方式,底下會在列出幾個Ubuntu官方網站的例子,以加強印象。

(在底下的所有例子中,『X』就是硬碟代號,『Y』則是partition number,記得要根據你自己的狀況帶入相關的值)。

命令 用途
ls 搜尋整個PC的裝置和partitions。
ls / 搜尋root裝置的root資料夾,如果你有正確設定你的『root』的話。
ls (hdX,Y) 檢查partition的資訊,像是格式,大小,UUID等等。
ls (hdX,Y)/ 檢查這個partition的root內容。
ls (hdX,Y)/boot/ 列出資料夾『/boot』裡面的檔案內容,正常來講裡面應該有kernel和initrd的images。
ls (hdX,Y)/boot/grub/ 列出資料夾『/boot/grub』裡面的內容。

底下列出幾個重要檔案的預設路徑:

檔案名稱 預設路徑
grub.cfg (hdX,Y)/boot/grub/ 或是 /boot/grub/
vmlinuz (hdX,Y)/ 或是 /
linux-3.2.0-14* (hdX,Y)/boot/ 或是 /boot/
initrd (hdX,Y)/ 或是 /
initrd.img-3.20-14 (hdX,Y)/ 或是 /boot/

像上面說過得,有四個設定一定要正確才能開機,底下列出相關的例子:

任務 命令
設定prefix set prefix=(hdX,Y)/boot/grub 設定grub的路徑。
設定root set root=(hdX,Y)
設定kernel linux /vmlinuz root=/dev/sda1 ro 如果在『/』有kernel image的捷徑在的話。
設定kernel linux (hdX,Y)/boot/vmlinuz-3.0.2-14 root=/dev/sda1 ro 用絕對路徑設定kernel。
設定initrd image initrd /initrd.img 如果在『/』有initrd image的捷徑在的話。
設定initrd image initrd (hdX,Y)/boot/initrd.img-3.0.2-14 用絕對路徑設定initrd。

results matching ""

    No results matching ""