重裝xp後,mbr被xp寫入資訊導緻grub無法工作解決方法
從CD-ROM啟動,從Live CD啟動進入桌面。
打開終端或者切換到一個tty(Ctrl+Alt+F1)。
輸入:sudo grub
輸入:find /boot/grub/stage1 ##有人說這一步不用,不過個人感覺還是應該加上這一步
輸入:root (hd0,x) ##輸入find指令回報的資料
輸入:setup (hd0) ##如果想用xp進行多系統引導就寫(hd0,x)
輸入:quit ##退出grub。
重新啟動,不出意外的話,那麼恭喜,呵呵,可以看到XP和UBUNTU的雙系統引導咯^_^
---------------------------------------------------------------------------
重裝windows XP 後怎樣找回Ubuntu
首先下載下傳GRUB for Dos
并安裝下載下傳Ext3分區通路軟體(有Ext2Fsd 或explore2fs)
運作後将ubuntu根目錄下的Boot檔案夾裡全部複制到C槽.
重新開機後在開機菜單裡選擇GRUB就可進入ubuntu.
要點:ubuntu linux 需要GRUB for Dos來引導,是以C:/BOOT.INI裡,會有這一行:
C:/GRLDR="GRUB"ext3
分區下的boot檔案夾裡面放了可以引導的檔案,需将其放在c盤根目錄.
-------------------------------------------------------------------------------------------------------
1.用livecd(強烈推薦)
2.用安裝cd
3.使用grub4dos
4.使用grub軟盤
1,使用livecd(強烈推薦)
使用任何你喜歡的linux livecd(比如,ubuntu 6.06的desktop cd)
在終端下輸入:
代碼:
sudo su
grub
代碼:grub>
接着輸入:
代碼:
root (hdx,y)
setup (hdx)
請不要完全照樣輸入!請弄懂這些指令的含義。
hd表示硬碟,格式是
(hd硬碟号,分區号)
從零開始計算。
是以(按照日常的習慣,從1開始數),
(hd0,0)表示第一個硬碟的第一個分區,
(hd0,1)表示第一個硬碟的第2個分區,
(hd1,4)表示第2個硬碟的第5個分區。
(注意,linux系統裡是用hda1表示第一個硬碟的第一個分區,不要把它和grub中的表示混起來。)
root (hdx,y)這裡的(hdx,y) 是/boot 目錄所在的分區
(通常情況下,也就是你裝ubuntu系統的分區,除非你安裝的時候把/boot分出去了。)
如果你不知道你把ubuntu裝在第幾個分區,可以在輸入root (hd0, 時按Tab鍵來補全。
(假設你把ubuntu裝在第一塊硬碟上)按了tab後,你将看到一些有關各個分區的資訊。
通常你可以通過分區的大小和格式看出你把ubuntu系統裝在哪裡了。
setup (hdx) 通常情況下,是setup (hd0)。(多半你把ubuntu裝在第一塊硬碟上。)
要注意的是,不要輸入setup (hd0,0)。我曾經犯過這個錯誤。
(如果你沒把指令抄下來,憑記憶操作的話,可能會犯這種錯誤。)
最後,用
代碼:
quit
退出grub,重啟系統。
好了,總結一下用到的指令
(建議你把下面的代碼抄在紙上。如果你對(hdx,y)表示的含義還感覺模糊,最好把上面幾段解釋也抄下來。)
代碼:
sudo su
grub
root (hdx,y)
setup(hdx)
quit
很簡單吧?關鍵隻要了解grub中硬碟分區的表示法就行了。
2,使用ubuntu安裝cd恢複
ubuntu desktop-cd可能用不起來。你可能需要7.10的alternative cd。
1. 用 Ubuntu 安裝 CD 開機
2. 在 "boot:" 提示号出現時, 鍵入 "rescue" 當作開機參數
boot: rescue
3. 順着螢幕上的訓示跟着作
4,例如 假設 /boot 磁碟分區位在 /dev/hda
代碼:
#grub-install /dev/hda
下面是另外一種方法。firehare 寫道:
1. 啟動系統到 Ubuntu 安裝CD
2. 沿着螢幕上的指令直到 (千萬不要超過這一步)
[!!] Fdisk disks
3. 按 'Ctrl + Alt + F2'
4. 按 'Enter' 進入終端
5.
~ # mkdir /ubuntu
~ # fdisk -l /dev/discs/disc0/disc
~ # mount <你的Ubuntu根裝置所在位置> /ubuntu/
~ # chroot /ubuntu/sh-2.05b#
6. 假設 /dev/hda1 是 /boot 分區的位址
7. sh-2.05b# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
1. 用 Ubuntu 安裝 CD 開機
2. 在 "boot:" 提示号出現時, 鍵入 "rescue" 當作開機參數
boot: rescue
3. 順着螢幕上的訓示跟着作
4,例如 假設 /boot 磁碟分區位在 /dev/hda
代碼:
#grub-install /dev/hda
3,使用 grub for dos
在沒有ubuntu安裝盤或livecd的情況下,你可以使用grub4dos重新安裝grub。
你甚至可以用grub4dos代替grub來引導系統。
3.1使用grub4dos重新安裝grub
下載http://www.ubuntu.org.cn/download/installformharddisk/grldr
oneleaf 寫道:将 grldr 複制到 C:/,編輯C:/BOOT.INI,加入一行:
C:/GRLDR="GRUB"
再手工輸入啟動指令
例如:root (hd0,0)
kernel /vmlinuz-2.6.10-5-686 root=/dev/hdb5 ro quiet splash
initrd /initrd.img-2.6.10-5-686
savedefault
boot
進入後,重新安裝grub就好了。
重新安裝grub:
例如 假設 /boot 磁碟分區位在 /dev/hda
代碼:
# grub-install /dev/hda
3.2用grub4dos代替grub來引導系統
yonsan 寫道:
(憑記憶寫的,如有不完善請指正)
如果你的系統現在正在使用grub引導方式,請在操作之前檢視一下/boot/grub/menu.lst的内容,
建議将/boot/grub/menu.lst拷貝一份以備用(将它拷到fat32分區中存放就可以)!進入window環境下
1) 下載下傳grub020p.zip并解壓到C槽根目錄下,打開C槽檢視一下是否有以下檔案
C:/boot (檔案夾)
C:/ChangeLog.txt
C:/compile
C:/COPYING
C:/grldr
C:/grub4lin
C:/grub-0.95-patch1-startups
C:/grub-0.95-patch2-findroot
C:/grub-0.95-patch3-ntfs
C:/grub-0.95-patch4-emulation
C:/grub-0.95-patch5-splash
C:/grub-0.95-patch6-scdrom
C:/grub-0.95-patch7-bioscdrom
C:/grub.exe
C:/grub.pif
C:/README.txt
C:/robin.xpm.gz
C:/scratchpad.txt
2) 修改C:/boot/grub/menu.lst ,用你剛才從linux系統中拷貝的menu.lst覆寫C:/boot/grub/menu.lst
3) 進入grub指令行方式 (出現grub引導菜單時按c鍵)
> root (hd0,0)
> setup (hd0)
4) 重新開機計算機
4.使用grub軟盤很簡單,隻要用grub軟盤啟動機器就行了。
如何制作grub軟盤?
如果你沒做過grub軟盤,想在用安裝cd恢複的時候順便做一個,那就試試下面這個:
youngong 寫道:
用安裝CD啟動電腦,輸入rescue回車
啟動後執行"grub- install /dev/hda3"重新安裝grub到ubuntu分區上
再用"grub-install /dev/fd0"制作一張啟動軟碟
(如果你打算将grub安裝在MBR上可就更簡單了,隻需要grub-install /dev/hda)。
再用剛才制作的軟碟重新開機電腦,就可以進入ubuntu linux了。
為了還原我原來的NT Loader啟動linux的方式,再提取hda3分區的引導記錄
即“dd if=/dev/hda3 of=/linux.lnx bs=512 count=1",
并将生成的linux.lnx檔案複制到C區根目錄下,
修改boot.ini加入“c:/linux.lnx=Ubuntu linux 5.04",
就可以在硬碟引導時選擇啟動ubuntu了。
其實整個過程中制作引導軟碟隻起了個過渡作用,但同時也友善以後維護系統。
zhan 寫道:
今天重裝了windows系統,将原來的xp裝為2003
裝完後用ubuntu的安裝盤grub-install /dev/hda 将linux恢複了
但是啟動時隻有一個winxp的選項,進入時說不能識别檔案系統,不能啟動
然後出現一個GRUB 就停住了,不過linux系統是還可以用.
各位大俠有沒有什麼好辦法,我不想再重裝了!!
啟動win時的顯示見下:
Booting 'microsoft windows xp professional'
root (hd0,0)
Filesystem type unkown ,partition type 0x7
savedefault
makeactive
chainloader+1
GRUB
到這裡就不動了,按鍵基本都沒用,不過,ctrl+alt+delete能重新開機
yonsan 寫道:
用以下方式引導windows
代碼:
# Windows
title Windows
rootnoverify (hd0,0)
chainloader +1
-------------------------------------------------------------------------------------------------------
重裝Windows後 無法進入ubuntu 的修複方法
如果你的電腦是Win和Ubuntu雙系統的,可能會遇到這樣的問題。
就是重裝Win之後将無法進入Ubuntu了。一般情況下遇到這樣的問題,我們有兩種方法解決!
最簡單的方法:
1.利用另外的一個LiveCD盤進入後把所有的盤都挂載。
2.拷貝原Ubuntu下的/boot/grub到Win的C槽。
3.修改Win的C槽裡的boot.ini檔案。它可能隐藏和隻讀 需要自己改下屬性!
4.在這個檔案最後加入一句C:/grldr=ubuntu
5.重新開機選擇Ubuntu。
第二種方法:
注意此種方法隻能在重裝WIN之前到Ubuntu下操作!!!
首先确定你的grub正常,并能啟動linux
然後啟動到Ubuntu如果你的是IDE硬碟
請運作:
sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
如果你硬碟的被識别為sda ,請運作
sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1
然後你可以到/media找到linux.lnx這個檔案
将它拷貝到你的win根目錄,一般是C:/然後重新開機Win,修改根目錄下的boot.ini 檔案。
在這個檔案最後增加:
C:/linux.lnx=”linux
OK,重新開機,選擇Ubuntu吧。
注意:你需要将這個檔案備份,可以備份到網絡硬碟或者U盤内。
這樣你重裝Win之後,隻需要将這個檔案拷貝到Win的根目錄,修改boot.ini 就可以了!
總結:相比較而言,第一種方法更簡單一點,但是我覺得第二種方法更一勞永逸。
當然,你可以選擇利用重裝grub來恢複對Ubuntu的引導。但是我不覺得那對于新手會簡單!
感謝提供這兩種方法的sun391和enjoyforfun
------------------以上内容轉自某個網頁------------------------------------
補充: 用GhostXP的安裝盤安裝Windows 可能不存在這個問題(至少本人用深度白金珍藏版5.7.1是這樣的)
-------------------------------------------------------------------------------------------------------
當我們的脆弱的Windows定期癱瘓,無法修複隻能重新安裝的尴尬時刻,我們發現“霸道”的Windows 在安裝時絲毫沒有顧及在硬碟的MBR上還存在作業系統的引導程式(grub),直接删除,隻寫入Windows的引導資訊。
不管微軟這樣是不是有意而為,這都看出Windows的陋習和微軟的強盜行徑。我們怎麼辦,放棄Windows?但是我們還要我們心愛的遊戲,反正Windows已經是我硬碟上的一個因為遊戲還存在的附屬系統,我們忍了。
發揚Linux人的DIY精神,我們自己動手找回丢失的Linux引導程式。
1,使用Ubuntu live關盤引導進入 Ubuntu live 模式
2,在Ubuntu中運作終端,執行下列指令:
$sudo grub
其實,grub不僅隻在我們引導時候出現在我們眼前,我們平時也可以直接運作grub指令進入模拟grub引導程式。
3,之後,我們在grub 指令行模式下接着執行
root (hdx,y)
注意:其中x為硬碟号,數字 “ 0 ”指我們機器上的第一塊硬碟,grub的排列順序是從 “ 0 ”開始的。同理,如果你的系統在第二個硬碟上則是1,依次類推。另外,其中的“ y ”表示前面所指硬碟的 /boot 所在分區号,如果實在不知道,後面資訊怎麼填,你可以在輸入逗号後按Tab鍵,這樣可列出硬碟的分區資訊。
4,安裝 grub ,執行指令:
setup (hdx)
setup (hdx)就是把GRUB寫到"x"硬碟的MBR上。如果成功會有一個successful......
5,安成安裝後,退出 grub 。
quit
6,重新開機機器,重新開機Linux。
$sudo reboot
備注:其實,當我們安裝完畢grub之後,還需要檢查 grub 的配置檔案資訊是否正确,方法是在 Ubuntu live 模式下利用 mount 指令加載原來ubuntu 的分區,在原 /boot 目錄下的 grub/menu1.st 檔案中的資訊。