无忧启动论坛

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

[已解决] wee啟動grub.exe grldr等問題

[复制链接]
跳转到指定楼层
1#
发表于 2013-8-27 10:47:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fredguo 于 2013-8-28 06:17 编辑

各位好

在使用wee上想要啟動grub4dos
但grub4dos的目錄在c:\tools下
menu.lst亦在c:\tools下

1. 因grub.exe檔案易受病毒感染,所以想使用grldr
    但grldr無法使用--config-file來設定menu.lst的位置
    請問grldr可以使用自訂menu.lst的存放位置嗎?

2. 使用grub.exe --config-file
    wee的設定
    find --set-root /tools/grub.exe --config-file=/tools/menu.lst
    結果可以進grub但無法使用menu.lst
    root (hd0,0)
    /tools/grub.exe --config-file=/tools/menu.lst
    結果可以進grub且可以使用menu.lst
    find --set-root /tools/grub.exe /tools/grub.exe --config-file=/tools/menu.lst
    結果可以進grub但無法使用menu.lst
    請問為什麼find --set-root無法使用,和root (hd0,0)有何差異
    最後使用
    find --set-root /tools/grub.exe /tools/grub.exe --config-file=";find --set-root /tools/menu.lst;configfile /tools/menu;"

3. Grub4dos的光碟啟動
   小弟使用天空論壇的五子登科PE
   先將PE做成ISO
   再利用grub4dos的ISO開機
   map /tools/max.iso (0xff)
   chainloader (0xff)
   boot
   結果win2003 PE可以正常開啟
   而Win7 PE可開機,卻無法正常掛載程式
   似乎是由grub4dos做成的虛擬光碟不見了
   同樣發生在測試IBM Server Guide的光碟片
   請問是否有方式保持開機後保持iso的虛擬光碟掛載?

以上為小弟奇怪的作法
想請教大家
謝謝

2#
发表于 2013-8-27 14:43:43 | 只看该作者
第三个问题最容易答复,所以,我先答复它。grub4dos 只管启动 ISO,不管启动以后这个 ISO 是否被保护模式的操作系统识别。负责在 Windows 下识别 ISO 的软件是 firadisk 或 winvblock。请了解相关信息,然后再采取行动。
回复

使用道具 举报

3#
发表于 2013-8-27 15:19:09 | 只看该作者
相对而言,问题 1 也比较容易回答。grub.exe 染病毒的可能性也并不大。如果你觉得 exe 后缀容易导致病毒攻击,你可以更改为别的后缀,不影响在 wee 和 grub4dos 下的使用。只有 DOS 才要求 grub.exe 带有 EXE 后缀,否则,DOS 下无法运行 grub.exe。

grldr 不支持命令行参数,因此,你无法用 grldr --config-file=... 的方式来使用 grldr。

评分

参与人数 1无忧币 +1 收起 理由
fredguo + 1 原來還可以不用.exe

查看全部评分

回复

使用道具 举报

4#
发表于 2013-8-27 15:41:20 | 只看该作者
这条命令的用法似乎是错的:

find --set-root /tools/grub.exe --config-file=/tools/menu.lst

find 的第一个文件名参数是要找的文件,紧接着应该是一条返回 True 或 False 的 grub4dos 命令,表示限定条件,而不应该是一个类似于 --config-file 的参数。

下面这个:

find --set-root /tools/grub.exe /tools/grub.exe --config-file=/tools/menu.lst

我没看出有什么错误,但你却说不行。或许你的 Wee 版本不够新?或许 Wee 有 bug?有待考证。

最后这个,结尾是不是漏掉了 .lst 呢?
find --set-root /tools/grub.exe /tools/grub.exe --config-file=";find --set-root /tools/menu.lst;configfile /tools/menu;"

点评

find --set-root /tools/grub.exe --config-file=/tools/menu.lst我打錯了 實際是 find --set-root /tools/grub.exe /tools/grub.exe --config-file=/tools/menu.lst 這樣亦會錯誤  详情 回复 发表于 2013-8-27 16:05
謝謝不點的回復 wee的版本為BootICE 1.10 wee 2012-11-05 find --set-root /tools/grub.exe 會回(0x80,0) 若root (hd0,0) 會回(0x80,0):3f,c7ff53f:80,07:ntfs 所以用root(hd0,0)的話會成功 用find --set-ro  详情 回复 发表于 2013-8-27 16:02
回复

使用道具 举报

5#
 楼主| 发表于 2013-8-27 16:02:56 | 只看该作者
不点 发表于 2013-8-27 15:41
这条命令的用法似乎是错的:

find --set-root /tools/grub.exe --config-file=/tools/menu.lst

謝謝不點的回復
wee的版本為BootICE 1.10  wee 2012-11-05
find --set-root /tools/grub.exe
會回(0x80,0)
若root (hd0,0)
會回(0x80,0):3f,c7ff53f:80,07:ntfs
所以用root(hd0,0)的話會成功
用find --set-root會失敗

確實是少了.lst
回复

使用道具 举报

