|
unix
新手上路
积分 12
发帖 4
注册 2005-11-4
状态 离线
|
『楼 主』:
求教grub的配置
我用ghost在c盘克隆一个win98系统(fat32)(老爷机,实属无奈),之后又在d盘上用ghost克隆了一个win2000(ntfs)系统,只能引导windows98。然后安装了grub for dos,在menu.lst中写引导信息,内容如下:
title windows 98
root (hd0,0)
chainloader +1
title windows 2000
root (hd0,1)
chainloader +1
结果还是只能启动win98,无法启动win2000,请问下我的menu.lst内容错在什么地方,不胜感激!
[ Last edited by unix on 2006-5-17 at 09:44 ]
|
|
2006-5-17 09:31 |
|
|
fujianabc
金牌会员
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
|
2006-5-17 10:38 |
|
|
unix
新手上路
积分 12
发帖 4
注册 2005-11-4
状态 离线
|
『第
3 楼』:
d盘不是主分区,是逻辑分区,c盘是主分区。
|
|
2006-5-17 11:05 |
|
|
unix
新手上路
积分 12
发帖 4
注册 2005-11-4
状态 离线
|
|
2006-5-17 13:55 |
|
|
fujianabc
金牌会员
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
『第
5 楼』:
逻辑分区不能直接启动win2000的,把他转成主分区再说。
|
|
2006-5-17 14:00 |
|
|
tinybit
初级用户
积分 137
发帖 57
注册 2005-9-29
状态 离线
|
『第
6 楼』:
你克隆来克隆去的,倒是很方便。但是克隆的结果,就是操作系统失去引导能力。虽然文件没有丢失,但是,微软的操作系统都是从主分区启动的,从逻辑分区可不容易启动成功,但是…………
你可以试试 GRUB4DOS 的启动能力:
find --set-root /ntldr
chainloader /ntldr
boot
幸运的话,这有可能会启动你的逻辑盘上的 NT 系统。
类似的,以下命令应该也有可能启动逻辑盘上的 DOS/Win9x 系统:
find --set-root /io.sys
chainloader /io.sys
boot
应该使用较新版本的 GRUB4DOS(0.4.1或者更新的),否则,无此功能。
|
|
2006-5-17 15:22 |
|
|
asbai
高级用户
积分 653
发帖 252
注册 2006-4-16
状态 离线
|
『第
7 楼』:
还有一个问题,你的w2k映像如果当时是从第一分区抓出来的,你现在把他恢复到第二分区,即使这个分区是主分区也不见得能正常运行。windows是认安装分区的。
同理把98和2k的分区倒过来也有问题,而且98还有一个额外的问题:不支持在启动硬盘上出现多余一个的主分区。
这个问题可以用SPFDisk(这是一个开源,免费的boot manager+fdisk)解决:
1. 将2k装到第一分区(主)
2. 将98装到第二分区(主)
3. 剩余的空间做扩展分区,里面分逻辑分区
4. 运行SPFDisk,SPFDisk用全中文TUI菜单操作
5. 建立第一个开机选单 Windows2000,从第一分区启动
6. 建立第二个开机选单 Windows 98,从第二分区启动
7. 在进阶设定中关闭 Windows2000 自动隐藏同类分区功能
8. 安装到MBR
这样98启动时,SPFDisk就会自动隐藏 W2k所在分区,貌似98是唯一的一个主分区。2k启动时自己是在第一主分区,2k允许多主分区,所以无妨。
若为保险起见,第7步完成后可以在手动设置一下启动98时隐藏2k的分区,这就万无一失了。
SPFDisk在这里下载:http://spfdisk.sourceforge.net/
当然用grub4dos也可以实现类似功能,同样需要把它安装到MBR(因为第一分区有时会被隐藏,所以不能把它安装到ntldr下!),并把grub目录放置在第二分区中(第二分区永远不会被隐藏,可以安心放置)。其余步骤逻辑与前文一致,不过改由grub命令完成。
|
|
2006-5-17 16:32 |
|
|
fujianabc
金牌会员
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
『第
8 楼』:
Quote: | Originally posted by tinybit at 2006-5-17 03:22 PM:
你克隆来克隆去的,倒是很方便。但是克隆的结果,就是操作系统失去引导能力。虽然文件没有丢失,但是,微软的操作系统都是从主分区启动的,从 ... |
|
不点,你直接用grub虽能加载ntldr,但我曾经试过,ntldr不会搜寻逻辑分区下的boot.ini的,因此这样还是不行的。
|
|
2006-5-17 17:55 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2006-5-17 19:08 |
|
|
tinybit
初级用户
积分 137
发帖 57
注册 2005-9-29
状态 离线
|
『第
10 楼』:
那就只好再加上磁盘仿真这一招了,这样使用方法,应当不会再有失败了(如果失败,可以报告 BUG)。我们的 map 可以把逻辑分区仿真为一个(含有MBR的)硬盘,因此,实际上也就是把逻辑分区当作主分区来用了。注意,第一个逻辑分区应当是 (hd0,4) 而不是 (hd0,1),后者是第二个主分区。楼主似乎已经把这个搞错了,因此楼主的菜单项目可以先更正一下试试再说。
map (hd0,4)+1 (hd0)
map --hook
find --set-root /ntldr
chainloader /ntldr
boot
如果仅仅是因为 NTLDR 启动后不能从逻辑盘找到 BOOT.INI 文件,那么也没必要仿真,而是可以直接把 D: 盘上的 BOOT.INI 拷贝一份到 C: 盘即可。
[ Last edited by tinybit on 2006-5-18 at 07:38 ]
|
|
2006-5-17 19:19 |
|
|
asbai
高级用户
积分 653
发帖 252
注册 2006-4-16
状态 离线
|
『第
11 楼』:
磁盘仿真显然会影响文件系统的IO效率,不宜作为日常系统的基础应用。
|
|
2006-5-17 21:35 |
|
|
unix
新手上路
积分 12
发帖 4
注册 2005-11-4
状态 离线
|
『第
12 楼』:
首先要感谢楼上的所有朋友,问题自己已经解决,实际上我把这个问题给复杂化了。昨天晚上,到朋友的家里去了一趟,看了一下他的计算机,他的和我一样是多系统,(98 Xp RedhatLinux UbuntuLinux),首先查了下分区属性,朋友的计算机也是98在C盘,XP在D盘,用PQ分析发现,C盘是主引导活动分区,D盘是逻辑分区。由此可以推测,我的计算机也不需要改变分区属性,只需要改动的是硬盘的MBR,单纯地将boot.ini ntldr ntdetect.com bootfont.bin pagefile.sys拷到C盘是不行的,用grub启动不成功的原因也正基于此。首先要改动MBR,手头又没有win2000的安装盘,只有XP的安装盘,xp和引导是否和2000的引导一样了,报着试的态度,将XP的安装盘来引导系统,出现安装信息,拷贝安装文件,只到重新启动,此时从光驱中拿出光盘,从硬盘启动,出现XP和98的引导菜单,进入98,找到boot.ini,将引导菜单中的multi(0)disk(0)rdisk(0)partition(2)\WINDOWS替换成winnt,保存重启,引导成功。
再次感谢楼上的所有朋友,感谢大家对我帮助!喜欢DOS联盟这个温暖的大家庭!
另外qwe1234567兄弟,win2000的ghost系统来自于系统之家。www.xtzj.com
|
|
2006-5-18 09:40 |
|
|
zjnbwdj
中级用户
积分 300
发帖 137
注册 2005-11-4
状态 离线
|
『第
13 楼』:
Quote: | Originally posted by fujianabc at 2006-5-17 14:00:
逻辑分区不能直接启动win2000的,把他转成主分区再说。 |
|
是这样的吗?我的2000在逻辑分区却用的好好的.
|
|
2006-5-18 11:04 |
|
|
fujianabc
金牌会员
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
『第
14 楼』:
Quote: | Originally posted by zjnbwdj at 2006-5-18 11:04 AM:
是这样的吗?我的2000在逻辑分区却用的好好的. |
|
我说的是逻辑分区不能做2000/xp的启动分区,但是逻辑分区可以作为2000/xp的系统分区。
|
|
2006-5-18 11:11 |
|
|
不得不爱
超级版主
我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2006-5-23 13:24 |
|