中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-24 21:54
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » grub如何从扩展分区盘上引导系统? 查看 9,586 回复 27
16 发表于 2008-10-26 20:47 ·  中国 上海 普陀区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
今天顺便google一下又来这里了.偶一直想尝试如何在单硬盘环境逻辑分区安装windows系统并能与其它3个主分区上的windows系统相互独立互相不干扰通过grub来启动。

从这帖看来也许用map方式可以模拟实现或者使用grub加载
http://www.nu2.nu/bootdisk/ntboot/ ntldr启动盘,有空时真的得试试,现在真的有需求需要上四个独立的windows系统。汗
17 发表于 2008-10-27 11:24 ·  中国 河南 南阳 电信
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
dato,你尝试探索一下 map --in-situ 的功能,它的目的就是将一个逻辑分区模拟成一个主分区。
因为我们亲手创建,这个世界更加美丽。
18 发表于 2008-10-27 17:46 ·  德国 马克斯-普朗克等离子物理研究所
金牌会员
★★★★
积分 3,467
发帖 1,616
注册 2004-06-21 00:00
22年会员
UID 27148
状态 离线
windows安装的时候必须要有主分区,否则会拒绝继续安装。
装完之后,可以把主分区上的启动文件移至系统分区,并修改boot.ini,然后就可以用grub的map来启动逻辑分区上的windows了。
19 发表于 2008-10-27 20:01 ·  中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
在三主分区一扩展分区的环境.刚刚已经尝试了一下in-place,xp sp2系统是起来了但是在进入桌面之前提示rundll加载c:\windows\system32\mscories.dll出错,不确定吗桌面出不了,一确定桌面一出现就立马蓝屏.后来删除第三个主分区,换用in-situ仍然是一样的错误提示.不过好像用关键字"site:bbs.znpc.net/ situ"没提到修改boot.ini具体怎么改.

其实以前在三主分区的装法母盘都是在第一主分区生成的,今天才注意到原来在使用grub的hide隐藏其它分区的方式启动系统,但是系统仍然会自动按现有分区的排序顺序自动修改了multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

再重新分区试试看
20 发表于 2008-10-27 21:29 ·  中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
我不清楚是否成功而且可能很难描述这个问题.

在使用gdisk分区后如下所示,预先通过ghost发射系统到(hd0,2),(hd0,5),修改menu.lst添加
map --in-place (hd0,5)+1 (hd0)
find --set-root /ntldr
chainloader /ntldr
boot

想尝试启动(hd0,5)处的系统结果进去的都是(hd0,2)处系统,偶今天的一个很大的疑问就是这东东难道需要依赖(hd0,0)处的系统吗,后来就发射系统到(hd0,0)处,再次启动耶没问题,写的数据也都在(hd0,5)处.然后把(hd0,0)处的系统格式化掉又有问题了.那么(hd0,0)处的系统充当什么角色,除了使用磁盘工具写盘外,这种启动方式还有其它安全问题吗.

# 清除主引导记录
/mbr
# 删除所有分区
/del /all
# 建立3个主分区用来分别安装不同的系统
/cre /pri /sz:35000 /for /q /v:OS1 /ntfs
/cre /pri /sz:35000 /for /q /v:OS2 /ntfs
/cre /pri /sz:35000 /for /q /v:OS3 /ntfs
# 建立扩展分区
/cre /ext
# 建立用于Grub安装分区的分区
/cre /log /sz:600 /for /q /v:Grub /ntfs
# 将余下空间建立逻辑分区用于系统共享数据分区
/cre /log /for /q /v:Data_share /ntfs
21 发表于 2008-10-27 21:37 ·  中国 四川 德阳 电信
初级用户
积分 39
发帖 16
注册 2007-02-19 08:27
19年会员
UID 79784
性别 男
状态 离线
3个主分区,一个逻辑分区,menu.lst:

title boot (hd0,0)____NT
makeactive (hd0,0)
root (hd0,0)
chainloader (hd0,0)/ntldr
boot

title boot (hd0,1)____NT
makeactive (hd0,1)
root (hd0,1)
chainloader (hd0,1)/ntldr
boot

title boot (hd0,2)____NT
makeactive (hd0,2)
root (hd0,2)
chainloader (hd0,2)/ntldr
boot

