背景:最早安装的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,以后更好维护吧。
弄这个东西,耗费我两天时间,真是事倍功半。