win7 访问 linux 分区,【解决方法】安装Win7和linux双系统后,linux报错“无法分配所提交的分区 not enough free space on disks”问题,以及win7...

近日,在笔记本上重装了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)

69c5a8ac3fa60e0848d784a6dd461da6.png

# grub.conf generated by anaconda

#

# Note that youdo not have to rerun grub after making changes to thisfile

# NOTICE: You have a/boot partition. This means that

# all kernel and initrd paths are relative to/boot/, eg.

# root (hd0,3)

# kernel/vmlinuz-version ro root=/dev/sda8

# initrd/initrd-[generic-]version.img

#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,3)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.32-220.el6.i686)

root (hd0,3)

kernel/vmlinuz-2.6.32-220.el6.i686 ro root=UUID=26dcce44-86db-435f-9601-5384e379f341 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD quiet rhgb crashkernel=auto LANG=zh_CN.UTF-8rd_NO_LVM rd_NO_DM

initrd/initramfs-2.6.32-220.el6.i686.img

title win7

rootnoverify (hd0,0)

chainloader+1

69c5a8ac3fa60e0848d784a6dd461da6.png

发现:

1  CentOS(2.6.32-220.e16.i686   :

【root

(hd0,3)】:启动分区是第一个硬盘(hd0)的第四个分区(序号从0开始),默认启动项,延时5秒 。

2  Win7

:     【rootnoverify

(hd0,0)】:启动分区时第一个硬盘的第一个分区。问题的所在!!!!!!

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

69c5a8ac3fa60e0848d784a6dd461da6.png

Device Boot Start End Blocks Id System/dev/sda1 1 13 102400 17 Hidden HPFS/NTFS

Partition1does not end on cylinder boundary./dev/sda2 * 13 6540 52429126 7 HPFS/NTFS/dev/sda3 6541 59496 425369070 5Extended/dev/sda4 59497 59627 1051648 83Linux/dev/sda5 6541 19595 104864256 7 HPFS/NTFS/dev/sda6 19596 32650 104864256 7 HPFS/NTFS/dev/sda7 32651 47792 121628083+ 7 HPFS/NTFS/dev/sda8 47793 50403 20972826 83Linux/dev/sda9 50404 54320 31463271 83Linux/dev/sda10 54452 59496 40523931 82 Linux swap /Solaris/dev/sda11 54321 54451 1049600 83 Linux

69c5a8ac3fa60e0848d784a6dd461da6.png

可以看到:

硬盘的第四个分区(设备名称: /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,恢复正常。

原文:http://www.cnblogs.com/tangxun/p/3521936.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值