不点 发表于 2011-2-13 16:58:21

回复 #60 sratlf 的帖子

以上这些都变了。第1至6项中,关于 0x68000 的,就不必考虑了,它们已经挪到扩展内存中了。第4、5 两项中的 0x600 处的内存,还是可能被使用。不过,这类文件系统很少见,Windows 用户一般不用它们。所以,也可以忽略。

第7项的内存,似乎挪到 0x20000 - 0x2FFFF 了。然而,geometry 命令的一部分代码有可能还在使用 0x50000 - 0x5FFFF 的空间。

以后 chenall 或许会把这些混乱情况加以整顿。在没整顿以前,0x50000 - 0x5FFFF 的空间有可能被 grub4dos 写入数据,破坏这里原有的内存。所以,尽量不要在这里保存用户的有用资料。

sratlf 发表于 2011-2-13 21:37:41

回复 #61 不点 的帖子

好的谢谢不点大还有个问题要问下发行版中的 grub.pif 这个文件是做什么用的应该怎样使用

NicTense 发表于 2011-2-14 02:11:40

最基本的东西lianjiang的那个教程已经很全面了

我觉得主要还是增加一些新的命令的说明和例子,以及一些高级应用的例子

去年用的时候也有想法要写一个补充教程,结果半年多没用,我发现全忘光了,现在写个菜单都要查help


ps: grub.pif文件我估计是没用的吧,pif文件好像就是快捷方式而已吧

[ 本帖最后由 NicTense 于 2011-2-14 02:13 编辑 ]

不点 发表于 2011-2-14 07:51:27

grub.exe 在 win98 下启动的时候,需要首先进入实模式才能成功。

因此,制作了一个 grub.pif 文件,与 grub.exe 放在一起。当 grub.exe 被 win98 启动的时候,win98 会自动从快捷方式文件 grub.pif 中找到启动的方式信息,也就是说,首先进入实模式,然后再启动 grub.exe。

devilma 发表于 2011-2-14 15:38:02

版主支持你写个最新的教程吧,liangjiang那个好多已经跟不上目前Grub4dos开发的速度了

天涯海角1216 发表于 2011-2-17 11:07:00

请教 sratlf :

将 (hd0)557134205+40 扇区写入到 (hd0)0 扇区的命令怎么写?
谢谢!

sratlf 发表于 2011-2-17 11:40:39

回复 #66 天涯海角1216 的帖子

这个真的不知道 。。。。

dd if=(hd0)557134205+40 of=(hd0)0???

不点 发表于 2011-2-17 11:53:31

回复 #66 天涯海角1216 的帖子

如果你确信这样写不会毁掉分区表的话,应该是这样的:

dd if=(hd0)557134205+40 of=(hd0)0+40

这样会覆盖掉 MBR 上的 40 个扇区。

这类的“徒手操作”,都是很危险的。我就曾经弄错过。说说我的亲身经历:

本来想对硬盘 hd0 的分区表进行写入,想抹掉 hd0 的分区 0,我事先知道它是多余的,可以抹掉。

但是,从 U 盘启动后,U 盘变成了 hd0,结果,想当然地用 partnew (hd0,0) 0 0 0 来抹掉第一个分区的表项。结果,抹掉的是 U 盘的分区表项,造成了一个不算太大的事故。

徒手操作非常危险,即使很小心都不行的。

blithewind 发表于 2011-2-17 12:09:25

原帖由 Plantsoot 于 2011-2-12 09:16 发表 http://bbs.wuyou.net/images/common/back.gif
checkrange 0x21 read 0x8280 && pxe detect NotExist

