近日,在笔记本上重装了Win7 企业版(64位)后,想装个linux双系统,于是开始安装 centOS 6.2(光盘安装)

硬盘分了一个主分区(c盘),一个扩展分区(3个逻辑分区:d,e,f盘),然后留出了100多G的未分配空间给linux。 c盘上装的是Win7。

安装linux,进行到磁盘分区时,发现只能创建一个linux挂载盘(分区),创建了“/”,就无法再创建其他的诸如“/boot,  /home, swap...”,

总是报错提示“无法分配所提交的分区 not enough free space on disks”, 这里,磁盘空间不足肯定不是原因所在,于是上网查了一下,恍然大悟:

现今规格的硬盘只支持4个主分区,还有,目前的笔记本,或者说目前市面上的硬盘厂家都预留一个100M的主分区(隐藏分区),

这样的话,拿我的硬盘来说:

1, 100M预留主分区(隐藏)

2,  c盘主分区 (win7系统)

3,  扩展分区(扩展分区也是主分区的类别,d,e,f 盘)

4, 100多G (空闲,未分区)

已经有了3个主分区,那么就只能再有一个主分区了, 所以,linux安装时,只能创建一个主分区,再创建其他的,导致报错提示。

安装linux系统,最少要有2个主分区才行:一个给引导的挂载盘“/boot”,供启动引导用, 其他的像“/ , /home , swap...” 这些都可以挂载到扩展分区里,

这个扩展分区也占一个主分区名额,所以说 要2个才行。

可以这样解决(拿我的例子来说):

1, 把空闲的100多G空间,再划分成3个逻辑分区(分别对应到linux的“/, /home, swap"),这3个逻辑分区都隶属在硬盘里已经存在的扩展分区里。

然后,留出一小部分未分配空间(给linux的 “/boot”用)

(分区工具可以从网上下一个,推荐用Acronis Disk Director Suite 10,支持Win7下安装操作)

2, 继续linux安装,到分区步骤,创建分区(用剩余的未分配硬盘空间),挂载到 /boot, 强制为主分区

3,  编辑前面第一步划分出来的3个逻辑分区,设置挂载点,格式化等等,分别编辑设定为 “/,  /home , swap"

4,   这时观察一下分区表:有3个主分区(100M, win7c盘,/boot)和1个扩展分区(win7D盘,Win7E盘,/, /home, swap),正好4个, 可以继续安装了......

设置双启动菜单 win7 和 centOS,默认进linux系统。安装完linux后,重启,进入Win7,报错:

“BootMGR image is corrupt,the system Cannot boot”。

应该是Win7 或 linux的启动文件出错的原因,进入linux系统查看启动菜单文件(我的是centOS 6.2):

1, 打开终端,输入命令(使用root权限)

2, 【su -root】 (获得root权限)

3,   【cd /boot/grub】 (进入/boot/grub文件夹)

4, 【vi  menu.lst】(vi编辑器方式打开启动菜单文件 menu.lst)

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,)
# kernel /vmlinuz-version ro root=/dev/sda8
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=
timeout=
splashimage=(hd0,)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.-.el6.i686)
root (hd0,)
kernel /vmlinuz-2.6.-.el6.i686 ro root=UUID=26dcce44-86db-435f--5384e379f341 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD quiet rhgb crashkernel=auto LANG=zh_CN.UTF- rd_NO_LVM rd_NO_DM
initrd /initramfs-2.6.-.el6.i686.img
title win7
rootnoverify (hd0,)
chainloader +

发现:

1  CentOS(2.6.32-220.e16.i686   :     【root (hd0,3)】:启动分区是第一个硬盘(hd0)的第四个分区(序号从0开始),默认启动项,延时5秒 。 
2  Win7                                     :     【rootnoverify (hd0,0)】:启动分区时第一个硬盘的第一个分区。问题的所在!!!!!!

对照查看linux描述下的硬盘分区序列号(root 权限下,敲入命令 fdisk -l ),如下

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1 Hidden HPFS/NTFS
Partition does not end on cylinder boundary.
/dev/sda2 * HPFS/NTFS
/dev/sda3 Extended
/dev/sda4 Linux
/dev/sda5 HPFS/NTFS
/dev/sda6 HPFS/NTFS
/dev/sda7 + HPFS/NTFS
/dev/sda8 Linux
/dev/sda9 Linux
/dev/sda10 Linux swap / Solaris
/dev/sda11 Linux

可以看到:

硬盘的第四个分区(设备名称: /dev/sda4) 对应的是linux 的启动分区(/boot),正常;

对应关系:(hd0,3) -> (/dev/sda4)

而第一个分区(设备名称:/dev/sda1) 对应的却是预留的100M隐藏分区,而不是Win7的系统启动分区(/dev/sda2),所以启动不了Win7啦。

对应关系:(hd0,0) -> (/dev/sda1) 【错误】

应该是:(hd0,1) -> (/dev/sda2)

那么,问题就出在 linux的启动菜单文件menu.lst上,改一下就OK了,打开终端:

1, 【su -root】 (获得root权限)

2,   【cd /boot/grub】 (进入/boot/grub文件夹)

3, 【vi  menu.lst】(vi编辑器方式打开启动菜单文件 menu.lst)

4,  按【i】键,切换到输入编辑模式,修改倒数第2行代码为【rootnoverify (hd0,1)】

5,  按【esc】切回,敲入【:】到控制台程序,,输入【qw】,保存退出

重启电脑,分别进入linux 和 Win7,恢复正常。

【解决方法】安装Win7和linux双系统后,linux报错“无法分配所提交的分区 not enough free space on disks”问题,以及win7无法启动“BootMGR image is corrupt....”问题的更多相关文章

  1. windows和linux双系统删除linux

    装了Windows和linux双系统的朋友,在后期要删除linux是个比较头痛的问题,因为MBR已经被linux接管,本文的目的是如何在windows 和linux双系统下,简单,完美地卸载linux ...

  2. 安装ubuntu和windows双系统后,如何修改默认启动项

    在安装了Ubuntu16.04系统之后,系统会默认自启动Ubuntu16.04,而我们大多数情况下可能都在使用windows系统,不修改默认设置,不经意间便会启动了Ubuntu16.04,通过我的经历 ...

  3. 【原】安装Win7和Ubuntu双系统后,Win7耳机无声音的解决办法

    最近安装了Ubuntu的桌面版,作成了双系统,可是发现了一个问题:进入Win7后有时插耳机会没有声音,外放有声音.后来更新驱动也没有解决问题,最后在网上查到了解决办法. 产生原因:进入Ubuntu后, ...

  4. win7下装ubuntu双系统后无法进入win7的解决方法

    本来电脑的系统是win7,然后用u盘装了ubuntu之后可能会出现开机没有引导界面而直接进入ubuntu系统的情况. 原因:没有设置gurb引导 解决方法:需要更新gurb来使ubuntu识别出win ...

  5. 笔记本在安装Windows+Linux双系统后,进入Windows时花屏的解决办法

    问题:在笔记本安装双系统(Windows7+Ubuntu14.04)[先安装Windows,后安装Ubuntu]后,进入Windows时出现了花屏. 问题原因:笔记本只有集显,在系统启动时会先加载Ub ...

  6. XP下安装Centos 6.4 双系统 :Linux系统分区及挂载点,关键引导程序启动设置

    一.关于Linux的分区情况 虽然硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition ...

  7. win7 linux双系统删除linux

    本文内容收集自互联网,共两篇,中间以“分界线”进行分割. linux的卸载 一.win7与linux都使用grub来引导 卸载:不能直接删除ubuntu分区,这样会造成win7也启动不了 正确方法: ...

  8. 安装windows7和ubuntu双系统后引导项设置

    win7系统,U盘安装ubuntu,在选择[安装启动引导器的设备]时,1.如果你选择的是/dev/sda,即整个硬盘,他会将启动引导器使用grub进行系统引导,而不再使用windows loader, ...

  9. 解决方法:loadrunner 场景下执行webservice脚本是---报错10492 Error: Exception was raised when calling per-process-init function in extens

    在vug下执行时,脚本无异常,但是在controller下执行时报下面错误,网上查了下,解决方法千奇百怪,但无一可行. 分析了下错误,似乎是初始化进程有关.想到rts中的设置习惯时以线程方式执行. 遂 ...

随机推荐

  1. ECMAScript数组常用

    var arr = [22, 33, 44, 55, 66, 77, 88, 99]; //every 全部结果为true 则返回true var e = arr.every(function (m) ...

  2. KEGG数据库

    参考:KEGG数据库中文教程 - 博奥  &[学习笔记]KEGG数据库 - 微信 学习一个技能最主要的事情你必须知道,那就是能通过它来做什么? KEGG数据库里面有什么? 如何查询某一特定的代 ...

  3. ThinkPHP3.2.3使用cli命令行模式

    使用tp3.2.3的cli模式时,报错.加上绝对路径还是报错.所以采用普通模式 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require ...

  4. Android编译环境折腾记

    题记:感觉是时候写点什么了=_=! 第一次安装了ubuntu14.04.5,官网下载的iso,官网下的jar,编译android4.x需要安装jdk6,更高的版本会有问题,baidu到很多搭建环境的步 ...

  5. Python压缩

    ru=lambda x:x.decode('u8') rp=lambda x:x.replace('\\','/') gb=lambda x:x.decode('gbk') class ZIP: de ...

  6. [iOS]浅谈NSRunloop工作原理和相关应用

    一. 认识NSRunloop  1.1 NSRunloop与程序运行 那么具体什么是NSRunLoop呢?其实NSRunLoop的本质是一个消息机制的处理模式.让我们首先来看一下程序的入口——main ...

  7. 实现标记datagridview标题并导出Excel的功能

    最近在学习winform,国庆前被布置了一个小任务,好不容易大致做出来了,决定记录下来,以此加深印象. 先说下需求:这是一个导入话单标记后并导出的功能 1. 选择excel文件 2. 定义字段   日 ...

  8. Oracle TnsName问题记录

    在多次oracle服务器搭建过程中,经常遇到tnsname不正确的情况1.安装了client 这个时候XX/client/network/admin/中也有一个tnsname,而且在环境变量中,系统是 ...

  9. Java8新特性——接口的默认方法和类方法

    Java8新增了接口的默认方法和类方法: 以前,接口里的方法要求全部是抽象方法,java8以后允许在接口里定义默认方法和类方法: 不同的是: 默认方法可以通过实现接口的类实例化的对象来调用,而类方法只 ...

  10. SQL server 查询某个表在哪些存储过程(SP)中使用到

    1.查询某个表被哪些存储过程(以下简称 SP)使用到 : select distinct object_name(id) from syscomments where id in (select ob ...