grub不能正常啟動修復

2021-08-29 20:07:47 字數 3850 閱讀 8246

1.裝完xp,vista,win7後grub無法啟動,有live cd:

這種問題是最經常遇到的,要解決問題,你需要一張ubuntu live cd。

用live cd引導系統,直接按ctrl+alt+f1進入終端,輸入sudo grub進入grub命令列,輸入:

root (hdx,y)

x為硬碟號,通常為0(第乙個硬碟),y為ubuntu分割槽號,如果你不知道是哪個,請在輸入逗號時,按一下tab,grub會自己列出一堆分割槽,找有ext3/ext4/reiserfs/xfs/jfs的一行,輸入行頭的數字即可。

接著輸入

setup (hdx)

x為硬碟號。然後輸入quit退出,sudo halt關機,問題解決,如果出現錯誤,請看第三條。

2.裝完xp,vista,win7後grub無法啟動,無live cd:

(alert:這種方法**ubuntucn論壇,我自己沒有試過,應該可以。)

個人感覺這個方法治標不治本,不太好用,但貌似只有這種方法不用live cd。

vista/win7和wubi安裝的朋友們看這裡(from ubuntucn):

用bcdedit新增新專案(以管理員身份執行cmd)

此時生成乙個

bcdedit /set device partition=c:

bcdedit /set path \grldr.mbr

bcdedit /displayorder /addlast

wubi安裝的繼續,vista/win7略過:

從wubi安裝ubuntu 的分割槽中(比如d:\),則將d:\ubuntu\winboot\menu.lst這個檔案複製到c盤根目錄下。(無意中發現了這個檔案)

重啟系統,進入grub,ok了!

xp/vista/win7:

啟動進了grub後,按c鍵開啟grub cmd,輸入:

root (hdx,y)

x為硬碟號,通常為0(第乙個硬碟),y為ubuntu分割槽號,如果你不知道是哪個,請在輸入逗號時,按一下tab,grub會自己列出一堆分割槽,找有ext3/ext4/reiserfs/xfs/jfs的一行,輸入行頭的數字即可。

接著輸入

setup (hdx)

x為硬碟號,然後重啟即可!

3.裝完xp,vista,win7後grub無法啟動,或無故不能啟動,有live cd,方案1失敗:

比較棘手,前提是你的硬碟系統不能是ext4(除非你有9.04 live cd),否則看第4條。

注:此條適用於grub2,但會fallback到grub0.97去,又要執行upgrade-from-grub-legacy,所以我個人認為第4條效果更好。

用live cd啟動,同1,進入終端,先掛載linux分割槽(x為安裝盤):

sudo mount /dev/sdax /mnt

然後執行:

sudo grub-install /dev/sda –root-directory=/mnt

ok!如果不行或你的分割槽是ext4或你裝的是grub2,請看——

4.(最極端的情況,有一次我就碰上了,搜了一晚的google,終於找到了)分割槽是ext4,或裝grub2:

先mount分割槽,x為安裝分割槽(ext4掛在intrepid比較麻煩):

sudo apt-get install e2fsprogs

sudo tune2fs -e test_fs /dev/sdax

sudo mount -t ext4dev /dev/sdax /mnt

然後依次掛載proc,sys,dev(個人認為比較bt)

sudo mount -t proc proc /mnt/proc

sudo mount -t sysfs sys /mnt/sys

sudo mount -o bind /dev /mnt/dev

然後切換terminal:

sudo chroot /mnt /bin/bash

然後執行grub-install即可!

grub-install /dev/sda –root-directory=/

5. (有時候某些人就是rp不好:d)終極殺手鐗,不能算辦法的辦法:

補充:6.(關於ext4)公升級2.6.28核心後,/是ext4dev無法啟動

from ubuntu -cn

ext4在2.6.28中正式啟用,fstab的ext4dev也可以改為ext4了,但直接啟動會提示ext4-fs not marks…..之類的錯誤。

