|
guanhai
初级用户
积分 62
发帖 23
注册 2007-1-17
状态 离线
|
『楼 主』:
[求助]关于grub4dos启动多系统
我今天做了这么一个尝试
硬盘上分了3个主分区,分别安装windows 2000专业版,我把它们称为2k1、2k2 和 2k3
我准备用grub管理这3个2k的启动
想要的效果是
进入2k1,2k2和2k3 自动隐藏
进入2k2,2k1和2k3 自动隐藏
进入2k3,2k1和2k2 自动隐藏
我把grldr放在第一个主分区的根目录下,并用bootlace 0x80使grldr通过mbr引导
启动机器后能正常显示grub菜单,我先进入第一个主分区上的2k1,进入后的确看不到第2个和第3个主分区;
然后重启机器通过grub菜单进入第二个主分区上的2k2,进入后,发现c盘符上的内容是第一个主分区的内容;
试到这里我知道自己没有找到真正能实现我的目标的办法,特此向各位朋友求教
谢谢
附menu.lst内容(该menu在三个主分区都是98的时候是有效的)
# Grub 0.95 中文版配置文件样例, by Gandalf(f22_storm@163.com)
# 2004 - 07 - 15 (midified 13:13 2004-11-13)
#
# 默认延迟时间(秒)
timeout 10
# 第一项为默认值
default 0
# 设置图形背景文件
splashimage (hd0,0)/boot/grub/xp2008.gz
# 设置中文支持的字体文件
fontfile (hd0,0)/boot/grub/fonts
# 从本地磁盘的第一个主分区启动
title 2k1
unhide (hd0,0)
hide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,0)
chainloader +1
makeactive
# 从本地磁盘的第二个主分区启动
title 2k2
unhide (hd0,1)
hide (hd0,0)
hide (hd0,2)
rootnoverify (hd0,1)
chainloader +1
makeactive
# 从本地磁盘的第三个主分区启动
title 2k3
unhide (hd0,2)
hide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,2)
chainloader +1
makeactive
title 系统维护工具
root (hd0,0)
kernel (hd0,0)/boot/grub/memdisk.gz c=274 h=2 s=18 floppy
initrd (hd0,0)/boot/grub/maxdos.img c=274 h=2 s=18 floppy
|
|
2007-3-22 09:37 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
2 楼』:
从你的菜单来看,似乎找不到什么错误。你这个菜单,用于 win98 估计没有问题。
最原始的 GNU grub 对 win98 是有一定的支持能力的,你在上面的菜单中所使用的所有命令(例如 unhide, hide, makeactive 等等),都是 GNU GRUB 所具有的。你没有用到 grub4dos 所作的任何扩展。
GNU GRUB 对 win98 来说可能有效,但开发此功能的人当时还没有见到 win2000 的影子,不可能试验 win2000 下有无问题。
--------------
我觉得其技术的关键在于,win2000 是如何确定一个 C 盘的。
win98 大概是这样确定的:主分区表中 “活动的”(active)分区为 C 盘,其他盘为 D: E: 等等。
从你的描述来看,win2000 与此不同(或者说是不兼容):它不管分区的“活动”标志,而把排列在前面的分区当作 C 了。
---------------------
grub4dos 是我们大家的,我们完全可以解决这个问题。稍后,我可能要为 grub4dos 增加某些功能,比如说,提供重新排列分区表的功能,以便解决此问题。
谢谢你的深度报道。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2007-3-22 11:44 |
|
|
chenall
银牌会员
积分 1276
发帖 469
注册 2002-12-23 来自 福建泉州
状态 离线
|
『第
3 楼』:
已经在时空论坛回复了.
是由于GHOST引起的.
由于GRUB隐藏的硬盘在WINDOWS 2000下是可以使用的,只是默认未分配盘符(其它系统比如XP中是无法使用的)
你之前的系统直接GHOST到第二个主分区,启动后系统还是读取原来的C盘.
只须让系统重新分配盘符即可.
Quote: | 不需要修改BOOT.INI的.
其实在GHOST之前做好以下这一步就可以了.
删除注册表中硬盘分区的分配.方法如下:
删除以下注册表中的内容.之后再GHOST(重启之后会自动重建的)
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
至于BOOT.INI的内容.GHOST会自动处理. |
|
试试吧,因为我之前做GHOST系统时就遇到了这个问题.通过以上方法可以解决.
祝您好运!
|
QQ:366840202
http://chenall.net |
|
2007-3-22 12:57 |
|
|