情景:本本装有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. Oracle10G的Sga_max_size和sga_target应该如何设置啊!

    1调整原因 我们的客户反应现在我们公司的软件使用起来比较漫.目前他们已经用快要两年了.根据用户反应的情况,公司派我到现场做数据库调优.我在现场走访了几个部门,也向操作人员了解了一些情况.我初步分析认定 ...

  2. Windows下关于Composer使用时出现的问题及解决办法

    问题一: Fatal error: Call to undefined method Composer\Package\CompletePackage::getTrans portOptions() ...

  3. How to achieve dialog with lookup control

    How to create a dialog with the lookup as a control, the other control SalesId ItemId lookup is the ...

  4. protected internal修饰符

    见过这样的修饰符,但是没有仔细考虑过,今天做一个小练习. 先给出一个链接,别人在网上讨论的:http://wenku.baidu.com/view/4023f65abe23482fb4da4cfe.h ...

  5. Ztack学习笔记(2)-系统初始化分析

    main函数先执行初始化工作,包括硬件.网络层.任务等的初始化. 一 系统初始化 系统初始化函数主要完成内存分配.消息队列头.定时器.电源管理.任务系统及内存栈等的初始化,具体如下代码所示: //os ...

  6. [转]system函数返回值探究

    对于system这个函数的功能早就有一定了解,读书期间,就学习了UNIX系统编程这本书,后来买了APUE.我这个人总是有好读书不求甚解的毛病.对于system函数只知其一,不知其二.后来被人问起相关的 ...

  7. 调皮的转义之addslashes

    背景: php自5.3版本开始废除set_magic_quotes_runtime函数,并在5.4及以后版本中移除了该函数 今天程序在向mysql插入一个serialize序列化后的数组时,由于一个数 ...

  8. Extjs 4.2 grid 分页问题,点击下一页参数没带过去

    最初的store写法: var store = Ext.create('Ext.data.Store', { model: 'PKU',//这个地方CarPKU不是一个对象,而是一个类 remoteS ...

  9. 开发中/listfile.jsp(11,31) quote symbol expected 这个错误

    可能是因为11行33列,少了一个引号.

  10. SQL SERVER 强制排序规则查询

    有时会需要在2个DB之间的数据做比较, 但因为一些原因, 数据库的默认排序规则是不一样的, 例如 SELECT A.Col1, B.Col1, A.* FROM DB1.dbo.A LEFT JOIN ...