本人使用的是華碩Z9100L筆記本,三星40G硬盤,256M內存,安裝了win2000和ubuntu5.1雙系統,在用sysv-rc-conf對ubuntu系統啟動選項進行配置時,不知怎麼把原先win2k系統的c盤引導搞壞了,最後連MBR上的grub也被改得一塌糊塗,所以只好想辦法搶救...
先安裝win2k再安裝Ubuntu5.1,一切正常!但不滿意ubuntu緩慢的啟動和啟動時加載的一些無聊無用又耗資源的服務,於是參照網上Ubuntu啟動優化的文章進行配置。由於有些服務不清楚其用途,只好慢慢參照網文嘗試:下載了sysv-rc-conf,sudo運行更改配置,關閉一些不必要的服務,正當高興之際,卻發現原先自動加載的windows分區c盤不見了,好像關閉過lvm和evms(企業卷管理服務,應該可以不用吧?);重啟進win2k分區看看,My God,完蛋了,進不去了!
哦,應該是mbr的分區信息被破壞吧,想辦法修修,win2k不想重裝。於是跑到新立得軟件包管理其中找到testdisk工具(此時ubuntu正常,grub正常,只是windows進不去),貌似不錯;sudo一下,恩,分區信息能認出來,但提示mbr有錯誤,采用testdisk的advanced選項進去,然後backup BS一下,在Dump,發現mbr的0x55aa標志都沒了,內容也被改了,只好rebuild一下,重啟...焦急等待一分多鐘之後,發現還是不行,沒辦法,繼續用testdisk重寫一下MBR,結果...555,grub都沒了,加上win2k無法啟動,整個機子就無法啟動。
沒辦法,准備先修復windows2000啟動再看看能否修復ubuntu和grub,采用win98啟動光盤啟動,》fdisk /mbr一下,哈哈,MBR總歸還能修復的,不過還是無法啟動,只是在DOS下能認出原先windows的三個盤。沒辦法,》sys c: 一下,呵呵,結果硬盤能啟動了,不過是“熟悉”的win98界面,然後進入dos;沒辦法,找來win2k安裝盤,修復安裝一下,哈,三四十分鐘後,久違的win2k終於啟動起來了,一切正常,還好,哈哈。 現在開始修復Grub和Ubuntu啟動,網上搜到關於Grub修復的文章,哈,還真管用,不過不能完全照搬而已,下面詳細記錄一下grub的一些常用命令和常識:
(一)、分區映射關系:
1、(fd0)-->代表軟盤,一般不用:)
2、(hd0)-->第一個硬盤,即linux下的/dev/hda ;
3、(hd0,3)-->/dev/hda4 (hd0,x)->x為分區號減一,即(hd0,0)代表/dev/hda1,(hd0,1)代表/dev/hda2 ...
(二)、手工啟動Ubuntu
由於硬盤已無法啟動需要借助光盤,幸好手頭有Ubuntu的 LiveCD,這次派上用場了,哈哈(沒有的也可以找有grub啟動的光盤或Linux安裝盤進行Linux rescue啟動進去)。
在啟動grub時安e進入grub>命令行界面,然後看看原先的grub配置文件:
grub>cat (hd0,3)/boot/grub/menu.lst #看一下原先的配置文件,我的linux安裝在/dev/hda4分區上,所以是(hd0,3)。
我的menu.lst配置部分如下:
#配置文件內容my menu.lst main content--------- (some default options and description here) ##
## End Default Options ##
title Ubuntu, kernel 2.6.12-10-686
root (hd0,3)
kernel /boot/vmlinuz-2.6.12-10-686 root=/dev/hda4 ro quiet splash
initrd /boot/initrd.img-2.6.12-10-686
savedefault
boot
title Ubuntu, kernel 2.6.12-10-686 (recovery mode)
root (hd0,3)
kernel /boot/vmlinuz-2.6.12-10-686 root=/dev/hda4 ro single initrd /boot/initrd.img-2.6.12-10-686
boot
title Ubuntu, memtest86+
root (hd0,3)
kernel /boot/memtest86+.bin
boot
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian # ones. title Other operating systems: root # This entry automatically added by the Debian installer for a non-linux OS # on /dev/hda1
title Windows NT/2000/XP (loader)
root (hd0,0)
savedefault
makeactive
chainloader +1
#配置文件結束end of my menu.lst----------------------------- 好了,我們要啟動的是第一項,正常ubuntu啟動,記住這幾行命令:
root (hd0,3)
kernel /boot/vmlinuz-2.6.12-10-686 root=/dev/hda4 [ro quiet splash] #([]中選項可省略)
initrd /boot/initrd.img-2.6.12-10-686
savedefault #可不用這句
boot 依次輸入各行命令,每行運行後會有一點反饋信息才表示正確,這樣順利的話,應該能夠順利進入Ubuntu系統了,放心了,系統都在了,哈哈!!
下面把grub裝回到MBR區:
(三)、恢復安裝被破壞的grub
知道了之後似乎很簡單,用有grub的啟動盤啟動,或者用liveCD進入linux系統,或者就手工進入硬盤的linux的系統,然後運行#grub,進入grub>提示符界面,然後運行:
grub>root (hd0,3) #指定linux分區所在位置,我的這裡是/dev/hda4即(hd0,3)
grub>setup (hd0) #將grub裝到/dev/hda的MBR區。
grub>quit #大功告成,退出grub界面
#reboot一下,OK,一切恢復正常,終於完全搞定,其實也很簡單嘛,嘻嘻。grub的安裝也可以使用grub-install命令吧,具體可見命令幫助。