歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 9.10與XP雙系統,修復Ubuntu 9.10引導

Ubuntu 9.10與XP雙系統,修復Ubuntu 9.10引導

日期:2017/2/28 16:44:55   编辑:Linux教程

Ubuntu 9.10於XP雙系統,前兩天XP中招了,重裝XP後Grub引導丟失,按常規方法從Live-CD無法修復,試了好多方法,最後終於搞定了,共享給大家。

一) 分區結構
Ubuntu 9.10裝在ext4的分區上,SYS為NTFS分區,裝的XP,APP是NTFS分區,BAK為fat32分區。

二) 引導修復
下載最新Grub4Dos 我下的是 grub4dos-0.4.4.zip

打開壓縮文件,把裡面的grldr、grldr.mbr、menu.lst這3個文件解壓到Windows系統所在分區根目錄,例如我的分區,就把這3個文件解壓到C盤根目錄下。

打開C:\menu.lst文件(最好用UltraEdit-32之類的打開,若用文本文件打開,肯能有好多方塊),添加如下內容:
title Ubuntu 9.10
root (hd0,6)
kernel /boot/vmlinuz-2.6.30-8-generic root=UUID=28d5eac5-c42c-49ef-8537-0b280ff87de1 ro quiet splash rootfstype=ext4 acpi=off noapic nolacip
initrd /boot/initrd.img-2.6.30-8-generic
boot

注意:
1、root後跟的盤符信息視具體情況定。linux中的(hd0,0)到(hd0,3)是留給主分區的,以我的分區為例,C盤(SYS)是整個硬盤的主分區,所以他的編號就是(hd0,0),沒有其他主分區了,所以D盤(APP)作為擴展分區的第一個分區,編號是(hd0,4),E盤(BAK)的編號為(hd0,5),接下來的是Ubuntu的Ext4分區,他的編號為(hd0,6)。這些編號與上邊圖片中的對應關系也很簡單,因為/dev下給他們起名字的時候是從1開始的,所以直接給前面編號方法的盤符編號加1即可,如(hd0,6)對飲的是/dev/sda7 (後面用到這些)。

2、kernel和initrd
/boot/vmlinuz-2.6.30-8-generic
/boot/initrd.img-2.6.30-8-generic
這兩個文件是從LiveCD啟動進去看的,用liveCD硬盤啟動,只要用虛擬光驅加在Ubuntu的ISO文件,然後執行裡面的wubi點最上面的按鈕,選擇幫我從CD啟動即可。

3、UUID
剛才已經啟動到LiveCD中了,如果是安裝界面,點退出就可以進入演示系統了,除了確定上面兩個文件的路徑和名稱,還需要搞一個東西,就是UUID。
sudo ls -al /dev/disk/by-uuid
按前面的方法你應該已經知道你的Ubuntu裝在那個分區了,在演示系統中打開你C盤下的那個menu.lst文件,根據你自己的情況修改vmlinuz和initrd.img文件路徑和名稱,並修改uuid,如果是ext4分區的話,需要加上rootfstype=ext4參數。因為我的筆記本的APIC似乎有點問題所以加上了 acpi=off noapic nolacip參數,大多數人應該不會有這個問題,也就不用加這3個參數了。
好了,現在重新啟動,在操作系統列表中選擇grub再選擇Ubuntu 9.10,不出意外的話你應該可以進入你的ubuntu了。進去後,如果想修復由grub引導的話,作如下操作:
sudo upgrade-from-grub-legacy
這個我沒試過,因為我覺得Windows的Boot.ini的引導挺好的,如果開發機器用Ubuntu的話用起來還是比較痛苦的,再說其他人都用Windows做開發,你一個用Ubuntu,白裡透紅與眾不同,這可能會引發一些問題。

如果有意外的話。。。。。
自己研究吧!~~~

Copyright © Linux教程網 All Rights Reserved