无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5811|回复: 11
打印 上一主题 下一主题

求助!哪位帮忙写个切换活动分区的GRUB菜单

[复制链接]
跳转到指定楼层
1#
发表于 2012-3-17 11:17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的机器只有一块硬盘,第一分区和第二分区为主分区,后面为逻辑分区。我在第一分区和第二分区上分别安装了winxp和win7。

我是这样安装的:
1、把hd(0,0)设置为活动分区,hd(0,1)隐藏,安装winxp
2、再反过来hd(0,1)设置为活动分区,hd(0,0)隐藏,安装win7
我是想尽量保持两个系统的独立性,逻辑分区上有许多公用的软件(不便调整盘符),系统的备份与恢复也方便些。
但是切换系统的时候总用WINPM搞来搞去(激活、显现、隐藏),觉得很不方便。

现在想用GRUB来实现引导切换操作系统【grub引导已经写到MBR,grldr文件放在hd(0,8)上】,大伙儿帮忙写个菜单呀!
1、启动winxp系统       -----当然是自动激活hd(0,0),隐藏hd(0,1)
2、启动win 7系统        ------反之

仔细找了grub命令索引,似乎和这几个命令有关:

hiddenflag 分区隐藏标记
makeactive 将 root 设备置为活动分区
parttype 改变指定分区(PART)的分区类型(TYPE)

搞了半天,还是搞不定。
大伙帮忙呀,不胜感激!谁让我小白呢。
2#
发表于 2012-3-17 11:21:30 | 只看该作者

回复 #1 caozhi256 的帖子

和我以前的一个菜单差不多  确定分区号没错的话可以这样

title xp
hide (hd0,1)
root (hd0,0)
chainloader /ntldr
boot

title 7
hide (hd0,0)
root (hd0,1)
chainloader /bootmgr
boot
回复

使用道具 举报

3#
 楼主| 发表于 2012-3-17 14:30:50 | 只看该作者
原帖由 sratlf 于 2012-3-17 11:21 发表
和我以前的一个菜单差不多  确定分区号没错的话可以这样

title xp
hide (hd0,1)
root (hd0,0)
chainloader /ntldr
boot

title 7
hide (hd0,0)
root (hd0,1)
chainloader /bootmgr
boot


谢谢斑竹大大!谢谢您的热心帮助!

不知道hide命令是本次启动生效还是永久生效
比如说我通过grub进入win7后,下次再进win7还要 "热键----grub菜单----win7”吗?而且没有更改活动分区的话,在第二分区上部署别人封装好的GHO系统总是有问题的。我所需要的仅是想知道用GRUB来代替winpm“设置活动分区--显现--隐藏”操作的方法,倒不是一定要引导到系统。

能再帮帮我吗?谢谢!

[ 本帖最后由 caozhi256 于 2012-3-17 14:34 编辑 ]
回复

使用道具 举报

4#
发表于 2012-3-17 14:37:05 | 只看该作者
不太确定能否达到你的效果  不过试试吧

title xp
hide (hd0,1)
root (hd0,0)
makeactive
chainloader /ntldr
boot

title 7
hide (hd0,0)
root (hd0,1)
makeactive
chainloader /bootmgr
boot
回复

使用道具 举报

5#
发表于 2012-3-17 14:37:48 | 只看该作者

回复 #3 caozhi256 的帖子

都是永久生效的
回复

使用道具 举报

6#
发表于 2012-3-17 14:40:46 | 只看该作者

回复 #5 sratlf 的帖子

请教版主,如何写命令判断当前分区是否为fat32或fat分区,若满足条件执行下面的命令

例如:我判断是否为FAT32或FAT分区决定是否显示转syslinux菜单项目
回复

使用道具 举报

7#
发表于 2012-3-17 14:55:04 | 只看该作者

回复 #6 zhs509 的帖子

parttype
call Fn.15 "%@retval%" "12" && call Fn.15 "%@retval%" "6" && echo not fat or fat32
chainloader /BOOT/ISOLINUX.BIN

不太确定  记得fat编号为0x06  fat32编号为0x0c

[ 本帖最后由 sratlf 于 2012-3-17 14:57 编辑 ]
回复

使用道具 举报

8#
发表于 2012-3-17 14:58:56 | 只看该作者

回复 #7 sratlf 的帖子

谢谢版主回复,暂时先不管了。。。

还是通过判断文件LDLINUX.SYS吧。。。
回复

使用道具 举报

9#
 楼主| 发表于 2012-3-17 15:14:05 | 只看该作者
原帖由 sratlf 于 2012-3-17 14:37 发表
不太确定能否达到你的效果  不过试试吧

title xp
hide (hd0,1)
root (hd0,0)
makeactive
chainloader /ntldr
boot

title 7
hide (hd0,0)
root (hd0,1)
makeactive
chainloader /bootmgr
boot



再次感谢您!晚上空了就搞
回复

使用道具 举报

10#
发表于 2012-3-25 17:32:25 | 只看该作者

回复 #7 sratlf 的帖子

大概知道怎么写了。。。
  1. title  转syslinux 菜单(FAT或FAT32才显示syslinux菜单)
  2. find --devices=h --set-root /ldlinux.sys && checkrange 0x0C parttype && chainloader /ldlinux.sys || find --devices=h --set-root /ldlinux.sys && checkrange 0x06 parttype && chainloader /ldlinux.sys
复制代码

[ 本帖最后由 zhs509 于 2012-3-25 17:38 编辑 ]
回复

使用道具 举报

11#
发表于 2012-4-1 19:29:06 | 只看该作者
电脑爱好者好像是08年15期有一篇讲得很清出,题目是井水不防河水,让…。我就是看了那编文章才知道grub那么强大。从那以后开始学习grub各种用法,s大那写法应该可以,你自己根据实际情况修改相印命令
回复

使用道具 举报

12#
发表于 2012-4-1 20:11:07 | 只看该作者
用xorboot管理多系统引导,可以完美解决,启动xp系统时自动隐藏win7所在的分区;启动win7自动隐藏xp所在的分区,很方便。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 06:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表