6#
 楼主| 发表于 2013-8-27 16:05:32 | 只看该作者
不点 发表于 2013-8-27 15:41
这条命令的用法似乎是错的:

find --set-root /tools/grub.exe --config-file=/tools/menu.lst

find --set-root /tools/grub.exe --config-file=/tools/menu.lst我打錯了
實際是
find --set-root /tools/grub.exe /tools/grub.exe --config-file=/tools/menu.lst
這樣亦會錯誤
回复

使用道具 举报

7#
发表于 2013-8-27 16:38:39 | 只看该作者
你的 Wee 版本是最新的,看来 Wee 还有小毛病。
find --set-root /tools/grub.exe
會回(0x80,0)
若root (hd0,0)
會回(0x80,0):3f,c7ff53f:80,07:ntfs


这里的设备都是 (0x80,0),因此是等价的。怀疑 find 命令有 bug,没能把当前的设备号 (0x80,0) 传递给 grub.exe。试试这样:

find --set-root /tools/grub.exe
/tools/grub.exe --config-file=/tools/menu.lst

看能否成功?

如果依然失败,再试试:

find --set-root /tools/grub.exe
root
/tools/grub.exe --config-file=/tools/menu.lst

点评

剛做測試,結果失敗 需要用root (hd0,0)才可成功  详情 回复 发表于 2013-8-27 16:47
回复

使用道具 举报

8#
 楼主| 发表于 2013-8-27 16:47:07 | 只看该作者
不点 发表于 2013-8-27 16:38
你的 Wee 版本是最新的,看来 Wee 还有小毛病。

剛做測試,結果失敗
需要用root (hd0,0)才可成功
回复

使用道具 举报

9#
发表于 2013-8-27 16:54:36 | 只看该作者
失败时,上述那条不带参数的 root 命令,有没有反馈信息?

点评

上述的失敗 均是可能是速度太快 只見系統立轉為grub4dos的內設menu 無法見到錯誤訊息  详情 回复 发表于 2013-8-27 17:23
回复

使用道具 举报

10#
 楼主| 发表于 2013-8-27 17:23:57 | 只看该作者
不点 发表于 2013-8-27 16:54
失败时,上述那条不带参数的 root 命令,有没有反馈信息?

上述的失敗
均是可能是速度太快
只見系統立轉為grub4dos的內設menu
無法見到錯誤訊息
回复

使用道具 举报

11#
发表于 2013-8-27 17:30:06 | 只看该作者
启动时,快速按 c 键进入命令行,在命令行手动敲入测试的命令,就可以看到信息了。

回复

使用道具 举报

12#
 楼主| 发表于 2013-8-27 20:52:42 | 只看该作者
我的測試均用c鍵進入命令列測試的
find --set-root /tools/grub.exe /tools/grub.exe --config-file=/tools/menu.lst (無法載入menu.lst)
find --set-root /tools/grub.exe /tools/grub.exe "" --config-file=/tools/menu.lst (無法載入menu.lst)

find --set-root /tools/grub.exe
root
/tools/grub.exe --config-file=/tools/menu.lst (無法載入menu.lst)

find --set-root /tools/grub.exe
root ()
/tools/grub.exe --config-file=/tools/menu.lst (無法載入menu.lst)

root(hd0,0)
/tools/grub.exe --config-file=/tools/menu.lst (OK)

find --set-root /tools/grub.exe /tools/grub.exe --config-file=";find --set-root /tools/menu.lst;configfile /tools/menu.lst;" (OK)

以上是測試的結果
測試中均看不到訊息
回复

使用道具 举报

13#
发表于 2013-8-27 23:25:22 来自手机 | 只看该作者
真神奇,没见过这样用的,把grub4dos下的命令和dos下的批处理命令混在一起使用。不过以后也难说,说不定哪天开发者真提供这样的用法,那也见怪不怪了。
回复

使用道具 举报

14#
发表于 2013-8-27 23:44:52 | 只看该作者
发现 wee 的源代码文件 builtins.c 中有一个小毛病:
  1. *(long *)(void *)(p + 0x08) = saved_partition;
复制代码
请自行更改为:
  1. *(long *)(void *)(p + 0x08) = (saved_partition | 0xFFFF);
复制代码
然后重新编译。很抱歉,我目前不在家,没有编译环境。

wee 的源代码的网址是:

https://code.google.com/p/grubutils/source/browse/grubutils/wee/

评分

参与人数 1无忧币 +4 收起 理由
fredguo + 4 感謝你

查看全部评分

回复

使用道具 举报

15#
 楼主| 发表于 2013-8-28 06:16:02 | 只看该作者
因為我不會Compiler,且一直是配合BootICE使用
我等下次改版就好了
回复

使用道具 举报

16#
发表于 2013-8-28 09:39:48 | 只看该作者
用旧版的 Linux 编译了一个。试试看吧。

大家可以等待 chenall 或 Roy 用新版的 gcc 来编译。

wee.zip

435.72 KB, 下载次数: 14, 下载积分: 无忧币 -2

修复了不能给 grub.exe 传递正确分区号的问题

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 07:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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