无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: abcdk10

[求助] 关于GRUB4DOS加载的奇怪问题

  [复制链接]
发表于 2017-10-31 00:29:37 | 显示全部楼层 |阅读模式
本帖最后由 abcdk10 于 2017-11-9 00:15 编辑

title [01] 启动多PE(3个)
map --mem /d3pe.ISO (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
代码是这个启动以前是直接加载ISO包里的BOOTMGR后再加载BCD后加载WIM文件
图以前是这样的:

图以前是这样的:

图以前是这样的:


现在变这样了:

现在变这样了:

现在变这样了:


不知道是怎么回事求大神解惑

-------------------------------------------------------------
下面是新添加内容 因现在不知道怎么没这个区的权限不能发帖了
---------------------------------------------------------------
现在出来了个新问题不知道什么问题
2个不同的U盘同样的命令

find --set-root /d3pe.ISO
map (ud)/d3pe.ISO (hd32)
map --hook
rootnoverify (hd32)
chainloader (hd32)
以前这个U盘直接进下一步

以前

以前


后来这个U盘就多了个这个,需要按按键才能进入下一步了不然返回主界面了

后来

后来
发表于 2017-10-31 00:33:03 来自手机 | 显示全部楼层
估计是多了 --mem吧!
回复

使用道具 举报

 楼主| 发表于 2017-10-31 00:45:52 | 显示全部楼层
恩,我试过了就这问题的过谢谢你哈
回复

使用道具 举报

 楼主| 发表于 2017-10-31 00:49:08 | 显示全部楼层
问下怎么从硬盘启动系统呢
title 《《《 从硬盘启动Windows NT/2k/XP系统 》》》
find --set-root /ntldr
chainloader /ntldr

title 《《《 从硬盘启动Win7/Win8/Win10系统 》》》
find --set-root /bootmgr
chainloader /bootmgr
这个试了下机器上没用XP的选上面那个直接重启了

点评

title [01] 从硬盘启动计算机 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 -  详情 回复 发表于 2017-10-31 13:32
稍稍改一点,试试。 find --set-root /bootmgr chainloader /bootmgr find --set-root /ntldr chainloader /ntldr boot 或: find --set-root /bootmgr command chainloader /  详情 回复 发表于 2017-10-31 10:31
回复

使用道具 举报

发表于 2017-10-31 07:09:01 来自手机 | 显示全部楼层
d3pe.ISO是光盘映像,怎么映射为软盘?原来可以加载成功,就安装原来的办法。

点评

有可能是 ISO 头部带有 FAT 的引导扇区,或者叫做 hybrid 格式。  详情 回复 发表于 2017-10-31 10:27
回复

使用道具 举报

发表于 2017-10-31 10:27:42 | 显示全部楼层
2011yaya2007777 发表于 2017-10-31 07:09
d3pe.ISO是光盘映像,怎么映射为软盘?原来可以加载成功,就安装原来的办法。

有可能是 ISO 头部带有 FAT 的引导扇区,或者叫做 hybrid 格式。
回复

使用道具 举报

发表于 2017-10-31 10:31:46 | 显示全部楼层
本帖最后由 不点 于 2017-10-31 11:50 编辑
abcdk10 发表于 2017-10-31 00:49
问下怎么从硬盘启动系统呢
title 《《《 从硬盘启动Windows NT/2k/XP系统 》》》
find --set-root /ntldr ...

稍稍改一点,试试。

find   --set-root   /bootmgr   chainloader   /bootmgr
find   --set-root   /ntldr   chainloader   /ntldr
boot

或:

find   --set-root   /bootmgr   command   chainloader   /bootmgr
find   --set-root   /ntldr   command   chainloader   /ntldr
boot

更正一下,上述方法有错。应该这样:

find   --set-root   /bootmgr   ||    find   --set-root   /ntldr
chainloader   /bootmgr        ||    chainloader   /ntldr
boot


点评

不点大大,请教一下: GRUB4DOS如何在加载KONBOOT(绕过登录密码)时, 窗口出现提示:磁盘是否交换?不交换按“N”,交换按任意键…… 目前我建立了俩菜单,一个交换,一个不交换,感觉这样不方便,如果一个菜  详情 回复 发表于 2017-10-31 10:42
回复

使用道具 举报

发表于 2017-10-31 10:42:38 | 显示全部楼层
不点 发表于 2017-10-31 10:31
稍稍改一点,试试。

find   --set-root   /bootmgr   chainloader   /bootmgr

不点大大,请教一下:
GRUB4DOS如何在加载KONBOOT(绕过登录密码)时,
窗口出现提示:磁盘是否交换?不交换按“N”,交换按任意键……

目前我建立了俩菜单,一个交换,一个不交换,感觉这样不方便,如果一个菜单能解决就好了!


点评

我不太了解 konboot。不过我估计,你只需判断出哪个是 “本地硬盘” 即可。 从 USB 启动的时候,有些机器把 USB 当作 (fd0),这就不需要交换磁盘了,因为 “本地硬盘” 的序号是 (hd0),没有乱,不需要交换(交换  详情 回复 发表于 2017-10-31 11:43
回复

使用道具 举报

发表于 2017-10-31 11:43:09 | 显示全部楼层
糊涂 发表于 2017-10-31 10:42
不点大大,请教一下:
GRUB4DOS如何在加载KONBOOT(绕过登录密码)时,
窗口出现提示:磁盘是否交换? ...

我不太了解 konboot。不过我估计,你只需判断出哪个是 “本地硬盘” 即可。

从 USB 启动的时候,有些机器把 USB 当作 (fd0),这就不需要交换磁盘了,因为 “本地硬盘” 的序号是 (hd0),没有乱,不需要交换(交换了反而不对)。

从 USB 启动的时候,有些机器把 USB 当作 (hd0),此时,本地硬盘的号码通常被挤到下一个了,即 (hd1),属于 “乱了” ,XP 是无法适应这种状况的,必须纠正,即,必须交换硬盘号,让 “本地硬盘” 成为(即恢复为正确的) (hd0) 才行。

明白了 “何时需要交换,何时不需要交换” 的道理之后,相信你自己就有办法了。

你事先在本地硬盘根目录放一个——用来标记——的文件,文件名随便,比如叫做 This_is_local_hard_drive.txt,内容可以是空的。那么,当你执行

find    --set-root    This_is_local_hard_drive.txt

之后,本地硬盘就设定为当前盘了。接着再执行

map    ()    (hd0)
map    (hd0)    ()
map    --hook

就成功将 “本地硬盘” 设定为 (hd0) 了(不管 U 盘是否已经占据 hd0 的盘号,都没问题)。

点评

这个方法我可以利用到将PE(包括DOS工具)安装到本地磁盘; ============================ 下面这个菜单是我从0PE提取的,以前一直用,但升级GRLDR(超过14-11-27)后,这段菜单貌  详情 回复 发表于 2017-10-31 11:57
回复

使用道具 举报

发表于 2017-10-31 11:57:42 | 显示全部楼层
不点 发表于 2017-10-31 11:43
我不太了解 konboot。不过我估计,你只需判断出哪个是 “本地硬盘” 即可。

从 USB 启动的时候,有些 ...

这个方法我可以利用到将PE(包括DOS工具)安装到本地磁盘;
============================
下面这个菜单是我从0PE提取的,以前一直用,但升级GRLDR(超过14-11-27)后,这段菜单貌似“不管用”了,屏幕只显示一个亮点,需要手动按键后才会有界面……
  1. title [01] 使用 KonBoot 绕过密码
  2. root (bd) || echo :(:(:(:(:(:(
  3. if not exist /WXPE/IMGS/KON.IMG && root (0xff) || echo
  4. cat --length=0 /WXPE/IMGS/KON.IMG || find --set-root /WXPE/IMGS/KON.IMG || pause /WXPE/IMGS/KON.IMG not found. && fallback --go 0
  5. map --mem /WXPE/IMGS/KON.IMG (fd0)
  6. map --hook
  7. echo Press Enter to swap (hd0),(hd1) or Input N to skip this default swapping.
  8. set /u /p mapping=Input here:
  9. write 0x60000 1
  10. if "%mapping%"=="N" write 0x60000 0
  11. set *
  12. map (hd-1) (hd-1)
  13. map --rehook
  14. read 0x60000 && map (hd0) (hd1) && map (hd1) (hd0) && map --hook && pause --wait=1 (hd0),(hd1) swapped. ! echo
  15. rootnoverify (fd0)
  16. map --floppies=1
  17. chainloader (fd0)+1
复制代码

点评

新版g4d不再支持fallback --go 0这种古老的用法, 可改为goto 0之类  详情 回复 发表于 2017-11-1 15:43
这么短的代码,你调试一下也不难啊,比如插入 pause 之类的语句,定位新旧版的不同之处。 还有就是,你得理解每一句的作用啊,不能全部照抄。 还有一个思路,既然是从 0pe 抄来的,那不妨问问 0pe 的作者,或  详情 回复 发表于 2017-10-31 14:47
回复

使用道具 举报

发表于 2017-10-31 13:32:50 | 显示全部楼层
abcdk10 发表于 2017-10-31 00:49
问下怎么从硬盘启动系统呢
title 《《《 从硬盘启动Windows NT/2k/XP系统 》》》
find --set-root /ntldr ...

title [01] 从硬盘启动计算机
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
回复

使用道具 举报

发表于 2017-10-31 14:47:09 | 显示全部楼层
糊涂 发表于 2017-10-31 11:57
这个方法我可以利用到将PE(包括DOS工具)安装到本地磁盘;
==================== ...

这么短的代码,你调试一下也不难啊,比如插入 pause 之类的语句,定位新旧版的不同之处。

还有就是,你得理解每一句的作用啊,不能全部照抄。

还有一个思路,既然是从 0pe 抄来的,那不妨问问 0pe 的作者,或者看看新版 0pe 是怎么处理的?如果新版改好了,你依旧可以原封不动抄过来啊。

点评

哈哈,现在是纯粹伸手党了!辛苦不点老师了  发表于 2017-10-31 15:36
回复

使用道具 举报

 楼主| 发表于 2017-10-31 19:43:29 | 显示全部楼层
SGZOU 发表于 2017-10-31 13:32
title [01] 从硬盘启动计算机
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-ro ...

谢谢,成功启动了
回复

使用道具 举报

发表于 2017-11-1 15:43:27 | 显示全部楼层
糊涂 发表于 2017-10-31 11:57
这个方法我可以利用到将PE(包括DOS工具)安装到本地磁盘;
==================== ...

新版g4d不再支持fallback --go 0这种古老的用法,
可改为goto 0之类

点评

回P大 [attachimg]355997[/attachimg] [attachimg]355996[/attachimg]  详情 回复 发表于 2017-11-1 16:08
我试试!谢两位大大  详情 回复 发表于 2017-11-1 15:56
回复

使用道具 举报

发表于 2017-11-1 15:56:19 | 显示全部楼层
pseudo 发表于 2017-11-1 15:43
新版g4d不再支持fallback --go 0这种古老的用法,
可改为goto 0之类

我试试!谢两位大大
回复

使用道具 举报

发表于 2017-11-1 16:08:05 | 显示全部楼层
pseudo 发表于 2017-11-1 15:43
新版g4d不再支持fallback --go 0这种古老的用法,
可改为goto 0之类



回P大,和刚才一样,就一个亮点闪……

  1. title [01] 使用 KonBoot 绕过密码
  2. root (bd) || echo :(:(:(:(:(:(
  3. if not exist /BOOT/IMGS/KON.IMG && root (0xff) || echo
  4. cat --length=0 /BOOT/IMGS/KON.IMG || find --set-root /BOOT/IMGS/KON.IMG || pause /BOOT/IMGS/KON.IMG not found. && fallback goto 0
  5. map --mem /BOOT/IMGS/KON.IMG (fd0)
  6. map --hook
  7. echo Press Enter to swap (hd0),(hd1) or Input N to skip this default swapping.
  8. set /u /p mapping=Input here:
  9. write 0x60000 1
  10. if "%mapping%"=="N" write 0x60000 0
  11. set *
  12. map (hd-1) (hd-1)
  13. map --rehook
  14. read 0x60000 && map (hd0) (hd1) && map (hd1) (hd0) && map --hook && pause --wait=1 (hd0),(hd1) swapped. ! echo
  15. rootnoverify (fd0)
  16. map --floppies=1
  17. chainloader (fd0)+1
复制代码



QQ截图20171101160610.png

GIF.gif

点评

fallback goto 0=>goto 0  详情 回复 发表于 2017-11-10 11:28
回复

使用道具 举报

 楼主| 发表于 2017-11-9 00:13:21 | 显示全部楼层
-------------------------------------------------------------
下面是新添加内容 因现在不知道怎么没这个区的权限不能发帖了
---------------------------------------------------------------
现在出来了个新问题不知道什么问题
2个不同的U盘同样的命令
find --set-root /d3pe.ISO
map (ud)/d3pe.ISO (hd32)
map --hook
rootnoverify (hd32)
chainloader (hd32)
以前这个U盘直接进下一步


后来这个U盘就多了个这个,需要按按键才能进入下一步了不然返回主界面了
回复

使用道具 举报

发表于 2017-11-9 09:44:20 | 显示全部楼层
这一语句确定了根
find --set-root /d3pe.ISO
那么这句就的(ud)就是多余的
map (ud)/d3pe.ISO (hd32)
应当是
map /d3pe.ISO (hd32)
回复

使用道具 举报

发表于 2017-11-10 11:28:56 | 显示全部楼层
本帖最后由 pseudo 于 2017-11-10 11:50 编辑
糊涂 发表于 2017-11-1 16:08
回P大,和刚才一样,就一个亮点闪……


“fallback --go 0”、"fallback goto 0"改为“goto 0”可以确保语法正确。
不过语法正确了,还有语义问题。
goto 0表示转去执行首个(第0个)菜单项,而你这里首个菜单项恰好就是“title [01] 使用 KonBoot 绕过密码”,即又绕回当前菜单项形成死循环了。
这里似无必要绕回来,那么就删掉“ && fallback --go 0”算了,或者将“ && fallback --go 0”改为“ && reboot”(注意”&&“左右各有一个空格)。

点评

如果使用老版本GRLDR这几种方法都可以, 升级新版本后,这几种方法都试过了,同一个现象: 一个白点在屏幕左上角闪,敲一下键盘开始执行KONBOOT界面…… 目前使用的方案是两种模式菜单,一种磁盘交换,一种模式  详情 回复 发表于 2017-11-10 12:22
回复

使用道具 举报

发表于 2017-11-10 12:22:35 | 显示全部楼层
pseudo 发表于 2017-11-10 11:28
“fallback --go 0”、"fallback goto 0"改为“goto 0”可以确保语法正确。
不过语法正确了,还有语义 ...

如果使用老版本GRLDR这几种方法都可以,
升级新版本后,这几种方法都试过了,同一个现象:
一个白点在屏幕左上角闪,敲一下键盘开始执行KONBOOT界面……

目前使用的方案是两种模式菜单,一种磁盘交换,一种模式不交换
回复

使用道具 举报

发表于 2017-11-12 20:31:59 | 显示全部楼层
第一张图是直接启动镜像,第二张图是把镜像载入内存后再启动。[0M/32M]   时应稍等片刻。[32M/32M]就启动了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 01:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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