(已解决)GRUB启动不能认后面的分区,help
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 6
- 注册时间: 2008-11-15 19:08
(已解决)GRUB启动不能认后面的分区,help
我是05年的HP-NX6120笔记本(256M+512M的内存,512M内存是买机时加的),为了装上ubuntu,支持WINXP的双操作系统,特意将机器的40G硬盘换成160G的硬盘,担心BIOS不支持137G以上的硬盘,上HP网站更换最新的BIOS。分区如下:
hd(0,1):20G NTFS WINXP
hd(0,5):30G fat32
hd(0,6):30G fat32
hd(0,7):30G fat32
Hd(0,8):22G ext3 \home
hd(0,9):21G ext3 \
hd(0,10):1G swap
hd(0,3):780M ext3 \boot
先将WINXP装上,然后通过ubuntu光碟在后面的分区装上ubuntu,硬盘后面几个分区都在ubuntu安装时,手动设置的,为了不影响WINXP的MBR,我的GRUB装在\boot分区。重启进入WINXP,修改boot.ini文件加上c:\grldr=Ubuntu保存,下载 grub4dos-0.4.3,拷下里面的grldr到C盘的根目录,再自己编写menu.lst文件,文件内容如下:
title ubuntu
root (hd0,3)
chainloader +1
保存后重启机器,可以在开机时看到操作系统选择菜单,选择Ubuntu,进入了grub启动界面,回车。这时问题就产生了,运行到屏幕出现:root (hd0,3),系统产生警告,说分区表不能识别,提示用msdos下的fdisk工具分区重做分区。警告一般是可以不理会的,系统自动执行下去,报出BIOS不能读出超过最大硬盘扇区的数据。估计是137G的限制。
我的这烂机器,光驱平时没有怎么用,现在时灵时不灵,可能是我的环境太恶劣(烟不离手:)),想找个同事的光驱来替代,IBM的光驱不能用在HP的机器上,晕~。烦请大家来帮忙,再重新分区装到硬盘前面去,这个办法就免了,我可不想再忍受这烂光驱去装机了,指点一下,不用再装系统,让两个系统跑起来。
hd(0,1):20G NTFS WINXP
hd(0,5):30G fat32
hd(0,6):30G fat32
hd(0,7):30G fat32
Hd(0,8):22G ext3 \home
hd(0,9):21G ext3 \
hd(0,10):1G swap
hd(0,3):780M ext3 \boot
先将WINXP装上,然后通过ubuntu光碟在后面的分区装上ubuntu,硬盘后面几个分区都在ubuntu安装时,手动设置的,为了不影响WINXP的MBR,我的GRUB装在\boot分区。重启进入WINXP,修改boot.ini文件加上c:\grldr=Ubuntu保存,下载 grub4dos-0.4.3,拷下里面的grldr到C盘的根目录,再自己编写menu.lst文件,文件内容如下:
title ubuntu
root (hd0,3)
chainloader +1
保存后重启机器,可以在开机时看到操作系统选择菜单,选择Ubuntu,进入了grub启动界面,回车。这时问题就产生了,运行到屏幕出现:root (hd0,3),系统产生警告,说分区表不能识别,提示用msdos下的fdisk工具分区重做分区。警告一般是可以不理会的,系统自动执行下去,报出BIOS不能读出超过最大硬盘扇区的数据。估计是137G的限制。
我的这烂机器,光驱平时没有怎么用,现在时灵时不灵,可能是我的环境太恶劣(烟不离手:)),想找个同事的光驱来替代,IBM的光驱不能用在HP的机器上,晕~。烦请大家来帮忙,再重新分区装到硬盘前面去,这个办法就免了,我可不想再忍受这烂光驱去装机了,指点一下,不用再装系统,让两个系统跑起来。
上次由 youngblazer 在 2008-11-16 4:36,总共编辑 1 次。
- adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
Re: GRUB启动不能认后面的分区,help
写成类似这样的试试
这个方式直接用grub4dos引导ubuntu,也就是说你装在hd(0,3)上的gnu grub没用了,不管它
只需把内核换成你的title Ubuntu
root (hd0,3)
kernel /vmlinuz-2.6.24-21-generic root=/dev/sda4 ro quiet
initrd /initrd.img-2.6.24-21-generic
quiet
这个方式直接用grub4dos引导ubuntu,也就是说你装在hd(0,3)上的gnu grub没用了,不管它
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
-
- 帖子: 6
- 注册时间: 2008-11-15 19:08
Re: GRUB启动不能认后面的分区,help
adagio,刚刚试了你的方法,不行啊,报出来的错误还是同以前一样的,我把信息抄下来了
warning: uncognized partition table for driver 80,please rebuild it using a microsoft-compatible FDISK tool(err=26),current C/H/S=16383/240/63
root(hd0,3)
error: selected cylinder exeeds maximum supported by BIOS
难道05年的机器真的不能支持大硬盘吗?郁闷了
warning: uncognized partition table for driver 80,please rebuild it using a microsoft-compatible FDISK tool(err=26),current C/H/S=16383/240/63
root(hd0,3)
error: selected cylinder exeeds maximum supported by BIOS
难道05年的机器真的不能支持大硬盘吗?郁闷了
- adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
Re: GRUB启动不能认后面的分区,help
奇怪,我的也是05年买的,没问题啊,你什么芯片组?很老的?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
-
- 帖子: 6
- 注册时间: 2008-11-15 19:08
Re: GRUB启动不能认后面的分区,help
不算老吧,是05年的新机器,915的芯片,问题应该还是发生在这块新硬盘上,日立160G IDE接口的硬盘换新原来富士通的40G硬盘
你的机器是跟我一样的型号吗?
你的机器是跟我一样的型号吗?
- adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
Re: GRUB启动不能认后面的分区,help
不是,我台式的,320G都没问题,915肯定也没问题,比我的还新
我觉得可能你是分区表的问题,你怎么分的?
我觉得可能你是分区表的问题,你怎么分的?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
-
- 帖子: 53
- 注册时间: 2008-10-21 16:09
Re: GRUB启动不能认后面的分区,help
grub4dos-0.4.4试试.
-
- 帖子: 249
- 注册时间: 2007-11-06 13:56
Re: GRUB启动不能认后面的分区,help
错误。。。grub 是从hd0,0算起的。
主分区。hd0,0 hd0,1 hd0.2
逻辑分区。 hd0,4 hd 0,5........
看你的。试一下。
title Ubuntu 8.04.1 --2.6.24-21 new320
root (hd0,2)
kernel /boot/vmlinuz-2.6.24-21-generic root=/dev/sdb3 ro quiet splash
initrd /boot/initrd.img-2.6.24-21-generic
quiet
hd0,2 这个要去试。在1,2 中试一下。。sdb3 这个也要去试。2。3。4 去试!
vmlinuz-2.6.24-21 initrd.img-2.6.24-21这两个要与你的ubuntu中的版本一样!
主分区。hd0,0 hd0,1 hd0.2
逻辑分区。 hd0,4 hd 0,5........
看你的。试一下。
title Ubuntu 8.04.1 --2.6.24-21 new320
root (hd0,2)
kernel /boot/vmlinuz-2.6.24-21-generic root=/dev/sdb3 ro quiet splash
initrd /boot/initrd.img-2.6.24-21-generic
quiet
hd0,2 这个要去试。在1,2 中试一下。。sdb3 这个也要去试。2。3。4 去试!
vmlinuz-2.6.24-21 initrd.img-2.6.24-21这两个要与你的ubuntu中的版本一样!
-
- 帖子: 249
- 注册时间: 2007-11-06 13:56
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: GRUB启动不能认后面的分区,help
有可能是 aoskas 说的问题。 (hd0,3) 是第四主分区。第三主分区应该是 (hd0,2)
如果你的 bios 没有 137g 限制的话,简单地把 c:\menu.lst 删除就行了,grub4dos 自然会找到并使用 /boot 分区下的 menu.lst
如果你的 bios 有问题,把 /boot 分区的东西统统拷贝到 xp 分区里 c:\boot 然后修改 c:\boot\grub\menu.lst 把 root (hd0,x) 改成 root (hd0,0) ,把所有的 /vmlinuz... 和 /initrd... 改成 /boot/vmlinuz... 和 /boot/initrd... 就行了。
如果你的 bios 没有 137g 限制的话,简单地把 c:\menu.lst 删除就行了,grub4dos 自然会找到并使用 /boot 分区下的 menu.lst
如果你的 bios 有问题,把 /boot 分区的东西统统拷贝到 xp 分区里 c:\boot 然后修改 c:\boot\grub\menu.lst 把 root (hd0,x) 改成 root (hd0,0) ,把所有的 /vmlinuz... 和 /initrd... 改成 /boot/vmlinuz... 和 /boot/initrd... 就行了。
上次由 billbear 在 2008-11-16 8:54,总共编辑 1 次。
-
- 帖子: 6
- 注册时间: 2008-11-15 19:08
Re: GRUB启动不能认后面的分区,help
我的分区情况,刚才用分区魔法师在WINXP下做了一个图,发上来大家看看,如果还没有办法,打算在D盘下分个小区,将/boot分区转移过去
-
- 帖子: 6
- 注册时间: 2008-11-15 19:08
Re: GRUB启动不能认后面的分区,help
billbear,按你的方法我做了一下,没有成功
通过Ubuntu光盘启动系统,进入后,在/分区下的/boot文件夹中没有发现任何东西,估计是我指定了sda3为/boot挂载点,同时grub安装点也在此分区,然后进入sda3盘发现了/grub文件夹,将其拷入c盘根目录下,再将initrd.img-2.6.27-7-generic,vmlinuz-2.6.27-7-generic这两个文件也拷入c盘根目录下。修改menu.lst文件,修改内容如下:
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,0) #自己偷偷改回了,不再是hd(0,0) 细心是多么的重要!
#uuid 8629d368-11ec-4ded-80c2-1407d1be4375
kernel /vmlinuz-2.6.27-7-generic root=/dev/sda9 ro quiet
#kernel /vmlinuz-2.6.27-7-generic root=UUID=49cb1eb7-8057-41f1-8168-a2f39d9aa48c ro ROOTFLAGS=sync quiet splash
initrd /initrd.img-2.6.27-7-generic
quiet
#title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
#root (hd0,0)
#uuid 8629d368-11ec-4ded-80c2-1407d1be4375
#kernel /vmlinuz-2.6.27-7-generic root=UUID=49cb1eb7-8057-41f1-8168-a2f39d9aa48c ro ROOTFLAGS=sync single
#kernel /vmlinuz-2.6.27-7-generic root=/dev/hda9 ro ROOTFLAGS=sync single
#initrd /initrd.img-2.6.27-7-generic
#title Ubuntu 8.10, memtest86+
#root (hd0,0)
#uuid 8629d368-11ec-4ded-80c2-1407d1be4375
#kernel /memtest86+.bin
#quiet
--------------------------------------------------
uuid,在光驱启动ubuntu下使用ls -l /dev/sda by-uuid查看到49cb1eb7-8057-41f1-8168-a2f39d9aa48c 为sda9的编号,8629d368-11ec-4ded-80c2-1407d1be4375为sda3.
重新启动机器,进入选择项,选择进入ubuntu后,警告提示分区表不能识别,系统报错,错误为12号
通过Ubuntu光盘启动系统,进入后,在/分区下的/boot文件夹中没有发现任何东西,估计是我指定了sda3为/boot挂载点,同时grub安装点也在此分区,然后进入sda3盘发现了/grub文件夹,将其拷入c盘根目录下,再将initrd.img-2.6.27-7-generic,vmlinuz-2.6.27-7-generic这两个文件也拷入c盘根目录下。修改menu.lst文件,修改内容如下:
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,0) #自己偷偷改回了,不再是hd(0,0) 细心是多么的重要!
#uuid 8629d368-11ec-4ded-80c2-1407d1be4375
kernel /vmlinuz-2.6.27-7-generic root=/dev/sda9 ro quiet
#kernel /vmlinuz-2.6.27-7-generic root=UUID=49cb1eb7-8057-41f1-8168-a2f39d9aa48c ro ROOTFLAGS=sync quiet splash
initrd /initrd.img-2.6.27-7-generic
quiet
#title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
#root (hd0,0)
#uuid 8629d368-11ec-4ded-80c2-1407d1be4375
#kernel /vmlinuz-2.6.27-7-generic root=UUID=49cb1eb7-8057-41f1-8168-a2f39d9aa48c ro ROOTFLAGS=sync single
#kernel /vmlinuz-2.6.27-7-generic root=/dev/hda9 ro ROOTFLAGS=sync single
#initrd /initrd.img-2.6.27-7-generic
#title Ubuntu 8.10, memtest86+
#root (hd0,0)
#uuid 8629d368-11ec-4ded-80c2-1407d1be4375
#kernel /memtest86+.bin
#quiet
--------------------------------------------------
uuid,在光驱启动ubuntu下使用ls -l /dev/sda by-uuid查看到49cb1eb7-8057-41f1-8168-a2f39d9aa48c 为sda9的编号,8629d368-11ec-4ded-80c2-1407d1be4375为sda3.
重新启动机器,进入选择项,选择进入ubuntu后,警告提示分区表不能识别,系统报错,错误为12号
上次由 youngblazer 在 2008-11-16 4:32,总共编辑 1 次。
-
- 帖子: 6
- 注册时间: 2008-11-15 19:08
Re: GRUB启动不能认后面的分区,help
问题得到解决,非常感谢adagio,aoskas,billbear!
原因已找到,是我自己太粗心,将root (hd0,0)写成root hd(0,0)
我的机器问题还是存在的,虽然现在能够进入ubuntu,但是grub总是有警告说我的分区表不能识别,如果使用grub4dos在WINXP直接引导/boot分区的内容,还是找不到启动文件,是grub4dos不支持137G后的文件,还是BIOS本身有问题,不太清楚,但是在启动系统后可以访问137G后的内容,难道操作系统不是调用BIOS来访问硬盘的?废话少说, 还是拿上我的具体解决方法,如下:
修改WINXP根目录下的boot.ini文件,加上c:\grldr=Ubuntu保存,下载 grub4dos-0.4.3,拷下里面的grldr到C盘的根目录,将/boot分区下的initrd.img-2.6.27-7-generic,vmlinuz-2.6.27-7-generic这两个文件也拷入c盘根目录下再自己编写menu.lst文件
timeout 0
hiddenmenu
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,0)
kernel /vmlinuz-2.6.27-7-generic root=/dev/sda9 ro quiet
initrd /initrd.img-2.6.27-7-generic
quiet
---------------------------------------
#timeout设为0,因为WINXP会有一个启动选择菜单,选择ubuntu后,调用grldr读取 menu.lst又会再出现一个启动选择菜,有点重复,就设为直接启动,hiddenmenu项为菜单隐藏。kernel /vmlinuz-2.6.27-7-generic root=/dev/sda9 ro quiet 中的sda9为你的ubuntu的根分区,8.10的用户要使用命令查找UUID,如果知道也不用查
原因已找到,是我自己太粗心,将root (hd0,0)写成root hd(0,0)
我的机器问题还是存在的,虽然现在能够进入ubuntu,但是grub总是有警告说我的分区表不能识别,如果使用grub4dos在WINXP直接引导/boot分区的内容,还是找不到启动文件,是grub4dos不支持137G后的文件,还是BIOS本身有问题,不太清楚,但是在启动系统后可以访问137G后的内容,难道操作系统不是调用BIOS来访问硬盘的?废话少说, 还是拿上我的具体解决方法,如下:
修改WINXP根目录下的boot.ini文件,加上c:\grldr=Ubuntu保存,下载 grub4dos-0.4.3,拷下里面的grldr到C盘的根目录,将/boot分区下的initrd.img-2.6.27-7-generic,vmlinuz-2.6.27-7-generic这两个文件也拷入c盘根目录下再自己编写menu.lst文件
timeout 0
hiddenmenu
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,0)
kernel /vmlinuz-2.6.27-7-generic root=/dev/sda9 ro quiet
initrd /initrd.img-2.6.27-7-generic
quiet
---------------------------------------
#timeout设为0,因为WINXP会有一个启动选择菜单,选择ubuntu后,调用grldr读取 menu.lst又会再出现一个启动选择菜,有点重复,就设为直接启动,hiddenmenu项为菜单隐藏。kernel /vmlinuz-2.6.27-7-generic root=/dev/sda9 ro quiet 中的sda9为你的ubuntu的根分区,8.10的用户要使用命令查找UUID,如果知道也不用查