情景:本本装有Ubuntu 12.04 + Win7 32。重装Win7 64后,Ubuntu启动菜单被覆盖。

恢复的方法有多种,思路都一样。第一步,进入Linux环境;第二步。修改Grub使其重新覆盖windows的MBR。

我使用的方法为easyBCD。

步骤:

在win7上安装easyBCD;打开该软件后如下图:

可以看到只有一个启动项。我们再加一个引导Linux的启动项,如下图:点击添加新条目->NeroGrub->安装。

安装成功后在C盘会看到以下NeoGrub文件和NST文件夹。

重启,选择NeoGrub,然后便能进入grub。


到这里之后,进行下一步操作之前,我们先要明白自己的硬盘分区是什么结构。以我的为例:

右击计算机->管理->磁盘管理,如下图:

(备注:以sd表示磁盘,磁盘0表示为sda,若有磁盘1,则表示为sdb,磁盘2表示为sdc……)

系统保留分区为sda1,C盘系统盘为sda2,DEF三个逻辑分区合起来为一个扩展分区,叫sda3,然后具体的D盘为sda4,E盘为sda5,F盘为sda6,Linux分区为sda7,linux交换空间为sda8。

但是在Ubuntu 下看到的跟这个略为不同:

用fdisk -l命令查看:

可以看见区别么?少了sda4。我在网上查资料,说是linux约定sda1~4为基本分区(主分区+扩展分区),所以不可能把sda4这个称呼给D盘,因为D盘是逻辑分区。

另一个区别是linux把自己的系统分区和交换空间也放在扩展分区里的。

好,说到这里,我们继续恢复Ubuntu Grub的步骤。

通过以上的铺垫,我们知道了Linux系统分区位于sda8。不知道也没关系,一个个分区试也能试出来。

grub> root(hd0,x)
grub> ls 轮换使用上述两个命令,直到看到了linux系统下的文件夹(如lost+found,etc等等),此时的(hd0,x)即是linux分区。另一个区别是linux文件系统格式为ext2(或者ext3、ext4)。windows分区为ntfs。

之前的操作到了重启,选择NeoGrub启动菜单进入grub命令行,用root(hdm,n)命令选择m块硬盘上的n分区。对我的机器来说就是:

grub> root(hd0,)

有同学可能会纳闷了,之前不是说在sda8分区上吗,怎么选择的是(hd0,7)啊。这是因为hd(hard drive)是从0开始计数的,而sda从1开始。从hd0也能看出hd是从0的。hd0就表示你的第一块硬盘。下一步:

grub> kernel /boot/vmlinuz-x.x.x-xx-generic root=/dev/sda

vmlinuz-x.x.x-xx-generic中的x为kernel的版本,可以按Tab键自动补全,也可以用 ls /boot/ 命令查看一下。下一步:

grub> initrd /boot/initrd.img-x.x.x-xx.generic

最后一步:

grub> boot

这样就能进入Ubuntu 了。


进去之后,修改grub,用grub覆盖windows 7的MBR:

$ sudo update-grub

$ sudo grub-install /dev/sda

大功告成,重启。

