无忧启动论坛

标题: Grub4Dos 如何判断 U盘 / 硬盘 启动类型? [打印本页]

作者: Samble    时间: 2011-4-7 12:02
标题: Grub4Dos 如何判断 U盘 / 硬盘 启动类型?
请问如何判断 U盘 启动或是 硬盘 启动?
作者: blithewind    时间: 2011-4-7 12:56
ckeckrange N read 0x8280
N为0x80:HDD,
为0x21:pxe设备,为0x23:ud设备,为0:zip设备.
判断为Z|P盘还有其他条件,可搜索下,是ud格式下的zip条件
作者: blithewind    时间: 2011-4-7 12:59
光驱一般是0x9f,你可查阅置顶的教程
作者: Samble    时间: 2011-4-8 10:54
标题: 回复 #3 blithewind 的帖子
谢谢兄台指点。

看了置顶教程之后。貌似 USB-HDD 和硬盘的 0x8280 的值是一样的 0x80。
看来区别U盘,只能建UD或者建立标志文件了。
作者: 2011aaaaa0808    时间: 2013-1-30 13:23
标题: 回复 #4 Samble 的帖子
电脑可能是从U盘启动,可能是从硬盘启动,grub如何引导从第一个硬盘启动?
作者: hotdll    时间: 2013-1-30 14:31
原帖由 Samble 于 2011-4-8 10:54 发表
谢谢兄台指点。

看了置顶教程之后。貌似 USB-HDD 和硬盘的 0x8280 的值是一样的 0x80。
看来区别U盘,只能建UD或者建立标志文件了。


卷标不同U盘的卷标是0000-0000格式。
硬盘的除非是FAT或者FAT32,否则肯定不是。
通常硬盘容量很大,U盘容量很小。

可以综合判断。不过话说回来了,你不插入U盘。。启动的肯定不是USB设备。所以不知道你要判断HD0是U盘还是硬盘有什么意义?
作者: hotdll    时间: 2013-1-30 14:32
原帖由 2011aaaaa0808 于 2013-1-30 13:23 发表
电脑可能是从U盘启动,可能是从硬盘启动,grub如何引导从第一个硬盘启动?

看所有PE盘的最后一行,从硬盘引导系统。

不管你是从U盘启动还是从硬盘启动。。。。 被引导者是知道自己的位置的。。。。。
作者: 2011aaaaa0808    时间: 2013-1-30 15:46
标题: 回复 #6 hotdll 的帖子
我的U盘USB-HDD和硬盘都是由GRUB引导的

无论U盘还是硬盘启动,都是读取同一个menu.lst
从U盘启动时,硬盘是第二块磁盘
从硬盘启动时,硬盘是一块磁盘

所以我希望menu.lst有一个菜单代码,能够判断出是否需要并自动交换磁盘顺序

title 从硬盘启动
.....................
...求此处代码...

.....................


求帮忙

谢谢

[ 本帖最后由 2011aaaaa0808 于 2013-1-30 15:58 编辑 ]
作者: hotdll    时间: 2013-1-30 20:57
原帖由 <i>2011aaaaa0808</i> 于 2013-1-30 15:46 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2670463&ptid=191010" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0"     alt="" /></a><br />
我的U盘USB-HDD和硬盘都是由GRUB引导的<br />
<br />
无论U盘还是硬盘启动,都是读取同一个menu.lst<br />
从U盘启动时,硬盘是第二块磁盘<br />
从硬盘启动时,硬盘是一块磁盘<br />
<br />
所以我希望menu.lst有一个菜单代码,能够判断出是否 ...
<br />
我没听懂你说的意思。。。。
你到底是要引导硬盘上的系统,还是要引导U盘上的系统?

你为什么要读同一个menu.lst?

如过你要硬盘启动就拔掉U盘,
如过你要U盘启动,就BIOS设置U盘引导。。。。。。

这是最简单的操作,不理解你为什么要这么做?

[ 本帖最后由 hotdll 于 2013-1-30 21:01 编辑 ]
作者: hxwgz    时间: 2013-1-31 02:48
#4提到的方法
用标志文件
作者: awnuitfk    时间: 2013-5-7 19:16
debug off
set grmenu=HDD
if "%@root%"=="(ud)" set grmenu=UD
if "%@root%"=="(cd)" set grmenu=CD
if "%@root%"=="(pd)" pxe detect NotExist && set grmenu=PXE
configfile %@root%/BOOT/MENU/%grmenu%_MENU.LST


CD_MENU.LST (光盘)  PXE_MENU.LST(网络)  HDD_MENU.LST(硬盘)  UD_MENU.LST (UD)




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