无忧启动论坛

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

[教程] 修改GRUB4DOS源代码编译成“中文”(汉化)版本教程

    [复制链接]
跳转到指定楼层
1#
发表于 2014-5-26 20:42:38 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 moneyjin 于 2014-5-28 07:57 编辑

    chenall大神曾发布声明,自 2011-12-06 之后的版本不再编译内置中文的版本,也就是说 2011-12-06 之后不再有中文版的GRUB4DOS了,如果用中文版的grldr做启动U盘,启动后的界面如下图:
         菜单及底部的帮助信息都是中文显示的!

    如果用英文版的grldr做启动U盘,启动后的界面如下图:
        
     菜单是中文的,但是底部的帮助信息(就是 press enter or 'b' to boot。。。这些内容)却是英文的,如何让这些信息也以中文显示呢?由于GRUB4DOS是开源的,可以下载GRUB4DOS的源代码进行适当修改再编译,得到一个“中文”(汉化)版本的GRUB4DOS!当然这个不是真正意义上的中文版,只能说是汉化版吧!下面是具体的操作方法及步骤。
    1、下载GRUB4DOS编译器及源代码
    在GRUB4DOS的下载主页上就有chenall大神提供的编译器,文件名是grub4dos_dev_2013-02-03.zip,下载后,把压缩包里面的grub4dos_dev文件夹提取到E盘根目录,在E盘根目录新建个colinux文件夹,这就搭建好了编译环境了!如果你想把colinux目录放到其它分区,修改grub4dos_dev\g4d_dev目录下的config.ini文件,里面有行cofs0=e:\colinux,改这行代码就行了,比如改成cofs0=g:\colinux,本例不作任何改动。
    下载一个目前最新的grub4dos-0.4.6a-2014-01-17.7z,打开里面的Get_Source_of_This_Build.txt文件,里面就有源代码的下载地址:svn co -r 371 http://grub4dos-chenall.googlecode.com/svn/branches/yaya-0.4.6a grub4dos,下载地址后面的grub4dos是个目录名,表示把下载的代码文件保存到E:\colinux\grub4dos这个目录。Get_Source_of_This_Build.txt文件的内容如下图:
   
   双击grub4dos_dev文件夹里的#quick_start(直接启动).cmd运行编译器,在编译器界面输入:
   cd /mnt/cofs 按回车键 ###这步必不可少
   然后复制下载地址,在编译器界面上单击右键粘贴上去,按回车键,很快源代码文件就下载好了!如图所示:
   

   2、修改源代码
   要汉化修改的源代码文件主要是stage2目录内的stage2.c文件,还有cmdline.c文件,builtins.c文件不好修改,因此修改stage2.c、cmdline.c文件就行了。先下载个旧版的有中文版的GRUB4DOS,里面有个patch-chinese.diff文件,这个就是中文版本的补丁了,用Notepad++打开stage2.c、cmdline.c、patch-chinese.diff文件,参照patch-chinese.diff文件来修改stage2.c、cmdline.c里面的代码,把相应的英文字符串改成中文的,比如将"\n Use the %c and %c keys to highlight an entry."改成"\n  用 %c 和 %c 两键将一个菜单项置为高亮。"等,当然便捷的方法是下载本帖提供的附件,里面有个汉化补丁文件patch.diff,把这个文件放到E:\colinux目录,在编译器界面输入:
    cd /mnt/cofs 回车
    patch -b -p0 <patch.diff 回车
   很快就修改好了,如图所示:
   
   要说明的是这个补丁只适用于当前的grub4dos-0.4.6a-2014-01-17版本,要修改其它版本的可以用Notepad++打开这个补丁文件,里面有注释,根据stage2.c、cmdline.c文件的实际情况修改代码就能用了!更快捷的方法是用附件里面的stage2.c、cmdline.c文件,这两个文件是已经修改好了的,直接用来替换stage2目录里的文件就行了!
   3、进行再编译
   源代码修改好了,剩下的自然是编译出“成品”了。但是编译之前必须用Notepad++打开grub4dos里的build文件,把第19行代码“[ ! $GRUB4DOS_TEMP ] && GRUB4DOS_TEMP = grub4dos-temp”改成“[ ! $GRUB4DOS_TEMP ] &&GRUB4DOS_TEMP=grub4dos-temp”,就是把后面的 GRUB4DOS_TEMP = grub4dos-temp 的空格都去掉,因为经本人测试不改的话编译就提示GRUB4DOS_TEMP:not found,从而导致编译失败!!!附件也有一个改好了的build文件,直接替换即可!
    在编译器界面输入:
    cd grub4dos 回车
    make 回车
    如图所示:
      
    编译需要一点时间,如果出现下面的图就表示成功了:
   

    好了,一切大功告成,在grub4dos目录内生成一个grub4dos-0.4.6a-2014-05-26.7z,把里面的grldr提取出来,这个就是汉化版的grldr了(附件也提供了)!上张用这个grldr做的U盘启动效果图:
   

    要提出的是,用汉化的grldr显示中文菜单依然要满足以下三个条件:
    1.通过graphicsmode命令开启vbe模式,例如 graphicsmode -1 640:800
      2.下载unfont.hex字库并通过font命令加载,例如 font /unifont.hex.gz
      3.菜单文件使用utf-8编码格式
    最后,向Grub4DOS致敬,向chenall等大神致敬!!!

    最最后,感谢领导,感谢CCTV,感谢 527104427大元帅。。。尤其是感谢 不点 大神!!!
    GRUB4DOS编译器下载:http://code.google.com/p/grub4dos-chenall/downloads/detail?name=grub4dos_dev_2013-02-03.zip
    附件: 补丁文件.rar (184.68 KB, 下载次数: 335)

