您的位置:首页 > 其它

win7系统上安装ubuntu,分区时无法显示win7上已分好的区方法解决 && Error:Can't have a partition outside the disk

2014-03-22 14:11 726 查看
问题描述:

由于电脑之前安装过win7+ubuntu,操作ubuntu时误删重要文件,导致重装ubuntu,由于不是经过正确途径卸载ubuntu(直接在win7自带磁盘管理工具中删除安装ubuntu的分区),结果用u盘安装ubuntu时,进行分区过程中无法识别出win7里已经分好的区,而是直接显示在整个硬盘上来分区。

中文网站里很多都是直接格式化整个硬盘之类,后来在一个英文网站里找到了解决方案。

http://gparted.org/h2-fix-msdos-pt.php

发现根本原因是,磁盘分区时出现错误,使得最后一个拓展分区越界了,使得硬盘分区的容量超过了硬盘实际容量(真不可思议吧!!!),使得ubuntu根本无法识别硬盘各个分区了。

发现错误点:

在终端输入命令

parted /dev/sda ##sda为所系统所在硬盘

接着输入 print

不出意外的话,会出现"Error:Can't have a partition outside the disk"==》这就是问题根本所在

将该error google下终于找到了解决方案

第一步,在终端输入命令

sudo fdisk -l -u /dev/sda ##查看硬盘分区情况,查看该硬盘的分区情况,之后请仔细查看各个分区的边界情况,看是否有越界

比如:

$ sudo fdisk -l -u /dev/sda

Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders, total 117210240 sectors  -->  注意这里是总的硬盘容量
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b2d37

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63    81922347    40961142+   7  HPFS/NTFS/exFAT
/dev/sda2        81915435   117210239    17647402+   5  Extended    --->这个拓展分区的终端居然超过了总容量,这就是问题所在
/dev/sda5        81915498    98494514     8289508+  83  Linux
/dev/sda6        98494578    99008594      257008+  82  Linux swap / Solaris
/dev/sda7        99008658   115394894     8193118+   b  W95 FAT32


第二步,将该值修改为正确的值

以这里为例,我们需要将该End值设置为 117210240 - 1 = 117210239 ,那么其对应的大小则应该为End - Start + 1 = 117210239 - 81915435 + 1 = 35294806 ->注意该值,下面用到

将该盘的分区信息用文本保存下来

$ sudo sfdisk -d /dev/sda > sda-backup.tx

然后用编辑器打开(可以用vi),得到分区信息:

可以肯定,/dev/sda2的size应该超过了 35294806 ,那么将该值修改为 35294806

然后将分区信息重新写会

$ sudo sfdisk /dev/sda < sda-backup.txt


第三步,验证

重新输入 sudo parted /dev/sda

输入print

不出意外的话,你应该可以看到该盘的分区信息了,而不会出现前面那个错误提示了

第四步,恭喜你可以重新安装ubuntu,而不损坏你以前的win7分区了,直接进入ubuntu的安装而得到久违分区
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