ubuntu14.04修复启动项
自从安装了ubuntu14.04系统后(win7+ubuntu双系统),一直使用grub来引导win7和ubuntu,很长一段时间都使用的很好。突然前两天win7进不去了,无奈之下就用pe修复了win7的启动项,开机后grub的启动界面消失了,变为了windows的启动界面(笔者猜想,pe在修复win的启动项时,修改了mbr的内容,以前mbr中存放的是grub的部分程序,修复之后的mbr变成了win的引导程序,会去加载win所在分区的pbr,猜想不一定正确)。无论怎样,windows总算能进去了。接着,笔者又在win7下用EasyBCD添加了ubuntu的启动项,如下图:
类型选择了第一项GRUB(legacy),驱动器选择了ubuntu被安装所在的分区。添加成功后,重启发现进不去ubuntu了,一直是黑屏,左上角有个光标不停闪烁。在此,笔者又猜想可能是当初在装ubuntu14.04时,grub的部分程序仅仅被写入了磁盘的mbr中,而没有写入ubuntu分区的pbr(分区引导记录),因此一旦mbr中的grub被修改,就很难通过pbr进入ubuntu了。而笔者曾经在一篇博文中貌似看到过,ubuntu在安装时会把grub的部分程序在mbr和pbr中各拷贝一份,这样的话,通过mbr和pbr均能引导成功ubuntu。不知此猜想是否正确。然后笔者用U盘制作了ubuntu14.04的启动盘,在livecd模式中进行修复,步骤如下:
1.开机u盘启动,进入ubuntu安装程序,图形界面出来后,选择try ubuntu,不要选择install ubuntu。
2.之后便进入了ubuntu的体验环境。
3.打开一个Terminal
执行:sudo -i (切换成root用户)
fdisk -l (查看磁盘的分区情况,笔者的/boot目录是单独的分区,大小200M,因此一眼就看出了,分区设备为/dev/sda8)
mkdir /mnt/root (目录创建在哪里不重要,目的是为了挂载/dev/sda8设备)
mount /dev/sda8 /mnt/root
gurb-install --boot-directoty=/mnt/root /dev/sda (安装grub,将其安装在/mnt/root/grub目录下,/dev/sda指示了/mnt/root所在的设备)
至此,会提示no error reported,安装成功。重启电脑后又恢复成了grub来引导。(笔者猜想,在进行grub安装时,又将mbr内容修改为grub的部分程序,才能在开机时出现grub的引导界面)
在grub的引导界面中,有多个启动项可供选择,其中第一个启动项是ubuntu,最后一个是win7启动项。笔者选择ubuntu,可以正常进入ubuntu中;选择win7时,又会出现win7的启动项选择界面(grub加载了win7所在分区的引导程序pbr),该界面有两个启动项,win7和ubuntu(该ubuntu启动项是以前用easyBCD设置的),此时再选择ubuntu的话,依然是黑屏,左上角光标闪烁,进不去系统。因此,笔者分析,上边的第二个猜想是错的,应该不是ubuntu所在分区的pbr没有被写入的原因,因为grub已经被修复了,grub部分程序一定被写入pbr中了,却还是进不去ubuntu系统。笔者大胆猜想,ubuntu14.04作为最新版的系统,会不会是grub版本的问题,于是在easyBCD中,重新制作ubuntu启动项,类型选择为第二项GRUB 2,结果重启后果然出现了grub的启动界面(说明了ubuntu分区的pbr中存放了grub的部分程序,启动顺序:开机,bois,mbr(grub部分程序),加载ubuntu分区的grub程序,grub启动项选择界面,选择win7,加载win7所在分区的pbr,读取bcd表,win的启动项选择界面,选择Ubuntu,加载ubuntu分区的pbr(grub部分程序 ,和mbr中内容相同,此处就用到了bpr,可见其并不多余),加载ubuntu分区的grub程序,grub启动项界面。绕了这么一大圈是为了证明笔者猜想),成功了。如下图:
在此,笔者大胆总结下,在安装win+ubuntu双系统时,其实无所谓安装顺序,大不了后安装的系统的引导程序覆盖掉了mbr,将启动界面变为了后安装系统的启动项。我们只要加以修复即可。如果后安装win的话,win的loadboot覆盖掉了mbr,没关系,我们进入win后,在easyBCD中设置一下ubuntu的启动项,驱动器选择ubuntu被安装的分区,类型选择时要小心,根据ubuntu的版本高低,选择第一项GRUB(legacy)或者第二项GRUB 2,高版本的话选第二项(此处如果选择不合适的话,照样无法启动ubuntu系统,会出现黑屏并且左上角光标闪烁的现象);如果后安装ubuntu的话,grub部分程序将覆盖掉mbr,这样更好,grub的启动界面上最后一项已经帮我们把win7的启动项自动添加上了,直接选择就可进入win。
ubuntu14.04修复启动项的更多相关文章
- Ubuntu14.04+ROS 启动本地摄像头
STEP1安装usb_cam 创建一个工作空间,make一下 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make STEP2下面是安装usb_c ...
- nginx(二)----ubuntu14.04下启动或重启和关闭nginx
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 *转载请注明出处 */ 一.启动 /usr/local/nginx/sbin/nginx或者cd /usr/ ...
- Caffe搭建:Ubuntu14.04 + CUDA7.0 + opencv3.0 + Matlab2014A
从Hinton在science上发表深度学习训练开创新的文章以来,深度学习火了整整有3年多,而且随着新的硬件和算法的提出,深度学习正在应用于越来越多的领域,发挥其算法的优势. 实验室并没有赶上第一波深 ...
- Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上
linux系统如果想做备份还原,使用ghost的时候经常出现问题,后来发现可以直接使用dd命令完成硬盘的克隆和还原.当拷贝完硬盘后,就可以拿这个硬盘放到其它设备上跑了.也就是完成了“烧写”了. 用U盘 ...
- Ubuntu14.04 使用本地摄像头跑ORB SLAM2(暂未完成)
嗯 这个方法我暂时弄不出来,用了另外一个方法:SLAM14讲 第一次课 使用摄像头或视频运行 ORB-SLAM2 前面的准备: Ubuntu14.04安装 ROS 安装步骤和问题总结 Ubuntu14 ...
- Ubuntu14.04、win7双系统如何设置win7为默认启动项
Ubuntu14.04.win7双系统如何设置win7为默认启动项 Ubuntu14.04.win7双系统设置win7为默认启动项方法: 在启动项选择菜单处记住windows 7对应的序号. 从上至下 ...
- ubuntu 14.04.02 LTS 启动项误写入 /dev/sda1 (win 7 loader) 修复
问题描述: 在win7下安装Ubuntu14.04,由于启动项 /boot loader 安装位置错误(/dev/sda1 (win 7 loader) )导致无法进入Windows(在GRUB界面能 ...
- win7 ubuntu10.04双系统,重装win7后,修复双启动项
进入ubuntu的liveCD(即在试用ubuntu里),在终端里操作 首先要找到自己的ubuntu系统挂载在那个sda下面.可以用sudo fdisk -l 这个命令.然后: 1. sudo -i ...
- windows和ubuntu14.04双系统设置默认启动项
首先开机或者重启,在启动项选择菜单处记住win7对应的序号,从上至下的序号从0开始计数,我的win7系统选项处于第5个,那么序号就应该是4,记住后,打开ubuntu系统. 2 按下Ctrl+alt+T ...
随机推荐
- RPC简介及原理
简介 RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用). 越底层, ...
- Xcode使用版本
Xcode6中创建分类.协议等文件的方法 Xcode 5.1.1 与 Xcode 6.0.1 的共存之路 http://jingyan.baidu.com/article/1612d500457df1 ...
- Hosting Your Own NuGet Feeds
Hosting Your Own NuGet Feeds Hosting the NuGet Gallery Locally in IIS https://github.com/NuGet/NuGet ...
- python 统计文本文件的行数
num_lines = sum(1 for line in open(input_file_name))
- leetcode Database3(Nth Highest Salary<—>Consecutive Numbers<—>Department Highest Salary)
一.Nth Highest Salary Write a SQL query to get the nth highest salary from the Employee table. +----+ ...
- minimum-number-of-arrows-to-burst-balloons(还挺好)
https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/ 与会议室排期问题,很相似. package com. ...
- js方式进行地理位置的定位api搜集
新浪 //int.dpool.sina.com.cn/iplookup/iplookup.php?format=js //int.dpool.sina.com.cn/iplookup/iplookup ...
- 转:整理一下Entity Framework的查询
Entity Framework是个好东西,虽然没有Hibernate功能强大,但使用更简便.今天整理一下常见SQL如何用EF来表达,Func形式和Linq形式都会列出来(本人更喜欢Func形式). ...
- warning:performSelector may cause a leak because its selector
warning:performSelector may cause a leak because its selector 在ARC项目中使用 performSelector: withObj ...
- #define | enum(enumerator)
/**************************************************************************** * #define | enum(enume ...