评分

参与人数 6无忧币 +30 收起 理由
有阴也有阳 + 5 很给力!
diskmans + 5 很给力!
2010jct1982 + 5 很给力!
2012liub + 5 很给力!
阿弥陀佛 + 5 很给力!感谢分享
527104427 + 5 非常有研究精神,追根究底,佩服

查看全部评分

推荐
发表于 2014-5-27 17:39:33 | 只看该作者
527104427 发表于 2014-5-27 14:18
请教一下楼主,在XP下似乎下载源码不成功,不知道问题出在哪?colinux文件夹还是空的
用命令:
svn c ...

先看下里面的说明,
colinux文件夹默认是e:\colinux,先建立e:\colinux文件

/mnt/cofs目录的内容就是e:\colinux目录的内容。

看截图是下载到用户目录中去了(在内存中)
回复

使用道具 举报

推荐
发表于 2014-5-27 14:40:09 | 只看该作者
执行 svn 命令的地方,应该是在 colinux 目录。

用 pwd 命令,看看当前目录是不是 colinux,如果不是,则需要

cd /mnt/colinux

之类的动作。

回复

使用道具 举报

推荐
发表于 2014-5-28 15:08:00 | 只看该作者
牛。比。啊。。。收藏此教程了。。。
回复

使用道具 举报

推荐
发表于 2014-5-27 23:20:41 | 只看该作者
这个教程好,强烈建议置顶
回复

使用道具 举报

推荐
发表于 2014-5-27 21:05:32 | 只看该作者
好教程,希望多多此类好帖子,必须支持的!
回复

使用道具 举报

推荐
发表于 2014-5-27 20:51:42 | 只看该作者
多谢各位解答,现在完美下载,完美编译,学习ing
回复

使用道具 举报

推荐
发表于 2014-5-26 22:00:03 | 只看该作者
红字标出的 bug,我印象中早就解决了,怎么仍是遗留下来没解决?

难道 chenall 只是修正了 0.4.5c 而没有修正 0.4.6a?

关于语言字符问题,chenall 有时间的话,看看如何改进一下。

中文菜单下,掺杂英文,这也应该算是 bug。

可以加上一个判断,在 vbe 图形模式以及中文字库已经加载的情况下,底部的帮助信息显示中文而不是英文。具体的操作可以这样:只要发现菜单含有中文,就认为目标用户是中文用户,于是底部的信息都用中文来显示。

当然 chenall 可以权衡一下,看看有没有更好的办法。


点评

不点大的建议很好。  发表于 2014-5-27 13:02
红字标出的确实是我测试发现的bug!大神提出的建议确实很好,希望chenall能考虑下了!  详情 回复 发表于 2014-5-26 23:01
回复

使用道具 举报

25#
发表于 2020-12-12 16:01:24 | 只看该作者
这下就能纯中文使用GRUB4DOS了
回复

使用道具 举报

24#
发表于 2015-1-19 00:11:59 | 只看该作者
{:soso_e100:} 自己动手按照楼主教程 汉化了一小部分,有需要的可以下载用用看:
https://copr-be.cloud.fedoraproj ... 8-1.fc21.x86_64.rpm
回复

使用道具 举报

23#
发表于 2015-1-9 19:53:39 | 只看该作者
permission denied 怎么破
回复

使用道具 举报

22#
发表于 2015-1-8 14:44:44 | 只看该作者
强大,可惜本人菜鸟不会看明白
回复

使用道具 举报

21#
发表于 2014-12-19 10:52:20 | 只看该作者
谢谢,我已经众c大那下了grub4dos_dev_2014-06-25.7z。不知道是否一样可用
回复

使用道具 举报

20#
发表于 2014-12-19 10:39:14 | 只看该作者
2013abcdefg 发表于 2014-12-19 10:22
GRUB4DOS编译器下载:http://code.google.com/p/grub4dos-chenall/downloads/detail?name=grub4dos_dev_201 ...