這樣就需要更改gurb或grub4dos的配置檔案,新增rootfstype=ext4。

如:kernel /boot/vmlinuz-2.6.28 root=uuid=***xx rootfstype=ext4 ro splash

這樣就行可以解決了。

7.grub menu.lst範例(勿照搬,適用於ubuntu 8.04.2):

title ubuntu 8.04.2, kernel 2.6.24-23-generic

root (hd0,0)

kernel /boot/vmlinuz-2.6.24-23-generic root=uuid=d6747029-70cf-4f34-be5f-6da3a3b70716 ro splash locale=zh_cn vga=792

initrd /boot/initrd.img-2.6.24-23-generic

quiet

title ubuntu 8.04.2, kernel 2.6.24-23-generic (recovery mode)

root (hd0,0)

kernel /boot/vmlinuz-2.6.24-23-generic root=uuid=d6747029-70cf-4f34-be5f-6da3a3b70716 ro single vga=792

initrd /boot/initrd.img-2.6.24-23-generic

重點修改root後的分割槽標誌與uuid,詳情參見上文。

uuid掃盲:uuid是linux標記磁碟的id,貌似每個磁碟都不一樣。如果你不知道你磁碟的uuid,可以把上述kernel這一行改為:

kernel /boot/vmlinuz-2.6.24-23-generic root=/dev/sdax ro single vga=792

x為你ubuntu所在的分割槽。

8.grub重灌時出現error 22:

mbr分割槽表錯誤,開啟終端,輸入:

sudo fdisk /dev/sda

按w並回車,重寫mbr

然後按照前面的修復步驟進行,不再報錯,成功修復grub!

寫道/2009/02/grub%e4%b8%8d%e8%83%bd%e6%ad%a3%e5%b8%b8%e5%90%af%e5%8a%a8%e4%bf%ae%e5%a4%8d%e7%b3%bb%e5%88%97%ef%bc%88%e4%b8%80%ef%bc%89%e2%80%94%e2%80%94%e6%9c%89ubuntu-live-cd.html

/2009/02/grub%e4%b8%8d%e8%83%bd%e6%ad%a3%e5%b8%b8%e5%90%af%e5%8a%a8%e4%bf%ae%e5%a4%8d%e7%b3%bb%e5%88%97%ef%bc%88%e4%ba%8c%ef%bc%89%e2%80%94%e2%80%94%e6%97%a0ubuntu-live-cd.html

/2009/02/grub%e4%b8%8d%e8%83%bd%e6%ad%a3%e5%b8%b8%e5%90%af%e5%8a%a8%e4%bf%ae%e5%a4%8d%e7%b3%bb%e5%88%97%ef%bc%88%e4%b8%89%ef%bc%89%e2%80%94%e2%80%94%e6%97%a0%e6%95%85%e4%b8%8d%e8%83%bd%e5%90%af%e5%8a%a8.html

關於BIEE不能正常啟動

網路連線不上 1.lsnrctl不能正常啟動 1.那些需要修改 etc hosts 和 etc sysconfig network 修改當前ip位址的hostname 並且保持和etc sysconfig network一致 需要重啟重新整理hostname 當然也可以用命令 2.修改oracle ...

Ubuntu雙系統Grub啟動選單修復

一 ubuntu grub2使用livecd修復grub 推薦 sudo i fdisk l 這是檢視分割槽情況的命令,我的linux在sda6分割槽。mount dev sda6 mnt 這是掛載命令把sda6掛載到 mnt分割槽,在這之前有乙個空格的。然後是安裝grub,grub install...

grub快速修復

前幾天重灌了一下ubuntu12.04,結果裝完之後,grub出現了問題。之前裝系統時也出現過這種情況,當時找了半天的資料才把grub搞定。唉!後悔了,當時沒有把文件留下 電腦上裝多個系統的難免會出現進不了系統的問題,多數是grub的問題。不多說了,進入主題吧 使用livecd光碟啟動電腦後進入光碟...