title boot (hd0,4)------ NT
map --in-place (hd0,4)+1 (hd0,3)
map --hook
maketive (hd0,3)
chainloader (hd0,3)/ntldr
root (hd0,3)
boot

(hd0,4)下boot.ini,其他分区boot.ini中partition(4)改为相应数字


timeout=30
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS

multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect


其实grub4dos中还有个partnew命令,来建立主分区,解决楼上的问题更简单,只要你硬盘够大,在一个分区中装n个Windows应该都没问题。(parttnew建立的分区表项虽然是重叠的,但可骗过nt。)

[ Last edited by zw2312914 on 2008-10-27 at 21:47 ]
22 发表于 2008-10-27 21:38 ·  中国 上海 杨浦区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
再回头看看18楼 fujianabc 提供的方法似乎是采用传统的方法安装系统.而我这种跟他的差别就是,不管主分区逻辑分区里的系统都是在(hd0,0)上通过ghost备份的系统并发射到任意分区,发射后系统会自动修改boot.ini指向正确的分区信息.这种方式在硬件还原卡上和软件分隔的3个主分区上都是没有任何问题的.现在使用--in-place似乎一定要求在(hd0,0)处存在某种东西才能正常运行.这样的话如果(hd0,0)处的系统被破坏不是连带这个逻辑分区也无法运行了.
23 发表于 2008-10-29 19:16 ·  德国 马克斯-普朗克等离子物理研究所
金牌会员
★★★★
积分 3,467
发帖 1,616
注册 2004-06-21 00:00
22年会员
UID 27148
状态 离线
我这两天在一台没有windows可认主分区的机子上装了xp(三个主分区都是linux分区),把xp所有文件都在(hd0,7)分区上(ntfs)。
因为xp要求存在windows可认的主分区才让启动,所以我用了比较特殊的手段正常启动了xp。
我的menu.lst:
title xp
map --harddrives=2
map (hd0,7)+1 (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/ntldr

然后boot.ini改为
default=multi(0)disk(0)rdisk(1)partition(7)\WINDOWS
注意把rdisk(0)改成了rdisk(1)
24 发表于 2008-10-29 21:34 ·  中国 上海 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
在分区格式化为,使用grub4dos-0.4.4-2008-10-26.zip
# 清除主引导记录
/mbr
# 删除所有分区
/del /all
# 建立3个主分区用来分别安装不同的系统
/cre /pri /sz:35000 /for /q /v:OS1 /ntfs
/cre /pri /sz:35000 /for /q /v:OS2 /ntfs
/cre /pri /sz:35000 /for /q /v:OS3 /ntfs
# 建立扩展分区
/cre /ext
# 建立用于Grub安装分区的分区
/cre /log /sz:600 /for /q /v:Grub /ntfs
# 将余下空间建立逻辑分区用于系统共享数据分区
/cre /log /for /q /v:Data_share /ntfs

由fujianabc 23楼的方法最好暂时没发现有什么不良反应
zw2312914 21楼的方法没成功
dato 20楼的方法似乎有依赖问题.
25 发表于 2009-02-12 12:01 ·  中国 陕西 宝鸡 凤翔区 电信
新手上路
积分 4
发帖 2
注册 2009-02-08 15:18
17年会员
UID 138331
性别 男
状态 离线
23楼的办法可以引导XP到画面,有滚动条,然后就蓝屏了
26 发表于 2009-02-14 12:59 ·  中国 上海 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
ghost软件发送到1:1 1:2 1:3它都会自动将boot.ini指向正确的分区。但是如果用grub虚拟的方式,那就得注意修改boot.ini。也就是你用主分区生成的ghost镜像恢复到该逻辑分区,再用gdisk32之类的显示隐藏分区软件修改boot.ini就可以了具体看23的描述。没有任何问题。
27 发表于 2009-02-14 15:25 ·  中国 广东 江门 电信
新手上路
积分 2
发帖 1
注册 2009-02-14 02:19
17年会员
UID 138810
性别 男
状态 离线
完全看不懂。
28 发表于 2009-02-14 16:54 ·  中国 陕西 宝鸡 电信
新手上路
积分 4
发帖 2
注册 2009-02-08 15:18
17年会员
UID 138331
性别 男
状态 离线
就是按23楼的作法改的,不然为什么会引导到XP画面,但是就是启动不了呀
论坛跳转: