无忧启动论坛

标题: 如何让UD里的g4d菜单指向硬盘多分区多系统中的活动分区上的系统 [打印本页]

作者: 2010SHCsoft    时间: 2014-5-4 11:53
标题: 如何让UD里的g4d菜单指向硬盘多分区多系统中的活动分区上的系统
高人明鉴,实情如下:
单硬盘、mbr,两个主分区,一个靠头、一个靠尾,不同分区里装了不同系统,一个是xp,1个win8,其中尾部分区设为活动了。现在想在UD菜单里加入硬盘启动代码。
请问如何做到选择活动分区里的系统启动,不管活动分区里装的nt5还是nt6的情况下,都默认从活动分区启动,g4d代码如何写?请赐教,谢谢!
作者: 2012withthewind    时间: 2014-5-4 19:11
title 启动第1主分区(hd1,0)上的操作系统
rootnoverify (hd1,0)
makeactive
chainloader +1

title 启动第2主分区(hd1,1)上的操作系统
rootnoverify (hd1,1)
makeactive
chainloader +1

title 启动第3主分区(hd1,2)上的操作系统
rootnoverify (hd1,2)
makeactive
chainloader +1
作者: lwz56    时间: 2014-5-5 21:23
应该是hd0吧?
作者: 2010SHCsoft    时间: 2014-5-9 08:09
不是要这个效果,想用一条菜单自动判断出活动分区,启动活动分区里的系统。
因为面对不同的环境下,有的电脑活动分区在第一分区,有的却不是,如果这样写法,写菜单得写到吐血。
不过还是感谢两位热心。
我暂时默认优先启动nt6了,检索无nt6才启动nt5。
作者: lwz56    时间: 2014-5-9 09:06
2010SHCsoft 发表于 2014-5-9 08:09
不是要这个效果,想用一条菜单自动判断出活动分区,启动活动分区里的系统。
因为面对不同的环境下,有的电 ...

最简单的用5大的siso吧,菜单如下
title  列出硬盘上所有可启动系统供我选择 \n\n\t\t适合多系统情况\n\t\t可自选启动盘
command SISO   BOOT=HD
作者: 2010SHCsoft    时间: 2014-5-9 09:28
lwz56 发表于 2014-5-9 09:06
最简单的用5大的siso吧,菜单如下
title  列出硬盘上所有可启动系统供我选择 \n\n\t\t适合多系统情况\n\ ...

这个可以做到,但是需要使用者先用分区工具查看当前哪个分区是活动分区,请教g4d命令能否自动识别出活动分区
作者: lwz56    时间: 2014-5-9 10:52
本帖最后由 lwz56 于 2014-5-9 11:00 编辑

我只有这些了,你看看能用不
title  启动硬盘上默认活动系统 \n\n\t\t自动查找默认活动系统\n\t\t并加载启动
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgr
boot

title  列出硬盘上所有系统 \n\n\t\t适合多系统情况\n\t\t可自选启动盘
command SISO   BOOT=HD
#5
title  启动下一设备\n\n\t\t根据BIOS设置的启动顺序,启动下一设备
boot -1

作者: lwz56    时间: 2014-5-9 11:02
windows默认就是从活动分区启动啊,干啥非用g4d去启动硬盘的活动区呢?用siso列出来所以可以启动的分区供选择启动不好么?

作者: 2010SHCsoft    时间: 2014-5-9 11:28
第一个方案是自动选择,但是自动选的并非活动分区,而是优先查找含有ntldr的分区,没有的情况下再查找bootmgr,并不优先活动分区,而是优先第一主分区(有时候第一主分区未必是活动分区)
至于为何要用g4d启动硬盘的活动分区,你做个fba就知道用途了
作者: lwz56    时间: 2014-5-9 13:27
请问如何做到选择活动分区里的系统启动,不管活动分区里装的nt5还是nt6的情况下,都默认从活动分区启动”,
作者: lwz56    时间: 2014-5-9 13:29
我给你的菜单就是我fba里面的菜单啊,你写的不就是从活动系统启动么?
作者: lwz56    时间: 2014-5-9 13:36
你在find基础上加个判断不就完了,先查找ntldr,找不到再找bootmgr就可以了吧
作者: lwz56    时间: 2014-5-9 13:37
干脆写个类似run的批处理就OK le
作者: lwz56    时间: 2014-5-9 14:45
7楼给你的菜单应该就够用了,||就是表示如果找不到ntldr才去找bootmgr
作者: 2010SHCsoft    时间: 2014-5-10 10:29
lwz56 发表于 2014-5-9 14:45
7楼给你的菜单应该就够用了,||就是表示如果找不到ntldr才去找bootmgr

我原本就是用的那个,就是不希望这样,我需要的是自动启动活动分区上的系统,这个系统是nt5就启动nt5,是nt6就启动nt6。
你说的这个菜单,如果活动分区上是nt6,另外主分区上是nt5就启动了非活动分区的;反之亦然。
虽然你没搞明白我的意图,但还是非常感谢你能回复。
作者: 2011cwj6958    时间: 2014-5-11 01:04
本帖最后由 2011cwj6958 于 2014-5-11 01:15 编辑

title Loading  (hd1)  (启动第二磁盘上的系统)
root (hd1)
chainloader +1

ud所在u盘或者移动硬盘为hd0(第一磁盘)

作者: 2010SHCsoft    时间: 2014-5-13 11:42
以上所有方案都无法实现,因为chainloader 是按分区顺序检索启动的,不是优先活动分区。我只想让他优先启动活动分区




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3