无忧启动论坛

标题: grldr怎么获取当前磁盘的最后一个分区号 [打印本页]

作者: liangnijian    时间: 昨天 09:41
标题: grldr怎么获取当前磁盘的最后一个分区号
grldr 怎么获取当前磁盘的最后一个分区号,find 命令可以只搜索当前磁盘不搜索其它磁盘吗

我想用 grldr 引导 bootmgr 启动,用 find 命令搜索,但如果启动盘制作失败了没有 bootmgr 这个文件,它会搜索其它盘上的。
完整命令:find --set-root --ignore-cd --ignore-floppies /bootmgr

当然,目前用最笨的方法(但不排除有老六会给启动盘分区):
if exist (hd0,1)/bootmgr && rootnoverify (hd0,1)
if exist (hd0,2)/bootmgr && rootnoverify (hd0,2)
chainloader /bootmgr


还有 for 是用在哪里的,我在 grldr 上写了会说没有这个命令

作者: 2011yaya2007777    时间: 昨天 09:48
使用 vol查看。没有for函数。
作者: liangnijian    时间: 昨天 09:51
本帖最后由 liangnijian 于 2025-8-16 09:52 编辑
2011yaya2007777 发表于 2025-8-16 09:48
使用 vol查看。没有for函数。

怎么获取到它最后一个分区的序号,vol | set part= 只能获取到第一行输出。geometry (hd0) 也是
作者: 邪恶海盗    时间: 昨天 11:08
%root%好像返回的是当前磁盘?find好像可以返回所有分区,两个命令能不能结合一下?


二○二五年八月十六日
作者: liangnijian    时间: 昨天 11:16
邪恶海盗 发表于 2025-8-16 11:08
%root%好像返回的是当前磁盘?find好像可以返回所有分区,两个命令能不能结合一下?

但是我把grldr放在ud分区上%@root% 输出的是 (ud)

即使是 if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
输出也是 (hd0)

我想获取当前磁盘的最后一个分区号

作者: guong    时间: 昨天 11:34
来了解下
作者: 2011whp    时间: 昨天 13:05
find命令输出到内存文件, 然后 cat分析. ( 估计 很 麻烦)

find > (md)0x300+1

____________________________
find本身循环所有分区:

#BAT
find call :test ()
goto :end
:test
echo %1
echo %@root%  
#在这判断
exit
:end

作者: liangnijian    时间: 昨天 13:10
2011whp 发表于 2025-8-16 13:05
find命令输出到内存文件, 然后 cat分析. ( 估计 很 麻烦)

find > (md)0x300+1

我找了其它文件来定位
find --set-root --ignore-cd --ignore-floppies /wxpe/winxp.wim

目前这样写它会定位到分区




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