恢复被win7覆盖的Ubuntu Grub的更多相关文章

  1. win7/ubuntu双系统下,如何恢复成win7引导及卸载ubuntu

    电脑原来是win7系统,后来通过硬盘安装了Ubuntu,同时把Ubuntu设置成了开机引导项(开机时选择操作系统的界面成了紫色背景白色字体的界面),ubuntu引导开机的缺点是将来要卸载Ubuntu时 ...

  2. win7下安装Ubuntu后进不去win7的解决方法

    win7下安装Ubuntu后进不去win7的解决方法 刚刚给同学在win7下安装了Ubuntu16.04,结果在安装完后竟然无法在电脑重启后,找到win7的进入选项. 在网上找了找,都不行!就差点重装 ...

  3. 【学习总结】win7下安装Ubuntu双系统的日常

    参考文献 1 - [双系统中删除linux(win7适用) ] 2 - [win7(32位)U盘安装.卸载ubuntu(64位)双系统] 3 - [Windows下安装Ubuntu 16.04双系统] ...

  4. sql2000数据库误删除后自行恢复二次覆盖成功恢复

    sql2000数据库误删除后自行恢复二次覆盖成功恢复 [数据恢复故障描述] 今天接到一个客户电话,他的速达sql2000数据库,数据库误删除了,关键之前还没有备份过.他就想自己尝试恢复,使用网上下载的 ...

  5. 怎么安装预装的win8三星笔记本改win7再装Ubuntu问题[zz]

    随着科技的高速发展,人们对电脑的要求越来越高,对电脑系统的要求亦是,那些电脑自带的系统,很多时候已经无法满足人们的需求了,而为了满足自己的需求,人们往往会为电脑改装新系统,而本文要和大家一起分享的话题 ...

  6. win7下安装ubuntu双系统的方法及心得体会(ps:要死好几回的节奏)

    1.win7下安装ubuntu系统后,可以很好进入ubuntu系统 但是进不去win7,开机有win7选项,但是选择后不管用 方法思路:各种修复win7的mbr 我的问题是:在winpe中发现,根本看 ...

  7. t420 win7 硬盘安装ubuntu 10.04 LTS 备忘

    http://zhangwen.sinaapp.com/?p=5 t420 win7 硬盘安装ubuntu 10.04 LTS 备忘 发表于 2011 年 10 月 25 日 对ubuntu的新版没有 ...

  8. win7远程连接ubuntu,出现灰屏解决方法

      问题: win7远程虚拟机ubuntu 12.04出现灰色屏幕 打开windows自带的远程桌面连接.输入ubuntu虚拟机的IP地址 可以连接上,输入username和password 点击OK ...

  9. win7硬盘安装ubuntu双系统——注意项

    WIN7 下硬盘安装ubuntu 12.04 博客分类: ubuntu   仅为网络上的资料整理 资料引用:http://www.ctocio.com.cn/35/12325035.shtml htt ...

随机推荐

  1. 打造简单实用的Thinkphp分页样式(Bootstrap版本)

    先吐槽一下ThinkPHP3.1版的分页样式,虽然看起来也很简单大方,但是所有的页码全是使用简单的数字,之间的空隙比较小,不大容易点,还有那个“前5页”和“后5页”显得有点多余,因为点击当前显示第一页 ...

  2. 在Linux中三种让crontab每秒执行任务的方法

    第一种方法: 1.创建脚本文件 cat phplog.sh 2.编辑脚本内容 #!/bin/bash while : ;do /home/scripts.sh 2>/dev/null & ...

  3. java 下载spring的方法

    spring是很好用,可惜的是,貌似现在没有办法从网站上找到整合在一起的包了... 我以前只能通过maven去抓... 今天终于知道了一个方法: 访问如下地址: http://repo.spring. ...

  4. C# 查处出现次数最多的元素

    LINQ var str= str.ToCharArray() .GroupBy(x => x) .OrderByDescending(x => x.Count()) .First() . ...

  5. cadence16.6 如何对齐元件

    1.选中Setup-->Application Mode-->Placement Edit mode2.按"CTRL"键,选中需要对齐的所有对象.3.点击右键右,或者在 ...

  6. IAR修改工程名称Tab键设置模板建立

    IAR 修改工程名称 很多时候用IAR开发都是基于已有工程模板开发的,但是工程模板的名称经常让人头疼:以下是修改办法: 从一个实例工程复制后缀名为"dep,ewd,ewp,eww" ...

  7. 关于一道简单的Java 基础面试题的剖析: short s1=1;s1 = s1 +1会报错吗?

    package common; public class ShortTypeTest { /* * @param args */ public static void main(String[] ar ...

  8. scanf gets fgets区别与联系 puts fputs printf区别与联系

    组一:scanf( )函数 gets( )函数    fgets()函数都可用于输入字符串, 组二:printf( )函数 puts( )函数 fputs()函数则用于字符串的输出. 两组内部函数各有 ...

  9. oracle-11g创建用户名的时候默认区分大小写

    oracle11g-11.2.0.3.0 - 64bit oracle-11g创建用户名的时候默认区分大小写 设置不区分大小写: alter system set sec_case_sensitive ...

  10. Lua基础之字符串(string)

    1,计算字符串长度 2,返回字符串s的n个拷贝 3,返回字符串全部字母大写 4,返回字符串全部字母小写 5,返回一个类似printf的格式化字符串 6,根据下标截取字符串 7,在字符串中查找 8,在字 ...