判断是否为PXE启动,如果是PXE启动,指定一个不存在的配置文件“NoExist”,
让PXE启动时不去搜索PXE服务器上的其他配置文件,加快启动速度(pseudo 大 ...


我倒是觉得这种写法并不能加速启动速度。
既然判断为PXE启动了,通常情况下就是直接搜索加载PXE服务器上的菜单文件了,或者 goto 、 fallback --go XX等去转到其它地方进行下一步的处理。

最基本的用法如:

checkrange 0x21 read 0x8280 && pxe detect
默认搜索/menu.lst或者/menu.lst/default并加载。

或者如
checkrange 0x21 read 0x8280 && pxe detect /BOOT/GRUB/MENU/PXEGRUB.5U && configfile
直接看PXE服务器上是否存在 /BOOT/GRUB/MENU/PXEGRUB.5U并加载。

所以,在最新版的0PE中已经注释掉这一句了。

[ 本帖最后由 blithewind 于 2011-2-17 12:12 编辑 ]

blithewind 发表于 2011-2-17 12:15:04

原帖由 不点 于 2011-2-17 11:53 发表 http://bbs.wuyou.net/images/common/back.gif
如果你确信这样写不会毁掉分区表的话,应该是这样的:

dd if=(hd0)557134205+40 of=(hd0)0+40

这样会覆盖掉 MBR 上的 40 个扇区。

这类的“徒手操作”,都是很危险的。我就曾经弄错过。说说我的亲身经 ...


还有危险在于能否确定(hd0)是谁,由于grub现在经常存在交换磁盘的操作,稍有不慎就会混淆到底哪块磁盘才是自己写入数据的对象。

天涯海角1216 发表于 2011-2-17 14:09:23

回复 #68 不点 的帖子

非常感谢!

我将分区表信息确保正确的前提下操作,否则可就拜拜了,呵呵

pseudo 发表于 2011-2-17 15:06:32

原帖由 blithewind 于 2011-2-17 12:09 发表 http://bbs.wuyou.net/images/common/back.gif
...
所以,在最新版的0PE中已经注释掉这一句了。

grldr内置菜单有这句。

合盘时由合盘菜单负责pxe detect,供合盘调用的外置菜单menu.0pe注释掉这句,以免重复。
这是0PE的grldr内置菜单与外置菜单menu.0pe唯一区别。

pxe detect NotExist不需要再从服务器下载菜单文件,而使用已经下载的grldr的内置菜单。

甚至不会搜索服务器端任何菜单文件,因为NotExist不是/NotExist,做词法/语法分析后估计就认为不需要找了:pxe detect
...
If MENU_FILE starts in a "/", then the MENU_FILE on the PXE server will gain
control, else(if MENU_FILE does not start in a "/") no menu will be executed.

[ 本帖最后由 pseudo 于 2011-2-17 15:15 编辑 ]

blithewind 发表于 2011-2-17 15:36:14

原帖由 pseudo 于 2011-2-17 15:06 发表 grldr内置菜单有这句。合盘时由合盘菜单负责pxe detect,供合盘调用的外置菜单menu.0pe注释掉这句,以免重复。这是0PE的grldr内置菜单与外置菜单menu.0pe唯一区别。pxe detect NotExist不需要再从服 ... 谢谢!这下明白怎么回事了.顺便请教下:1、这个pxe detect 可否不使用?2、我合盘中使用了子菜单,网启时如何让子菜单返回主菜单时不重新下载主菜单?

pseudo 发表于 2011-2-17 20:59:48

要用grldr访问服务器端资源,应该免不了这个初始化pxe栈的操作。

只有设法把主菜单放在内存并且是方便仿问的形式。

不点 发表于 2011-2-23 12:10:53

看到 sratlf 在 googlecode 上建立了一个 grub4dos-help-doc 项目。

发现有一个小问题。在 http://code.google.com/p/grub4dos-help-doc/source/detail?r=71 看到了如下的乱码:


        /trunk/GRUB4DOS菜单编写.htm        diff
       

        1         +         <html>
        2         +         <head>
        3         +         <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        4         +         <link href="cmd.css" rel="stylesheet" type="text/css">
        5         +         <title>GRUB4DOS ²Ëµ¥±àд</title>
        6         +         </head>
        7         +        
        8         +         <body>
        9         +         <h1>GRUB4DOS²Ëµ¥Îļþ±àд
        10         +         </h1>
        11         +         <p>²Ëµ¥Îļþ¿ÉÒÔ·ÖΪÁ½¸ö²¿·Ö£º²Ëµ¥Í·ºÍ²Ëµ¥ÕýÎÄ¡£</p>
        12         +         <p>²Ëµ¥Í·ÓÃÀ´ÉèÖÃһЩȫ¾Ö²ÎÊý£¬ÀýÈç²Ëµ¥ÑÕÉ«´îÅä¡¢¼ÓÔØÖÐÎÄÖ§³Ö¡¢Ä¬Èϲ˵¥ÏĬÈϵȴýʱ¼äµÈ¡£</p>
        13         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#background">background</a> ʹÓà unifont ·½Ê½¼ÓÔØÖÐÎÄ×Ö¿âºó£¬ÉèÖÃͼÐÎģʽϲ˵¥±³¾°É«¡£</p>
        14         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#color">color</a> ʹÓÃÎı¾Ä£Ê½ÏÔʾ²Ëµ¥Ê±£¬ÉèÖò˵¥ÑÕÉ«¡£</p>
        15         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#command">command</a>£¨Ò²¿ÉÓÃÔڲ˵¥ÕýÎÄÖУ©Ê¹Óà --set-path ²ÎÊýÉèÖÃÍⲿÃüÁîËùÔÚλÖá£</p>
        16         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#debug">debug</a>£¨Ò²¿ÉÓÃÔڲ˵¥ÕýÎÄÖУ© ÉèÖõ÷ÊÔ¼¶±ð¡£</p>
        17         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#default">default</a> ÉèÖÃĬÈϲ˵¥Ïî¡£</p>
        18         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#fontfile">fontfile</a> ʹÓÃÎı¾Ä£Ê½ÏÔʾ²Ëµ¥Ê±£¬¼ÓÔØÖÐÎÄ×Ö¿â¡£</p>
        19         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#foreground">foreground</a> ʹÓà unifont ·½Ê½¼ÓÔØÖÐÎÄ×Ö¿âºó£¬ÉèÖÃͼÐÎģʽϲ˵¥Ç°¾°É«¡£</p>
        20         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#gfxmenu">gfxmenu</a> ʹÓÃgfxmenu²Ëµ¥¡£</p>
        21         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#password">password</a>£¨Ò²¿ÉÓÃÔڲ˵¥ÕýÎÄÖУ© ÉèÖÃÈ«¾ÖÃÜÂ룬ÉèÖóɹ¦ºóÖ»ÓÐÊäÈëÕýÈ·ÃÜÂë²ÅÄÜʹÓÃ<a href="./GRUB4DOS5ÆäËûÏà¹Ø.htm#a">²Ëµ¥¿ì½Ý¼ü</a>¡£</p>
        22         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#pxe">pxe</a> pxe Æô¶¯Ïà¹Ø²ÎÊý¡£</p>
        23         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#splashimage">splashimage</a> ʹÓÃÎı¾Ä£Ê½ÏÔʾ²Ëµ¥Ê±£¬¼ÓÔر³¾°Í¼¡£</p>
        24         +         <p><a href="./GRUB4DOS3ÃüÁîË÷Òý.htm#timeout">timeout</a> ÉèÖò˵¥Ö´ÐÐÇ°µÈ´ýʱ¼ä¡£</p>
        25         +         <p><a href="./GRUB4DOSÍⲿÃüÁîunifont.htm">unifont</a> ʹÓÃͼÐη½Ê½¼ÓÔØÖÐÎÄÖ§³Öʱ¼ÓÔØÖÐÎÄ×Ö¿â¡£</p>
        26         +         </body>
        27         +         </html>


产生乱码的原因是 google 采用 UTF8 编码,所以,无法显示 GB 编码的汉字。

建议 sratlf 把所有的 HTML 文件都换成 UTF8 编码。UTF8 是国际通用编码。

sratlf 发表于 2011-2-23 13:51:57

回复 #75 不点 的帖子

好的,最近不太方便更新,有机会马上更改

sratlf 发表于 2011-3-8 18:16:45

近期发布

chenall 发表于 2011-3-8 19:14:25

看了一下,没有发现什么大问题.

checktime
用法: checktime min hour dom month dow
描述:

不带参数的checktime
输出当前时间
带参数的checktime可以使得某些命令只有在某一时间段内才执行。

命令格式如下:

checktime * * * * *

checktime后面的五个参数分别表示分钟,小时,日期,月份和星期几。*表示全范围,你也可以使用数字,用-表示某一范围,用/表示每隔一定数字取一个值,具体的用法可以查看一下crontab的语法。例子:

1-4
2,5-6
1-2,4-5,7
*/2

checktime本身只是一个测试函数,它判断当前时间是否符合参数的指定。但把它和&&相结合,你就可以使得某些命令只有在一定的条件下才会执行,例如:

上午使用第一项作为缺省项,下午使用第二项
checktime * 0-12 * * * && default 0
checktime * 13-23 * * * && default 1


更多用法
http://bbs.znpc.net/viewthread.php?tid=4591&extra=page%3D2


另外关于clear的介绍.

另类用法: 在菜单中生成一行不可被选中的"空行"。

并非clear才会有这样的效果,只要该菜单项目中没有启动敏感的命令都会使得菜单不可选择


hiddenmenu

3.按键代码如果不清楚可以使用上面的功能来获取。

要改成可以使用pause --test-key来获取



uuid命令部份
find --set-root uuid () 7f95820f-5e33-4e6c-8f50-0760bf06d79c
要实现上面的功能
只需要使用以下命令就可以了.
uuid 7f95820f-5e33-4e6c-8f50-0760bf06d79c

另外,也许应该多介绍一下 && 和 ||

这两个符号也是一个很强大的功能,利用不同的命令组合可以实现多种用途.

操作符 ' && ' and ' || ' and ' ! '
'!'的说法
好像是手误...

另外"!"要求至少有一个&& 或 ||.

command1 ! command2
如果 command1 返回 假,那么 ! 后的 command2 将执行

好像说法不是很贴确

这个"!"应该说是相当于else的功能
if command1 && command2 ! command3
如果 command1 返回真就执行command2 否则执行command3

if command1 || command2 ! command3
如果command1返回假就执行command2 否则执行command3

[ 本帖最后由 chenall 于 2011-3-8 19:17 编辑 ]

xiaoy 发表于 2011-3-8 19:33:14

教程非常好 ,好好学习哦

根贴问一下 checktime的用法 ,如果是PXE启动,可否以服务器时钟为准来判断 ,因为在一些公用机房中客户机时间老是错误

sratlf 发表于 2011-3-8 19:49:53

回复 #78 chenall 的帖子


另外关于clear的介绍.

另类用法: 在菜单中生成一行不可被选中的"空行"。

并非clear才会有这样的效果,只要该菜单项目中没有启动敏感的命令都会使得菜单不可选择


这个我知道   就是防止误操作执行了这项菜单导致什么不良后果

其他的我补充下

chenall 发表于 2011-3-8 19:54:59

原帖由 xiaoy 于 2011-3-8 19:33 发表 http://bbs.wuyou.net/images/common/back.gif
教程非常好 ,好好学习哦

根贴问一下 checktime的用法 ,如果是PXE启动,可否以服务器时钟为准来判断 ,因为在一些公用机房中客户机时间老是错误

使用是的本地的时间.

xiaoy 发表于 2011-3-8 20:13:18

看来得先net time \\server /set再返回GRUB 

快雪时晴 发表于 2011-3-8 21:37:48

哇塞,竟然还用了语法着色

freesoft00 发表于 2011-3-8 21:53:25

下载了一份,真实忒好了。楼主花了不少时间吧。
说声:辛苦了

现存grub4dos更新站点:
http://code.google.com/p/grub4dos-chenall/downloads/list
http://nufans.net/grub4dos/

上面两个都是测试站点,少了正式版的站点
http://download.gna.org/grub4dos/


给nt5x系统增加grub4dos启动项
给nt6x系统增加grub4dos启动项
作为一个教程类文档,这两个部分略显简略,以用户的角度来看对没有接触过的人说明还不是太详细。

[ 本帖最后由 freesoft00 于 2011-3-9 15:39 编辑 ]

sratlf 发表于 2011-3-9 20:46:54

回复 #84 freesoft00 的帖子

可能的话倒是希望你能帮我完善下我对这个不是很了解本来也没将加入的后来想想不合适就简单写了点所以希望能有别人完善下

回复 #85 lianjiang 的帖子

这个我也没有实验过不知能否帮忙改下

lianjiang 发表于 2011-3-9 21:09:02

原帖由 sratlf 于 2011-3-9 20:46 发表 http://bbs.wuyou.net/images/common/back.gif
回复 #85 lianjiang 的帖子

这个我也没有实验过不知能否帮忙改下


grub4dos的readme里就有一个我以前写的批处理,只要根据里面的说明,把
bcdedit/set %vid% device boot >nul
改为
bcdedit/set %vid% device partition=%SystemDrive% >nul
就基本可以了。
--------------------------------------------
Update: Fujianabc pointed out that
bcdedit/set %vid% device boot >nul
should be changed to
bcdedit/set %vid% device partition=%SystemDrive% >nul


或者也可参考这个帖子修改:
新版“Vista启动项中安装与卸载grub4dos项目的批处理”【10-22更新】
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=112291&highlight=

sratlf 发表于 2011-3-9 21:41:42

回复 #88 lianjiang 的帖子

ok我再修改下

zzq82004461 发表于 2011-3-9 21:42:17

先睹为快,谢谢lz的辛勤劳作,谢谢

不点 发表于 2011-3-9 23:16:07

我根据 3月9日的版本作了一些微量的修改。我是先把 chm 转成 word,然后修改的。

我所用的 chm to doc 转换器(是未注册的版本)只转换了一部分,所以也只修改了这一部分。其余的我看了,似乎也没有发现太多的错误。

上载在 http://nufans.net/grub4dos/tinybit/grub4dos-chinese.doc

sratlf 发表于 2011-3-10 00:20:41

回复 #91 不点 的帖子

好的麻烦了
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: 2015_0209_更新,grub4dos帮助文档