重裝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吧。 注意:你需要將這個檔案備份,可以備份到網路硬碟或者隨身碟內。 這樣你重裝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 檔案中的資訊 |