導讀 | GRUB是多啟動規范的實現,它允許用戶可以在計算機內同時擁有多個操作系統,並在計算機啟動時選擇希望運行的操作系統。GRUB可用於選擇操作系統分區上的不同內核,也可用於向這些內核傳遞啟動參數。 |
我的電腦只有一個硬盤sda,所以系統肯定被裝在了sda,在grub里會被識別為hd0。
用dd命令覆蓋了sda硬盤的前400個字節,破壞了bootloader,這里只破壞前446個字節就行。
這里千萬不要重啟電腦,這里演示的是不重啟修復grub。
使用sync把剛剛的操作同步到磁盤,輸入grub進入grub的界面。
root (hd0,0)是指的內核所在的分區,hd0是第一硬盤,后面的0是第一分區
setup(hd0)安裝grub到hd0硬盤
此時模擬損壞的grub已經修復完成,可以重啟。
我們先查看一下grub.conf文件,並且將grub.conf改名為grub.conf.bak,這樣模擬grub.conf文件已經損壞。
哈哈,重啟之后果然進不了系統了,給我們一個grup>提示符。
輸入root (hd0, 在這里按tab鍵,出現下面的分區,我們只需要type為83的分區,所以我們輸入root (hd0,0)
輸入kernel / 按tab后發現有很多文件夾,我們知道內核放在boot文件夾下,所以輸入kernel /boot/vm 此處按tab自動補全就行,root=/dev/sda1的意思是指定根分區設備文件的位置,然后回車確認。
輸入initrd / 按tab后發現有很多文件夾,我們知道臨時鏡像放在boot文件夾下,所以輸如initrd /boot/initra 此處按tab自動補全就行,然后回車確認
此時輸入boot按照我們設定的內核文件和臨時鏡像文件啟動系統,如:grub>boot
哈哈,系統啟動后成功進入系統,把grub.conf還原就行啦。
免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:https://www.linuxprobe.com/