无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5797|回复: 3
打印 上一主题 下一主题

grub如何找到U盘的其他分区?

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-23 15:39:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
32G U盘 用diskgenius3.0按HDD方式分为4个主分区:第1个:Fat16文件系统1G,用于安装多功能dos和WinPE,为活动分区;第2个:256M的Swap交换分区;第3个:10G的Ext3 Ubuntu 8.10 根分区;第4个:19G的ntfs分区存放数据。MBR为Ubuntu安装的Grub,暂且称作G0,第1分区的起始扇区(即63扇区,内有DBR)安装grub,暂且称作G1。

电脑:A:用U盘启动后,显示A盘;B、C:用U盘启动后,显示C盘,B为台式机,C为笔记本。

将此U盘启动:A直接启动到G1选择界面,此时能启动DOS和WinPE,不能启动Ubuntu,进入DOS后加载Grub.exe文件(位于第1分区根目录中)然后能启动WinPE,仍然不能启动Ubuntu,和DOS的镜像文件,此时,电脑提示:找不到文件!或者提示:无效的设备需求!此时电脑B、C均能正常启动G0,加载Ubuntu,还能进入DOS,此时,B不能运行ghost.exe文件,C完全正常。

更改U盘的第1分区为非活动分区,第3分区为活动分区时:A能够启动到G0,进而启动Ubuntu,也能启动DOS,但是不能启动WinPE和DOS镜像,进入DOS后可顺利运行WinPE、ghost、ntfspro和Grub,进入这个grub后可启动WinPE,但是不能启动Ubuntu和DOS镜像。这时,B完全不能启动!C启动完全正常。

因此,我认为当第1分区为活动分区时,Grub不能识别U盘后面的分区,如何才能让Grub识别U盘的全部分区呢?!我认为只有grub识别U盘的全部分区后才能正常运行Ubuntu!或者想法让G1(63扇区的grub )去引导G0(MBR里的Grub),然后通过G0也可以引导Ubuntu!

等待高手解决!万分感谢!!





附3个Grub调用的配置文件:说明G2是进入DOS后运行的第1分区根目录里的 Grub

G0调用的文件配置:
default  0
timeout  10

title
Ubuntu 8.10, kernel 2.6.27-7-generic

uuid  7defe0fc-b542-4ab4-9dc7-2151ea8c7078
kernel  /boot/vmlinuz-2.6.27-7-generic root=UUID=7defe0fc-b542-4ab4-9dc7-2151ea8c7078 ro locale=zh_CN quiet splash
initrd  /boot/initrd.img-2.6.27-7-generic
quiet

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sdb1
title  FreeDos
root  (hd0,0)
savedefault
chainloader +1


G1调用的文件配置:
default 0
timeout 15
color yellow/blue

title Windows PE
find --set-root /WINPE/ClangPE
chainloader /WINPE/WINXP.LDR

title Free Dos
find --set-root /kernel.sys
chainloader /kernel.sys

title Boot Ubuntu 8.10
rootnoverify (hd0,2)
makeactive
chainloader +1


G2调用的文件配置:
default  0
timeout  10

title  Ubuntu 8.10, kernel 2.6.27-7-generic 1
uuid  7defe0fc-b542-4ab4-9dc7-2151ea8c7078
kernel  /boot/vmlinuz-2.6.27-7-generic root=UUID=7defe0fc-b542-4ab4-9dc7-2151ea8c7078 ro locale=zh_CN quiet splash
initrd  /boot/initrd.img-2.6.27-7-generic
quiet

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sdb1
title  Microsoft Dos and Win PE
root  (hd0,0)
savedefault
chainloader +1

title Windows PE
find --set-root /WINPE/ClangPE
chainloader /WINPE/WINXP.LDR

title  Dos镜像
find --set-root /dos.img
map --mem /dos.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1

title 运行 Grub
commandline

title 重启电脑
reboot

title 关机
halt

[ 本帖最后由 wy_asdfg 于 2009-1-23 17:17 编辑 ]

启动流程.jpg (70.72 KB, 下载次数: 62)

A电脑启动流程

A电脑启动流程
2#
发表于 2009-1-23 16:53:39 | 只看该作者
主板bios的问题,和grub没多大关系。

在多数情况下,bios对多分区u盘的启动支持很不好。因为连windows都不支持多分区u盘,以至于bios开发商往往会在开发时忽略多分区u盘。

点评

我是用的移动硬盘,想用grub从移动硬盘第二个分区启动,加了一句unhide(hd0,1)就说device找不到,也是这个原因吗?  详情 回复 发表于 2013-9-29 21:17
回复

使用道具 举报

3#
 楼主| 发表于 2009-1-23 17:05:26 | 只看该作者

回复 #2 fujianabc 的帖子

非常感谢!
为何把第3分区设为活动分区时,A电脑可以识别所有分区,并启动Ubuntu呢?而此时,B电脑却不能启动!是不是我的Menu.lst文件配置错误啊?因为我是新手,虽然恶补了10余天这方面的知识,试验了不下千万次的重启电脑,仍然无法启动!我现在非常懊恼!
感谢回复,感谢帮助!
回复

使用道具 举报

4#
发表于 2013-9-29 21:17:52 | 只看该作者
fujianabc 发表于 2009-1-23 16:53
主板bios的问题,和grub没多大关系。

在多数情况下,bios对多分区u盘的启动支持很不好。因为连windows都 ...

我是用的移动硬盘,想用grub从移动硬盘第二个分区启动,加了一句unhide(hd0,1)就说device找不到,也是这个原因吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 02:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表