中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 00:36
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » grub如何从扩展分区盘上引导系统?
可打印版本  10,009 / 27
第16楼 dato 发表于 2008-10-26 20:47
高级用户 发帖 377 积分 916
今天顺便google一下又来这里了.偶一直想尝试如何在单硬盘环境逻辑分区安装windows系统并能与其它3个主分区上的windows系统相互独立互相不干扰通过grub来启动。

从这帖看来也许用map方式可以模拟实现或者使用grub加载
http://www.nu2.nu/bootdisk/ntboot/ ntldr启动盘,有空时真的得试试,现在真的有需求需要上四个独立的windows系统。汗
第17楼 不点 发表于 2008-10-27 11:24
银牌会员 发帖 1,115 积分 2,491
dato,你尝试探索一下 map --in-situ 的功能,它的目的就是将一个逻辑分区模拟成一个主分区。
第18楼 fujianabc 发表于 2008-10-27 17:46
金牌会员 发帖 1,616 积分 3,467
windows安装的时候必须要有主分区,否则会拒绝继续安装。
装完之后,可以把主分区上的启动文件移至系统分区,并修改boot.ini,然后就可以用grub的map来启动逻辑分区上的windows了。
第19楼 dato 发表于 2008-10-27 20:01
高级用户 发帖 377 积分 916
在三主分区一扩展分区的环境.刚刚已经尝试了一下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楼 dato 发表于 2008-10-27 21:29
高级用户 发帖 377 积分 916
我不清楚是否成功而且可能很难描述这个问题.

在使用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楼 zw2312914 发表于 2008-10-27 21:37
初级用户 发帖 16 积分 39
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楼 dato 发表于 2008-10-27 21:38
高级用户 发帖 377 积分 916
再回头看看18楼 fujianabc 提供的方法似乎是采用传统的方法安装系统.而我这种跟他的差别就是,不管主分区逻辑分区里的系统都是在(hd0,0)上通过ghost备份的系统并发射到任意分区,发射后系统会自动修改boot.ini指向正确的分区信息.这种方式在硬件还原卡上和软件分隔的3个主分区上都是没有任何问题的.现在使用--in-place似乎一定要求在(hd0,0)处存在某种东西才能正常运行.这样的话如果(hd0,0)处的系统被破坏不是连带这个逻辑分区也无法运行了.
第23楼 fujianabc 发表于 2008-10-29 19:16
金牌会员 发帖 1,616 积分 3,467
我这两天在一台没有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楼 dato 发表于 2008-10-29 21:34
高级用户 发帖 377 积分 916
在分区格式化为,使用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楼 FX88888 发表于 2009-02-12 12:01
新手上路 发帖 2 积分 4
23楼的办法可以引导XP到画面,有滚动条,然后就蓝屏了
第26楼 dato 发表于 2009-02-14 12:59
高级用户 发帖 377 积分 916
ghost软件发送到1:1 1:2 1:3它都会自动将boot.ini指向正确的分区。但是如果用grub虚拟的方式,那就得注意修改boot.ini。也就是你用主分区生成的ghost镜像恢复到该逻辑分区,再用gdisk32之类的显示隐藏分区软件修改boot.ini就可以了具体看23的描述。没有任何问题。
第27楼 dralisk 发表于 2009-02-14 15:25
新手上路 发帖 1 积分 2
完全看不懂。
第28楼 FX88888 发表于 2009-02-14 16:54
新手上路 发帖 2 积分 4
就是按23楼的作法改的,不然为什么会引导到XP画面,但是就是启动不了呀
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023