无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 11241|回复: 18
打印 上一主题 下一主题

[求助] 优盘启动的GRUB4DOS,菜单里想加一项“从硬盘启动”

[复制链接]
1#
发表于 2015-9-30 16:18:24 | 显示全部楼层
本帖最后由 有阴也有阳 于 2015-10-1 00:21 编辑

grub4dos好象并不直接支持类似于Easyboot的直接从硬盘启动的"boot  80"的命令,要弄你得间接转一下,比如从grub4dos——到Easyboot,然后由Easyboot

执行。

下面我给你做了一个从硬盘启动的Easyboot的ISO文件,在grub4dos中的调用命令:

title 从本地硬盘启动
find --set-root /myudisk.txt
map /CYPQD.ISO (hd32)
map --hook
chainloader (hd32)
boot

注意:

         打开记事本,将空白的记事本命名为myudisk,从而形成一个myudisk.txt文件,将myudisk.txt文件复制到你的启动U盘的根目录。



抱歉!从硬盘启动的等待时间的设置有问题,本应该设置成0秒的,结果却弄成了无限长,不能自动执行,需要手动执行,等我弄好了再重新传给你。

改好了——从按下回车键到进入本地硬盘启动只需2——3秒

cypqd.7z

718.61 KB, 下载次数: 56

从硬盘启动的ISO文件

回复

使用道具 举报

2#
发表于 2015-9-30 17:19:42 | 显示全部楼层
我给你做好了一个Easyboot的从硬盘启动,在上一层楼。
回复

使用道具 举报

3#
发表于 2015-9-30 23:29:47 | 显示全部楼层
本帖最后由 有阴也有阳 于 2015-10-2 12:47 编辑

受楼上的启发,我琢磨了一下,尽量符合“不管硬盘上是什么操作系统,多少个分区”,都能启动硬盘上的操作系统的要求:

title 从硬盘上启动 Windows NT/2K/XP/2K3系统
root && map (hd0) (hd1)
root && map (hd1) (hd0)
root && map --hook
find --set-root /ntldr
chainloader /ntldr

title 从硬盘上启动 Win7/Win8/Win10系统
root && map (hd0) (hd1)
root && map (hd1) (hd0)
root && map --hook
find --set-root /bootmgr
chainloader /bootmgr

title 从硬盘上启动 Windows 9x/Me系统
root && map (hd0) (hd1)
root && map (hd1) (hd0)
root && map --hook
find --set-root /io.sys
chainloader / io.sys

大概要分成以上3条,实在无法做到象Easyboot一样:

从硬盘启动
boot 80


这么简单,推荐你还是用我给你的间接转的方式——从按下回车键到进入本地硬盘启动只需2——3秒。
回复

使用道具 举报

4#
发表于 2015-10-1 00:31:35 | 显示全部楼层
2012列兵 发表于 2015-9-30 21:00
iftitle [find --set-root --devices=h /bootmgr && call set bootmgr=%@root^%]  Load BOOTMGR of Microso ...

iftitle [find --set-root --devices=h /bootmgr && call set bootmgr=%@root^%]  Load BOOTMGR of Microsoft Windows NT6.x on %bootmgr%
chainloader %bootmgr%/bootmgr

这一条好象有问题,在grub4dos0.4.6a的实测中,在主菜单界面就显示不出来—— Load BOOTMGR of Microsoft Windows NT6.x on ,麻烦楼主检查一下。
回复

使用道具 举报

5#
发表于 2015-10-1 22:31:56 | 显示全部楼层
本帖最后由 有阴也有阳 于 2015-10-1 22:33 编辑
Limpo 发表于 2015-10-1 22:11
3楼的方案理论上对路,我设置好后光盘启动菜单也出现了,可是选择后就又从优盘启动了。
8楼的方法似乎对路 ...


“3楼的方案理论上对路,我设置好后光盘启动菜单也出现了,可是选择后就又从优盘启动了。

8楼的方法似乎对路,但是最终的结果一样,闪一下就又从优盘启动了。”————那是你的

启动U盘的启动模式是USB——HDD,被主板认作了硬盘,第一硬盘,还是C盘,解决的办法:

title 从第一硬盘启动
rootnoverify (hd1)
chainloader (hd1)+1

实际是从第二硬盘的第一扇区启动,但在启动模式是USB——HDD的启动U盘中使用就会从第

一块硬盘的第一扇区启动......
回复

使用道具 举报

6#
发表于 2015-10-2 11:31:39 | 显示全部楼层
本帖最后由 有阴也有阳 于 2015-10-2 12:52 编辑
Limpo 发表于 2015-10-1 23:57
谢谢“有阴也有阳”的提醒,确实hd0已经不是硬盘了,但是直接引导 hd1 也不成功,map (hd1) (hd0) 就可以了 ...


以下2个也应该能成功:

title 从硬盘启动计算机

map (hd0) (hd1)

map (hd1) (hd0)

map --hook

root (hd0,0)

chainloader +1


title 从硬盘上启动计算机

root && map (hd0) (hd1)

root && map (hd1) (hd0)

root && map --hook

root (hd0,0)

chainloader +1


“直接引导 hd1 也不成功”——这可能是有的主板只支持从第一块硬盘启动,要从第二块硬盘启动就必须把第二块硬盘映射成第一块硬盘才能启动:

命令map:

当你有两块硬盘,一个无法从第二块硬盘启动的操作系统,例如Windowsxp,就可以使用map命令,能够将hd0映射为hd1,将hd1映射为hd0。

换句话说,可以虚拟的交换两个硬盘而启动所需要的操作系统 。命令形式如下:

grub> map (hd0) (hd1)——将hd0映射为hd1
grub> map (hd1) (hd0)——将hd1映射为hd0

你的“if %@root%==(hd0,0) map (hd1) (hd0)”命令已经将hd1映射为hd0,下面再从hd0的第1扇区启动就实际上是从hd1的第1扇区启动,

故而获得了成功——避开了hd0的启动U盘,从hd1的电脑的第1块硬盘的第1扇区启动了。

原来不成功的指令:

title 从第一硬盘启动
rootnoverify (hd1)
chainloader (hd1)+1

改为:

title 从第一硬盘启动
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0)
chainloader (hd0)+1

就应该可以成功了。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-6 15:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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