刪除linux,覆蓋grub,還原成xp自帶的啟動引導,這個很簡單,只要你有windows xp盤(非ghost),用它啟動,至選擇安裝位置的地方退出重啟就可以。或者用它啟動故障修復臺,執行fixboot或者fixmbr都可以。
**:
sudo grub
find /boot/grub/stage1
root (hdx,y)
setup (hdx)
quit
注意:其中的x、y是執行find /boot/grub/stage1命令後系統提示的。,比如:
**:
grub> find /boot/grub/menu.lst
(hd0,7)
注意:這裡的grub>是執行sudo grub命令後進入grub環境得到的提示符,不用輸入。這時,x就是0,y就是7。
下面詳細解釋一下這幾條命令:
sudo grub 以root使用者身份啟動grub,否則會出錯,錯誤見後文
find /boot/grub/stage1 尋找/boot所在分割槽,其實換用find /boot/grub/menu.lst也一樣。
這一步也可以跳過,在執行root (hdx,時連按兩下tab列出可用分割槽,自己確定是哪個分割槽。
如果是將/boot單獨分割槽,詳見說明。
root (hdx,y) 設定硬碟hdx的根檔案系統(root device),實際就是設定/boot所在的分割槽
setup (hdx) 自動安裝grub到硬碟hdx。
quit 退出grub
root、setup命令後都有空格,如果沒有會出錯誤。
如果不以root使用者身份會出現什麼樣的錯誤呢?
引用:
ubuntu@ubuntu:~$grub
[ minimal bash-like line editing is supported. for
the first word, tab lists possible command
completions. anywhere else tab lists the possible
completions of a device/filename. ]
grub> find /boot/grub/stage1
error 15: file not found
grub> find /boot/grub/menu.lst
error 15: file not found
grub> root(hd0,7)
error 27: unrecognized command
grub> root (hd0,7)
error 21: selected disk does not exist
grub> setup (hd0)
error 12: invalid device requested
乙個成功例子:
引用:
ubuntu@ubuntu:~$ sudo grub
[ minimal bash-like line editing is supported. for
the first word, tab lists possible command
completions. anywhere else tab lists the possible
completions of a device/filename. ]
grub> find /boot/grub/menu.lst
(hd0,7)
grub> root (hd0,7)
grub> setup (hd0)
checking if "/boot/grub/stage1" exists... yes
checking if "/boot/grub/stage2" exists... yes
checking if "/boot/grub/e2fs_stage1_5" exists... yes
running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded.
succeeded
running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,7)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
done.
grub>quit
這是最簡單的方法,也有其它幾個尋找/boot分割槽的方法,但稍麻煩點:
在終端使用ls /dev/sd*和ls /hd*命令來查詢系統的外部設定,用sudo mkdir命令來建立掛載目錄,用sudo mount命令掛載,再用ls命令檢視是否/boot所在的分割槽。
也可以用sudo fdisk -l來找到啟動分割槽(這裡不涉及將/boot單獨分割槽的情況,因為那種我沒有實驗過,不太清楚),如:
引用:
ubuntu@ubuntu:~$ sudo fdisk -l
disk /dev/sda: 160.0 gb, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
units = cylinders of 16065 * 512 = 8225280 bytes
device boot start end blocks id system
/dev/sda1 * 1 2295 18434556 7 hpfs/ntfs
/dev/sda2 2296 19456 137845732+ f w95 ext'd (lba)
/dev/sda5 2296 4845 20482843+ 7 hpfs/ntfs
/dev/sda6 4846 8669 30716248+ 7 hpfs/ntfs
/dev/sda7 8670 16557 63360328+ 7 hpfs/ntfs
/dev/sda8 * 16558 17361 6458098+ 83 linux
/dev/sda9 17362 19393 16322008+ 83 linux
/dev/sda10 19394 19456 506016 82 linux swap / solaris
就知道啟動分割槽是/dev/sda8
有人可能會有疑問,在linux系統中是用sda8來表示這個啟動分割槽,而grub中則是用(hd0,7)表示,這是因為在新版的ubuntu中系統將串列埠硬碟和並口硬碟都識別為sd,a表示第一硬碟,8表示第4個邏輯分割槽(1──4被分配給主分割槽,擴充套件分割槽裡的邏輯分割槽從5開始計算)。而grub中則是用統一用hd代表硬碟,硬碟號與分割槽號都是從0開始計算的。
這部分是憑記憶寫的,可能不準確,請參考wiki。
ps:看到有的帖子說alterate cd可以在boot後輸入linux rescue來啟動救援盤,後面的操作則一樣。我因手頭沒有alterate cd無法驗證。***雖說整合了alterate cd與desktop cd,但無法在以字元介面安裝時啟動救援盤。
感謝雕雕補充:
雕嘯長空 寫道:
補充一點,上面講的是在/boot下面的東西都還完好的,但如果rp不行,/boot都玩完了,可以試一下下面的:
生成/etc/mtab
**:
sudo grep -v rootfs /proc/mounts >sudo tee /etc/mtab
安裝grub到mbr
**:
grub-install --no-floppy /dev/hda
然後就自己搞定menu.lst了.
ps:將雕的命令按
修改了一下。
順便鄙視一下linux/windows雙料菜鳥。
再鄙視一下自己,其實這都是網上流傳的已有的,只是這次恰好在實驗vista時用上了實證了一下。
恢復 Grub 引導
一般安裝 windows 和 linux 雙系統時都是先安裝 windows 再安裝 linux,然後利用 linux 自帶的多作業系統引導工具來製作引導選單。以 fedora 為例,安裝時會有 grub 的設定只要一直 next 就可以配置好 至少是能用的 但如果在使用中我們重新安裝了 windo...
恢復grub啟動
重灌windows7之後修復grub方法。裝了雙系統之後 ubuntu linux和windows7 再繼續裝windows7,就會導致grub被覆蓋,導致無法進入linux,這時候修復一下grub即可。下面是最簡單的乙個修復方法。2 設定從grub4dos啟動,首先需要在c盤根目錄下面建立乙個bo...
恢復ubuntu下的grub
ubuntu 6.01lts 呵呵,這張盤是在網上免費定的,好象是從荷蘭郵寄過來的 共郵寄了10張 在理想保護卡的環境下安裝ubuntu發現硬碟是sata格式 grub沒有正常安裝 鬱悶之中用livecd啟動,配置ip上網 發現用chroot切換環境,然後用grub install重新安裝.dev ...