背景:最早安裝的win7,然後通過wubi安裝的Ubuntu。
前天,中秋節,突然發現win7的啓動項沒有了,於是開始查詢如何在/boot/grub/menu_lst文件中,添加啓動項,無奈各種不好使。
不過現在好使了。。。
sudo gedit /boot/grub/menu.lst
代碼如下:
title Windows 7
root (hd0,0)
makeactive
chainloader +1
然後,update-grub,reboot就可以了。
但是,當時lz,沒有弄好,結果給/boot/grub文件夾給刪了,重啓後,進入grub rescue。
通過ls ,然後,嘗試ls (hd0,0) 一直到 ls (hd0,7) 才知道linux在sda8
按理講,通過insmod noraml.mod 進入到正常grub。但是,因爲我把它刪除了,所以,重新想辦法。
lz 通過winPE 找回了windows的啓動,進入windows後,使用UUI,ubuntu製作liveusb的工具,做了一個usb啓動盤。
那麼進入到liveusb以後,
sudo -i,獲取權限。
然後 mount /dev/sda8 /mnt 掛在ubuntu
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
這樣以後,一般grub-install --boot-directory /mnt /dev/sda8
sudo grub,如果沒有sudo apt-get install grub
grub> root (hd0,7)
grub> setup (hd0)
grub>boot
但是,因爲grub 不是被正常卸載的,所以我進入到系統中,重新刪除了grub ,又修復了grub。
chroot /mnt
rm /boot/grub
apt-get autoremove
mkdir /boot/grub
grub-install /dev/sda8
這個時候,再來update-grub
再來做,發現所有的都已經好用。
總結,問題的根本是要增加windows啓動,結果以爲是grub,直接加在menu.lst就可以了。可能,還有wubi的關係吧。
不過迴歸到grub,以後更好維護吧。
弄這個東西,耗費我兩天時間,真是事倍功半。