链接:http://pan.baidu.com/s/1sj0S773
密码:g4ge
回复

使用道具 举报

19#
发表于 2014-12-19 10:22:51 | 只看该作者
GRUB4DOS编译器下载:http://code.google.com/p/grub4do ... _dev_2013-02-03.zip
这个能提供一个吗?我这根本打不开,google被屏P了

点评

链接:http://pan.baidu.com/s/1sj0S773 密码:g4ge  详情 回复 发表于 2014-12-19 10:39
回复

使用道具 举报

18#
发表于 2014-12-18 22:27:03 | 只看该作者
谢谢分享,支持个。
回复

使用道具 举报

17#
发表于 2014-6-7 21:59:43 | 只看该作者
还在学习中,是否因为净网行动,网页都打不开了
回复

使用道具 举报

16#
发表于 2014-5-29 09:33:39 | 只看该作者
很好的教程,,小白来点赞
回复

使用道具 举报

10#
 楼主| 发表于 2014-5-27 16:53:05 | 只看该作者
本帖最后由 moneyjin 于 2014-5-27 17:46 编辑
527104427 发表于 2014-5-27 14:18
请教一下楼主,在XP下似乎下载源码不成功,不知道问题出在哪?colinux文件夹还是空的
用命令:
svn c ...


colinux目录必须放在E盘根目录,你的放在G盘了,如果要想放在其它盘,要修改grub4dos_dev\g4d_dev目录下的config.ini文件,里面有行cofs0=e:\colinux,改这行代码就行了,比如改成cofs0=g:\colinux。运行编译器,先输入 cd /mnt/cofs 回车 ,再复制粘贴下载地址按回车就能下载了,这点是我疏忽了,谢谢你的反馈了!现帖子已重新更正了!
回复

使用道具 举报

8#
发表于 2014-5-27 14:18:59 | 只看该作者
moneyjin 发表于 2014-5-27 11:27
谢谢 527104427 大元帅了!大家共同学习,交流提高了!


请教一下楼主,在XP下似乎下载源码不成功,不知道问题出在哪?colinux文件夹还是空的
用命令:
svn co -r 372 http://grub4dos-chenall.googlecode.com/svn/branches/yaya-0.4.6a grub4dos

11.png (225.31 KB, 下载次数: 264)

11.png

点评

先看下里面的说明, colinux文件夹默认是e:\colinux,先建立e:\colinux文件 /mnt/cofs目录的内容就是e:\colinux目录的内容。 看截图是下载到用户目录中去了(在内存中)  详情 回复 发表于 2014-5-27 17:39
colinux目录必须放在E盘根目录,你的放在G盘了,如果要想放在其它盘,要修改grub4dos_dev\g4d_dev目录下的confin.ini文件,里面有行cofs0=e:\colinux,改这行代码就行了  详情 回复 发表于 2014-5-27 16:53
回复

使用道具 举报

7#
 楼主| 发表于 2014-5-27 11:27:01 | 只看该作者
527104427 发表于 2014-5-27 10:52
好教程,值得推广

谢谢 527104427 大元帅了!大家共同学习,交流提高了!

点评

请教一下楼主,在XP下似乎下载源码不成功,不知道问题出在哪? 用命令: svn co -r 372 http://grub4dos-chenall.googlecode.com/svn/branches/yaya-0.4.6a grub4dos  详情 回复 发表于 2014-5-27 14:18
回复

使用道具 举报

6#
发表于 2014-5-27 10:52:37 | 只看该作者
好教程,值得推广

点评

谢谢 527104427 大元帅了!大家共同学习,交流提高了!  详情 回复 发表于 2014-5-27 11:27
回复

使用道具 举报

5#
发表于 2014-5-27 05:47:00 | 只看该作者
moneyjin 发表于 2014-5-26 23:01
红字标出的确实是我测试发现的bug!大神提出的建议确实很好,希望chenall能考虑下了!

红色的BUG已在最新版修复,只需要直接下载最新版就没有问题的。
你下载的是r371的不是最新版的
回复

使用道具 举报

4#
发表于 2014-5-27 00:52:26 | 只看该作者
干净利索的教程。
回复

使用道具 举报

3#
 楼主| 发表于 2014-5-26 23:01:45 | 只看该作者
不点 发表于 2014-5-26 22:00
红字标出的 bug,我印象中早就解决了,怎么仍是遗留下来没解决?

难道 chenall 只是修正了 0.4.5c 而没 ...

红字标出的确实是我测试发现的bug!大神提出的建议确实很好,希望chenall能考虑下了!

点评

红色的BUG已在最新版修复,只需要直接下载最新版就没有问题的。 你下载的是r371的不是最新版的  详情 回复 发表于 2014-5-27 05:47
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 20:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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