这个问题困扰了我这个小白很久。每次无奈只能又重新装一遍linux。今天经过实践,终于解决了。我的步骤是:
1.用easybcd加入neosmart linux启动项:
Add New Entry>linux/BSD>
type选择GRUB2
其他不变
然后Add Entry
最后点击左侧的Edit Boot Menu然后点击右下方的Save Settings
2.重启后你会看到NeoSmart linux的选项
进去后就是你以前的引导界面了。然后你选择进入linux。
打开终端:
sudo update-grub
sudo grub-install /dev/sda
好啦,重启你就发现一切都解决啦。
明白原理可能会好一些:
我找了些资料,原理可能是:
重装windows的时候,霸道的windows不管系统中是否还有其他的系统,直接重写mbr,于是重装系统后就只有windows一个选项了。而且windows的引导程序貌似是在c盘的boot.ini(这个文件我没找到)。而linux的引导程序应该是/boot下的grub。于是我们的目的就是,找到grub然后让grub重新掌握引导程序的大全。也就是重写了mbr。(这些只是我的理解,可能有错的地方,欢迎大神指教)
网上还有一些方法:
2.用live cd 或者live usb 进入linux系统后在重装grub。
3./boot目录放到windwos的C盘 顺便再把 grldr文件也放到C盘
然后修改boot.ini它可能隐藏和只读 自己改下属性
再最后加入一句
C:\grldr=ubuntu
就可以了
grldr文件提供下载
http://sun391.netfast.org/grldr
如果你已经不能进入 linux了 请用下面这个win下的小工具 它可以读linux的分区
把/boot 目录 拷过来 就可以
http://sun391.netfast.org/explore2fs.exe
介绍boot.ini:http://www.51mokao.com/Groups/ForumPost.aspx?id=29896
介绍grldr:http://baike.baidu.com/view/2992954.htm
如果想拷贝自己的linux里的grldr
下个linux_reader,然后找到/boot/grub下的grldr.img拷贝。
不过,貌似只有xp才有boot.ini,windows7 的就别看了。
4.
只拷贝 grldr , 修改 boot.ini ,
不要拷贝 boot 目录 ( 拷了的删除 C: 下的 boot 目录)重启, 在 XP 启动菜单选 Ubuntu ,
grldr 应该会自己寻找 Linux 的 /boot 的。
来源:oschina
链接:https://my.oschina.net/u/247604/blog/64284