?? grub和windows2000的恢復歷程.txt
字號:
grub和windows2000的恢復歷程
本人使用的是華碩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命令吧,具體可見命令幫助。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -