中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: grub如何从扩展分区盘上引导系统? 上一主题 | 下一主题
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 16 楼』:  

今天顺便google一下又来这里了.偶一直想尝试如何在单硬盘环境逻辑分区安装windows系统并能与其它3个主分区上的windows系统相互独立互相不干扰通过grub来启动。

从这帖看来也许用map方式可以模拟实现或者使用grub加载
http://www.nu2.nu/bootdisk/ntboot/ ntldr启动盘,有空时真的得试试,现在真的有需求需要上四个独立的windows系统。汗



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-10-26 20:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 17 楼』:  

dato,你尝试探索一下 map --in-situ 的功能,它的目的就是将一个逻辑分区模拟成一个主分区。



因为我们亲手创建,这个世界更加美丽。
2008-10-27 11:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 18 楼』:  

windows安装的时候必须要有主分区,否则会拒绝继续安装。
装完之后,可以把主分区上的启动文件移至系统分区,并修改boot.ini,然后就可以用grub的map来启动逻辑分区上的windows了。

2008-10-27 17:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 19 楼』:  

在三主分区一扩展分区的环境.刚刚已经尝试了一下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

再重新分区试试看



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-10-27 20:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 20 楼』:  

我不清楚是否成功而且可能很难描述这个问题.

在使用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



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-10-27 21:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zw2312914
初级用户





积分 39
发帖 16
注册 2007-2-19
状态 离线
『第 21 楼』:  

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)改为相应数字

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
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 ]

2008-10-27 21:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 22 楼』:  

再回头看看18楼 fujianabc 提供的方法似乎是采用传统的方法安装系统.而我这种跟他的差别就是,不管主分区逻辑分区里的系统都是在(hd0,0)上通过ghost备份的系统并发射到任意分区,发射后系统会自动修改boot.ini指向正确的分区信息.这种方式在硬件还原卡上和软件分隔的3个主分区上都是没有任何问题的.现在使用--in-place似乎一定要求在(hd0,0)处存在某种东西才能正常运行.这样的话如果(hd0,0)处的系统被破坏不是连带这个逻辑分区也无法运行了.



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-10-27 21:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 23 楼』:  

我这两天在一台没有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)

2008-10-29 19:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 24 楼』:  

在分区格式化为,使用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楼的方法似乎有依赖问题.



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-10-29 21:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
FX88888
新手上路





积分 4
发帖 2
注册 2009-2-8
状态 离线
『第 25 楼』:  

23楼的办法可以引导XP到画面,有滚动条,然后就蓝屏了

2009-2-12 12:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 26 楼』:  

ghost软件发送到1:1 1:2 1:3它都会自动将boot.ini指向正确的分区。但是如果用grub虚拟的方式,那就得注意修改boot.ini。也就是你用主分区生成的ghost镜像恢复到该逻辑分区,再用gdisk32之类的显示隐藏分区软件修改boot.ini就可以了具体看23的描述。没有任何问题。



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2009-2-14 12:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dralisk
新手上路





积分 2
发帖 1
注册 2009-2-14
状态 离线
『第 27 楼』:  

完全看不懂。

2009-2-14 15:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
FX88888
新手上路





积分 4
发帖 2
注册 2009-2-8
状态 离线
『第 28 楼』:  

就是按23楼的作法改的,不然为什么会引导到XP画面,但是就是启动不了呀

2009-2-14 16:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: