安装XP和Ubuntu双系统问题——Ubuntu安装时无法识别原有系统
我主机本来安装了windows xp 和unbuntu15.04,由于在ubuntu下不小心卸载某依赖后,无法登入桌面,网上查了好多资料,原因各种,解决途径也各种,最终是还没有解决问题。各种更新,各种补丁,各种命令都尝试,然后还是水平有限,折腾了2天,不想无奈之下,只能选择重装了。具体的解决登入桌面的过程我这遍就不详细写了,太凌乱,太多了,我已经记不清楚用了多少方法了,都无效,所以有需要的朋友,还是自己上baidu看看吧,这里就不再献丑了。
本以为重装是一件非常无脑和省事的事,谁知道这次遇到了点小麻烦,于是诞生了这篇小博。
遇到的问题:
下载并制作完Ubuntu14.04 USB启动盘后(关于怎么下载和制作Ubuntu USB 安装盘百度很多,请各位自行查找),进入安装界面无后,却无法找到我原先安装好的XP和Ubuntu系统。我之前用fdisk -l命令并没发现什么问题,而且对fdisk参数也不熟,就并没有深入研究,但是网上有人提示可能是磁盘分区表出现了问题,于是我决定进入windows系统用diskgenius软件检测,果然检测结果显示最后个Ubuntu的/home(/dev/sda9)分区超出硬盘边际,那么怎么解决呢,我企图用该软件自带的修复工具修复,但是它会把最后个分区自动格式化成NTFS格式,大家都知道NTFS是xp的格式,而ubuntu需要ext格式,所以此办法不行。
然后继续搜索ubuntu下修复磁盘的工具,搜到2个比较靠谱的工具,一个是testdisk,另一个就是我之前用的fdisk(因为我之前没对其参数进行研究,后来才发现fdisk是如此强大)。我首先用testdisk,因为名字易懂嘛,感觉也很专业,用起来确实也很专业,各种选项,不过很容易懂,其中有一页显示/dev/sda2, /dev/sda9都是属于extend分区,而sda2的system type是 Win95 Ext'd (LBA), sda9的system type是Linux,说明sda2包含了sda9,这一点也显示出来,最关键一句是说sda9的编辑范围已经超出了sda2得最大范围,由此可以肯定也是硬盘分区出现了问题,可能是硬盘使用太长,空间进一步萎缩引起的。然后它建议我进行重新建立分配硬盘分区表,不巧的是它的修复过程几乎与diskgenius换汤不换药,也是将最后Ubuntu分区直接分为NTFS,于是回退。
最后开始研究fdisk,正戏来了,当然要详细点,只可惜没图配合:
1st,sudo fdisk -l,显示硬盘分区表信息,显示有2块硬盘,分别是,sda, sdb,自然我们关心的是我们的本地磁盘sda,而sdb只是USB安装盘
2nd,sudo fdisk /dev/sda,这个时候,命令行会提示你选择m来显示所有参数信息,照着做,输入m
3rd, 输入m后,显示一排信息,我们可以使用p命令显示当然这块硬盘的分区表,你不会发现问题。
4th, 显示分区表后,我尝试用v来进行verify 分区表,结果悲喜交加,悲是因为显示sda9分区不完全在sda2分区之内,喜是因为我们进一步验证了问题的所在。
5th, 然后再按m,发现有2个添加(n)和删除命令(d),就试图自己手动调整分区表,首先先删除了swap 分区,然后再增加一个小swap分区。(注意删除分区的时候,我是先将/etc/fstab下的相关分区配置行都注释了,增加完后再恢复,这步操作有没有必要,没验证,读者可以自行尝试)。结果并不如愿,再次执行v的时候还是报同样的错误,说明/dev/sda9(/home分区)的地址没有改变,还是越界。
6th, 再次尝试删除/home分区(反正需要重装,也会被格式化的),然后重新添加/home分区,这次操作后,执行v命令终于没报越界错误,看到曙光啦
重启,进入usb引导模式,果然,ubuntu安装系统可以识别原有的xp系统和ubuntu15.04系统了。
本篇完结(唯一遗憾,无图佐证)。
安装XP和Ubuntu双系统问题——Ubuntu安装时无法识别原有系统的更多相关文章
- VirtualBox虚拟机中安装XP系统
Windows XP是一款经典的操作系统,同时也是一款很老的操作系统,不过尽管如此,还是有一批用户在使用XP系统,所以发行一些软件的时候还是要测试在XP系统中能否运行,这时候我们就可以借助Virtua ...
- 如何在VirtualBox虚拟机中安装XP系统? 转
关闭VM (windows 7 )的方法, 使用 退出 保持状态 开启VM (windows 7 )的方法, 选择启动 ######Iissue 1 网络连接不上,可以重新初始化 网络连接. #### ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2.Ubuntu 12.04) 近期在看<鸟哥私房菜:基础学习篇>.认为非常不错,想要用U盘装个windows 7 和 ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04) 最近在看<鸟哥私房菜:基础学习篇>,觉得很不错,想要用U盘装个windows 7 和 ...
- 双系统中ubuntu的安装方法
双系统中ubuntu的安装方法 注意:给电脑安装双系统时,一定要先装Windows系统,再安装Linux系统! 原因是电脑开机后,要先执行一段bootloader引导程序:再由引导程序启动操作系统.W ...
- Windows 10下使用U盘安装Ubuntu双系统
问题描述:在Windows10下安装Ubuntu. 使用工具:Windows10.Ubuntu16.04 LTS安装包.UltraISO.easyBCD. 操作步骤: 1.安装之前要给Ubuntu分出 ...
- mac上安装ubuntu双系统
mac和ubuntu双系统 mac系统安装ubuntu双系统的方法, mac系统要安装ubuntu, 必须使用u盘作为启动盘, 在mac启动的时候引导mac安装ubuntu, 下面为详细的安装方法: ...
- 安装Windows10,Ubuntu双系统14.04LTS记录
参考链接:http://www.jianshu.com/p/2eebd6ad284d(推荐直接看这个链接,我也是看这篇博客装的)然后自己记录一下,防止以后找不到了 本记录是在Windows10 上安装 ...
- WIN7系统下U盘安装Ubuntu双系统
1. 准备工作 1. 官网下载Ubantu镜像,我下载的是Ubantu14.04.3 LTS版本: 2. 下载 Universal USB Installer (UUI)用于制作U盘启动盘: 3. 下 ...
随机推荐
- jquery实现定时调度(倒计时)
工作需要实现了倒计时的脚本,代码如下: /** * 倒计时 * @param infoId :信息显示的id 最好是用span包裹 * @param callback:倒计时结算后的回调 */ fun ...
- javascript DOM对象转jquery对象
首先,假设一种情形:要在HTML文件中为一个select对象添加一个函数,这个函数的名字叫dynamic_change(this),当select的option被改变的时候调用onchange事件来处 ...
- JS-商品图片放大器
//给mask添加事件,让其随着鼠标移动 superMask.onmousemove=function(){ var left=event.offsetX-175/2; left=left>0? ...
- JS之arguments属性解读函数传参?
Arguments 该对象代表正在执行的函数 和 调用他的函数的参数. arguments属性:为当前执行中的 Function 对象返回 arguments 对象 和 参数. [function.] ...
- wordpress后台打开缓慢的临时解决方法
解决方法是添加下面的主题在目前的代码在functions.php: //禁用Open Sans class Disable_Google_Fonts { public function __const ...
- centos 下mysql操作
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度 快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为 ...
- scrapy1.1入门用例简介-2
写一个小的scrapy project,爬取相关网页内容并保存为.json文件 0.创建project,genspider等. 1.修改items.py,内容如下: 2.修改dmoz.py,内容如下: ...
- [Python 3.x 官方文档翻译]The Python Tutorial Python教程
Python is an easy to learn, powerful programming language. It has efficient high-level data structur ...
- 自定义cell 自适应高度
#pragma mark - 动态计算cell高度 //计算 返回 文本高度 + (CGFloat)calsLabelHeightWithContact:(Contacts *)contact { / ...
- UNIX网络进程间通信漫谈(1)
进程间通信 IPC是进程间通信的简称,指的是运行在某个操作系统上的不同进程间各种消息传递方式,在Unix操作系统过去30年的演变史中,消息传递经历了如下几个阶段: 管道,管道是第一个广泛使用的IPC形 ...