红联Linux门户
Linux帮助
当前位置: 红联Linux门户 > Ubuntu

装win7后怎么找回Ubuntu的启动菜单

发布时间:2009-11-10 14:32:02来源:红联作者:pwaved
我的笔记本预装的vista,后来我装了linuxmint7.0(基于Ubuntu9.04的版本),
默认两个系统由linuxmint的grub引导。
昨天将vista升级到了win7后,引导菜单不见了。如何启动linuxmint?
在网上找到一个用easybcd在windows7的启动项添加grub的方法,
WIN7下恢复UBUNTU9.04启动菜单【原创】
http://blog.zol.com.cn/1303/article_1302851.html[2009/11/9 15:37:56]
我照做,将我原来备份的menu.lst内容复制到easybcd创建的lst里,重启,启动后选择linux,
能够看见我以前的那个引导菜单了,但是却没有成功进入linux系统。
提示是:错误,找不到文件。
这是怎么回事呢?怎么解决?
文章评论

共有 10 条评论

  1. pwaved 于 2009-12-02 18:15:03发表:

    本人愚钝,没有找到好办法,最后整来整去把linuxmint给搞挂了。
    想在装一个ubuntu,但是担心引导与windows7 激活冲突的原因,还未动手。
    不清楚该怎么装上。

  2. zhzequn 于 2009-11-11 18:12:51发表:

    幸好我先装WIN7然后装UBUNTU的,要不可真是头都大了,不过这样好啊,能学到很多东西,建议楼主解决问题之后能再发个帖子把这些经验分享出来!发扬开源的精神!

  3. 王中云 于 2009-11-11 00:06:08发表:

    用个引导恢复工具恢复Ubuntu的引导到其根目录下就可,红旗Linux7安装盘进入后就有个这样的工具,其他Linux如Ubuntu9.04的LiveCD里也可找到。

  4. pwaved 于 2009-11-10 19:50:17发表:

    [i=s] 本帖最后由 pwaved 于 2009-11-10 19:51 编辑 [/i]

    我在网上有找到一篇文章:
    用PCSKYS激活Win7后,用Grub4Dos引导Linux的困境
    http://hi.baidu.com/acutez30/blog/item/07bb1bf47d132264dcc47415.html
    上面说“激活后,C盘根目录下多了个grld这个文件,激活工作全靠它了,其实它就是对微软做一欺骗而已,把Bios信息模拟成微软已经授权的OEM,从而正常使用授权了的key。
    这个grld是重新改造后的grld,而不是grub4dos里的原始grld了,它把启动显示信息等擦掉了,而且自己内部做了个menu.lst,默认直接引导到win7的引导程序bootmgr,从而启动win7。所以用这个grld是引导不了linux咯……。”
    我也是那样激活的,是不是这个原因?

    但是我在装easybcd的时候,装上了easybcd本身的引导内核,所以我的c盘下有两个具有grub功能的文件,一个应该是破解时留下的grub,另一个就是easybcd自己的NeoGrub。我做启动引导应该是neogrub的作用吧?他们之间有干扰吗?
    请高手指点啊。

  5. pwaved 于 2009-11-10 18:39:20发表:

    引导进入的时候提示是
    error2:bad file or directory type

  6. pwaved 于 2009-11-10 18:21:11发表:

    5# 天空的元


    menu.lst是我在装win7前从linux里拷贝出来的。
    我可以按e进入编辑状态,也可按c进入命令行状态。
    在命令行下出现grub>
    但是我按网上介绍,输入 find /boot/grub/stage1
    结果为error file canot found
    与我引导进入linux的提示一样。

    从linux里拷贝出来的menu.lst里面根分区位置是用uuid表示的。
    由于没能成功,我将uuid换成了root (hd0,8)
    root=/dev/sda9的表示方法,
    但还是没成功。

    我怀疑有两点:1.是UUID变了?但是我没有改变任何分区的大小和顺序啊。
    2.我的root(hd0,8)没有填对。请帮我分析一下我究竟该填几?

    我的硬盘分区如下:
    windows下:C(主),D(主),E(主),F(逻辑),G(逻辑),H(逻辑)
    最后的50G给的linux,如下
    wasp(主),根分区/(主),home(主)

    那么照我的这个分区,roo(hd0,x)x应该是几?
    dev/sday,y应该是几啊?

  7. 天空的元 于 2009-11-10 16:04:38发表:

    楼主在使用easyBCD之后,能够见到以前的引导菜单,说明楼主easyBCD的设定没有错。错误应该出在原来linux里的menu.lst(/bbot/grub/menu.lst)上。
    楼主可以这么试试(很简单,不用liveCD,当然我没遇到过楼主的情况,所以不保证可行,但试试总没有一点坏处的):
    重启进入你熟悉的linux选单后,将焦点放在你要启动的 linux上,然后按e(键盘字母)键,应该能进入编辑(edit)界面。
    如果能进去的话,屏幕上应该显示类似下面的界面:
    root (hd0,x) 这儿x是数字
    kernel /boot/vmlinux-version ro root=UUID=******
    这儿version是版本号,可能有也可能没有,恩,可能会有一些小差异
    initrd /boot/initrd-version
    上面的三行只是个模板,样子是这样的。

    如果楼主能进去这步的话,那问题就出在这儿了,此时要修改这三行。
    如果楼主没有对硬盘重新分割过的话,就比较容易改了,只要修改将第二行的root=UUID=****改为
    root=/dev/sday 这儿y是数字,就是第一行root (hd0,x)里的x+1(即y=x+1)
    改好之后按回车,应该是能仅linux了吧

    写到这儿我自己有点迷糊了,不知道能不能直接修改啊,我曾经添加过内容,不知道能不能改内容啊?
    哪位大侠冒个头确定一下

  8. 天空的元 于 2009-11-10 15:40:40发表:

    藤椅兄的方法好像是直接重新做了MBR吧,而且用liveCD这么干了之后,等进linux后还得修改menu.lst才能有win7的启动项啊。
    楼主用easyBCD好像就是不想重做MBR吧!

  9. xzj4167 于 2009-11-10 14:57:53发表:

    [i=s] 本帖最后由 xzj4167 于 2009-11-10 15:07 编辑 [/i]

    使用livecd,在终端下输入代码:
    sudo su
    grub
    你应该看到像这样的代码:
    grub>
    接着输入代码:
    root (hdx,y)
    setup (hdx)

    请不要完全照样输入!请弄懂这些命令的含义。
    hd表示硬盘,格式是
    (hd硬盘号,分区号)
    从零开始计算。
    所以(按照日常的习惯,从1开始数),(hd0,0)表示第一个硬盘的第一个分区,(hd0,1)表示第一个硬盘的第2个分区,(hd1,4)表示第2个硬盘的第5个分区。
    (注意,linux系统里是用hda1表示第一个硬盘的第一个分区,不要把它和grub中的表示混起来。)

    root (hdx,y)
    这里的(hdx,y) 是/boot 目录所在的分区(通常情况下,也就是你装ubuntu系统的分区,除非你安装的时候把/boot分出去了。)如果你不知道你把ubuntu装在第几个分区,可以在输入root (hd0, 时按Tab键来补全。(假设你把ubuntu装在第一块硬盘上)
    按了tab后,你将看到一些有关各个分区的信息。通常你可以通过分区的大小和格式看出你把ubuntu系统装在哪里了。
    setup (hdx) 通常情况下,是setup (hd0)。(多半你把ubuntu装在第一块硬盘上。)要注意的是,不要输入setup (hd0,0)。我曾经犯过这个错误。(如果你没把命令抄下来,凭记忆操作的话,可能会犯这种错误。)

    最後,用代码:
    quit

    退出grub,重?系?。

    好了,总结一下用到的命令(建议你把下面的代码抄在纸上。如果你对(hdx,y)表示的含义还感觉模糊,最好把上面几段解释也抄下来。)
    代码:

    sudo su
    grub
    root (hdx,y)
    setup(hdx)
    quit

  10. pwaved 于 2009-11-10 14:44:49发表:

    我的硬盘分区如下:
    WIN下:C D E 显示为主分区, F G H显示为逻辑分区
    后面是装linuxmint的:
    wasp,/,和home,这三个都显示为主分区。
    怀疑是不是windows变化后,分区的uuid也变了?
    那么我的menu.lst该怎么写才能引导进入linux?