grub shell 错误_各种情况GRUB损坏进不了系统的解决方案
1.在磁盤分區(qū)表變動(dòng)之后,比如刪除了grub.cfg所在分區(qū)的前一個(gè)分區(qū),導(dǎo)致分區(qū)號(hào)前移一位時(shí),開機(jī)顯示 grub rescue> 。
處理方法:(假設(shè)原來grub.cfg在/dev/sda4,而現(xiàn)在變成了/dev/sda3)
ls
(查看分區(qū))
ls (hd0,7)/boot/
(查看該分區(qū)是不是能被識(shí)別的linux分區(qū),grub是否被裝在該分區(qū))
set
(顯示環(huán)境變量)
prefix=(hd0,3)/boot/grub
root=hd0,3
insmod /boot/grub/linux.mod
(進(jìn)入grub命令行)
normal
(即可使用原來的grub啟動(dòng)菜單)
2.在grub.cfg損壞的情況下
linux /boot/vmlinuz(按TAB補(bǔ)完)root=/dev/sda3 (不要忘了!)
(grub1是kernel指令)
initrd /boot/initrd.img(按TAB補(bǔ)完)
boot
(啟動(dòng)原有系統(tǒng))
3.從優(yōu)盤/光盤啟動(dòng)ubuntu修復(fù)原有系統(tǒng)(Ubuntu 8.04):
ubuntu 8.10開始支持優(yōu)盤啟動(dòng),并且基本做到兼容所有硬件。
# grub-install /dev/sda --root-directory=/media/sda3
找個(gè)干凈的環(huán)境,避免把優(yōu)盤上的系統(tǒng)也寫進(jìn)啟動(dòng)項(xiàng)
a)for grub
# update-grub
b)for grub2
# grub-mkconfig -o /boot/grub/grub.cfg
# update-grub2
(ubuntu 8.04的grub2沒有g(shù)rub-mkconfig,只能用這個(gè),這個(gè)沒有辦法自動(dòng)加入Windows啟動(dòng)項(xiàng))
可能需要修改 /boot/grub/device.map
#----------------------------------------------------------------------
(hd0)/dev/sda
(hd1)/dev/sdb
(hd2)/dev/sdc
#----------------------------------------------------------------------
安裝grub2:
# sudo apt-get install grub2
# grub-install --version #顯示為1.97
4.從優(yōu)盤/光盤啟動(dòng)ubuntu修復(fù)原有系統(tǒng)(Ubuntu 10.04):
ubuntu 10.04開始方法又改變了,優(yōu)盤啟動(dòng)的環(huán)境下"/"上掛載的是squashfs,然后grub-mkconfig和update-grub2都會(huì)提示"cannot find a device for /"失敗。
不過grub-install已經(jīng)成功了,所以如果重啟用rescue模式進(jìn)入系統(tǒng)再grub-mkconfig也可以。
ubuntu 10.04安裝盤開始默認(rèn)不給選擇語言、安裝還是試用的界面了,如果要用這個(gè)界面,啟動(dòng)時(shí)按Enter。
更方便的方法是使用:(假設(shè)Ubuntu裝在/dev/sda1)
#----------------------------------------------------------------------
# mount ? ? ? ? ? /dev/sda1 /mnt
# mount -t proc ? proc ? ? ?/mnt/proc #可省略
# mount -t sysfs ?sys ? ? ? /mnt/sys ?#可省略
# mount -o bind ? /dev ? ? ?/mnt/dev
# chroot /mnt /bin/bash
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
#
# cd /
# umount -a
# exit
# cd /
# umount -a
# reboot
#----------------------------------------------------------------------
5.配置grub2的參數(shù)
grub2不建議修改/boot/grub/grub.cfg,而是由配置文件和配置腳本在每次改動(dòng)內(nèi)核時(shí)自動(dòng)生成,配置文件如下:
#----------------------------------------------------------------------
/etc/default/grub #控制變量定義
/etc/grub.d/* #生成grub.cfg使用到的scripts
#----------------------------------------------------------------------
以上全部使用 bash 的語法。
在grub2啟動(dòng)界面上按e來臨時(shí)修改啟動(dòng)項(xiàng),編輯后Ctrl+x啟動(dòng)
按c來進(jìn)入grub shell,指令vbeinfo能夠看到所有支持的VESA模式
6.調(diào)整GRUB界面的分辨率
grub通過啟動(dòng)內(nèi)核參數(shù)vga=792(1024x768x32),vga=795(1280x1024x32)等來啟動(dòng)framebuffer,修改控制字符界面的分辨率。
grub2廢棄了vga選項(xiàng),但是用vga還是可以用的。
在/etc/default/grub 中加入以下變量定義,就能設(shè)置所有l(wèi)inux啟動(dòng)項(xiàng)的字符界面分辨率為720x400x32(至少是寬屏的,能在寬屏筆記本上看上去少難看一點(diǎn)):
#----------------------------------------------------------------------
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="quiet splash gfxpayload=keep"
GRUB_GFXMODE=720x400x32
GRUB_GFXPAYLOAD_LINUX="$GRUB_GFXMODE"
#----------------------------------------------------------------------
(grub2 1.98的grub.d才會(huì)根據(jù)GRUB_GFXMODE決定是否寫入設(shè)置gfxpayload的項(xiàng),grub2 1.96就不會(huì)理會(huì))
(Ubuntu 10.04 apt-get默認(rèn)得到grub2 1.98)
(Ubuntu 8.04 apt-get默認(rèn)得到grub2 1.96)
總結(jié)
以上是生活随笔為你收集整理的grub shell 错误_各种情况GRUB损坏进不了系统的解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java字节流分为_Java文件流可分为
- 下一篇: linux 磁盘簇,linux系统exe