无忧启动论坛

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

关于grub4dos从硬盘启动问题求教

[复制链接]
发表于 2010-9-4 11:06:20 | 显示全部楼层 |阅读模式
grub4dos 选择从硬盘启动,要如何写代码,才能把挂在电脑中的硬盘全部按BIOS中设置的主从顺序罗列出来,并且每个硬盘都有主分区和扩展分区的啊。

我的电脑挂着三个硬盘,一个IDE,两个SATA,我想做到选择“从硬盘启动”这个选项,就把三个硬盘列出来,并且象BIOS中那样,把硬盘的名字也列出来,如 BIOS中有显示“WDC WD5000BEVT-00ZAT0”这样的字符,方便自己识别硬盘与罗列出来的对应上。

这样一来,就可以在三个硬盘中任何一个硬盘启动不同的系统了。

感谢各位朋友关注此贴。
发表于 2010-9-4 11:58:24 | 显示全部楼层
这样一来,就可以在三个硬盘中任何一个硬盘启动不同的系统了。

你就写3个菜单,自己写上名字不就好了。还去看是什么型号硬盘*&()*&()&9
第一次把对应的hdx,x写对就是了.
如果用find记得找对不同的文件来识别。
回复

使用道具 举报

 楼主| 发表于 2010-9-4 12:39:03 | 显示全部楼层
谢谢楼上的朋友,三个菜单能解决我的电脑,但遇到和我电脑设置不一样的电脑,又不方便了。我想找到一个一劳永逸的办法,看看要如何才能实现啊,?
回复

使用道具 举报

发表于 2010-9-4 14:22:39 | 显示全部楼层
这个好像在grub4dos的说明中就有的,楼主好好看看帮助文件。
回复

使用道具 举报

 楼主| 发表于 2010-9-4 15:48:24 | 显示全部楼层
楼上朋友,偶E文很菜啊,有没有中文的教程提到这方面的内容? 谢谢
回复

使用道具 举报

发表于 2010-9-4 22:00:24 | 显示全部楼层
请问顶楼的朋友,如果三块(或四块)硬盘型号完全相同,又当如何区分呢?而且,很多时候,用户可能根本不知道自己有几块硬盘,又该何解呢?

在某些服务器上,有可能是5块硬盘组成N个RAID盘,这时候又该如何显示呢?
回复

使用道具 举报

 楼主| 发表于 2010-9-5 00:27:44 | 显示全部楼层
楼上的大大,硬盘名或型号一样,这个问题我倒是没有想到,服务器N个RAID盘,这个情况更复杂,能不能以RAID盘为准区别出来啊?这些我也不懂。我只是想引导的时更实用一些,不想辛苦编写引导菜单,到时候还是启动不了,不爽啊。

       或者如果可能的话,能不能查硬盘(RAID硬盘)的名字或序列号啊?总之,我只想让找到的硬盘设备更容易被区别开来。

至于用户不知道自己有块硬盘,没有关系,大不了把罗列出来的(硬盘)菜单一个个的试一下,总比找不到对应的硬盘,或要进行命令行状态自己用命令查找要来得方便一些啊。这样至少不用去记得那些命令及详细的用法啊。

总之,我的想法就一个,大至如下:

1.问GRUB4DOS,当前BIOS设置中或RAID设置中有多少个有效的硬盘(RAID硬盘)? 取得返回值。

2.以弹出菜单的形式,将返回结果列在屏幕上,并以BIOS中或RAID中第一个默认引导盘为默认启动的RAID盘为默认启动项。

3,接收用户选择的结果,传递给GRUB4DOS,由它去完成下一步的工作,至少启动的操作系统是否是用户本意想要的某个硬盘上的操作系统,那么交给用户自己去决定了。

就有点类似启动时按有某个功能键(微星 865PE白金版 主板),把设备罗列出来,由用户选择就行了,至于选择的能不能启动,就是用户的事了。

以上只是我个人的偏好及观点,欢迎指正及请求指点迷津,谢谢。


感谢各位关注,谢谢各位回复。

[ 本帖最后由 天涯行 于 2010-9-5 00:44 编辑 ]
回复

使用道具 举报

发表于 2010-9-5 09:30:09 | 显示全部楼层
如果是3个硬盘不同系统。可以去下个chenall的那个通用引导文件把里面的识别系统的判断菜单抄写过来再利用find命令应该能达到目的。


如果是多个硬盘系统又是相同最简单的办法就是在不同系统分别放一个你自己的标识文件来识别然后再find去判断达到目的。
回复

使用道具 举报

发表于 2010-9-5 13:19:12 | 显示全部楼层

列出各硬盘信息,选择启动硬盘示例菜单

简单应付一下吧:
1.PNG

依次列出各硬盘信息,自己区分吧:

2.PNG

根据上图信息,此处直接回车,或输入0或1,2...

3.PNG

启动效果:

4.PNG


default 0
timeout 8
command --set-path=(bd)/GRUB/
UNIFONT (bd)/GRUB/U16HEI
title [0] 选择启动硬盘示例菜单          Boot From (hdX)\n  请输入要启动的硬盘号。\n  例如输入1表示从(hd1)启动。\n  如果直接回车,或输入错误,则从(hd0)启动。\n  Menu by Pseudo 2010-09-05
errorcheck off
#最多检测4个硬盘
geometry (hd0) && pause --wait=0 && geometry (hd1) && pause --wait=0 && geometry (hd2) && pause --wait=0 && geometry (hd3)
errorcheck on
WENV set x=$input,Input hd number here:
WENV get x || WENV set x=0
WENV run map (hd0) (hd${x})
WENV run map (hd${x}) (hd0)
map --hook || clear
chainloader (hd0)+1
title [1] 进入Grub4Dos命令行            Grub4Dos Commanline
commandline
title [2] 其它菜单项自己写              Other Menu Item todo
clear
回复

使用道具 举报

发表于 2010-9-5 13:41:39 | 显示全部楼层
最好根据0x475的值来显示硬盘状态,P大再修改下。
回复

使用道具 举报

发表于 2010-9-5 16:04:25 | 显示全部楼层
#0
title
geometry (hd-1) &&  pause --wait=0 && calc *0x475-- && fallback --go 0 ! fallback --go 1
#1
title
……

[ 本帖最后由 zxw 于 2010-9-5 16:08 编辑 ]
回复

使用道具 举报

发表于 2010-9-5 16:22:50 | 显示全部楼层
原帖由 zxw 于 2010-9-5 16:04 发表
#0
title
geometry (hd-1) &&  pause --wait=0 && calc *0x475-- && fallback --go 0 ! fallback --go 1
#1
title
……

随便改0x475的值不安全。
原帖由 zhaohj 于 2010-9-5 13:41 发表
最好根据0x475的值来显示硬盘状态,P大再修改下。

性价比不高,不大必要。
回复

使用道具 举报

发表于 2010-9-5 16:48:19 | 显示全部楼层
@Pseudo:
可以先保存0x475的初始值,最后再恢复。这样应该没有问题吧?
回复

使用道具 举报

发表于 2010-9-5 18:01:48 | 显示全部楼层
原帖由 zxw 于 2010-9-5 16:48 发表
@Pseudo:
可以先保存0x475的初始值,最后再恢复。这样应该没有问题吧?


不要直接操作0x475的值。

可以把0x475的值复制到其它地方再操作,例子

calc *0x60000=*0x475 & 0xff
回复

使用道具 举报

发表于 2010-9-5 20:12:51 | 显示全部楼层
看来我严重落伍,我竟然不知道grub4dos有了输入功能。
回复

使用道具 举报

发表于 2010-9-5 21:37:20 | 显示全部楼层
原帖由 pseudo 于 2010-9-5 16:22 发表

随便改0x475的值不安全。

性价比不高,不大必要。
原帖由 chenall 于 2010-9-5 18:01 发表


不要直接操作0x475的值。

可以把0x475的值复制到其它地方再操作,例子

calc *0x60000=*0x475 & 0xff

还是二位考虑比较周全,受教了。
回复

使用道具 举报

 楼主| 发表于 2010-9-5 22:28:04 | 显示全部楼层
谢谢各位老师指导,朋友们指点。
回复

使用道具 举报

 楼主| 发表于 2010-9-5 23:59:20 | 显示全部楼层
谢谢楼上的老师和朋友,特别是pseudo 老师,直接给出可用代码,感谢了。

我传两张图上来,是抓图加用画图添加的文字。我的理想效果是如图那样,硬盘有一个以上的分区,就在前面有个加号,仅一个分区就无加号,所需要的相关信息如同图上文字所描述。 按左光标键或ESC键返回上级,按回车或B,返回所有硬盘及分区号,或者直接由GRUB4DOS将控制权交给所选择的硬盘及分区,由它负责引导操作系统。如果对应的硬盘分区启动不了,最好能返回再才的硬盘选择菜单,并且,这个弹出的菜单,最好不要破坏主菜单的背景,这样一来,无论便捷性还是美观性,都很不错。

      永远不要因为操作者选择从硬盘启动后,却由于找不到有效的启动硬盘,或不是自己想象中的那个硬盘,而必须入进命令行模式可按E临时修改相关的指令,以达到引导系统的目的。

或是因为我不懂编程,所以太过理想化了。或者想法太幼稚,可是太异想天开了。期待解决的办法,脚本,函数,或命令。

例如:HDDMENU(左上角X,左上角Y,右下角X,右下角Y,最大显示N行多,超过则自动出现滚动条,继承上级主菜单的属性(前景背景图片等),返回硬盘号,返回分区号)
rootnoverify (返回硬盘号,返回分区号)
makeactive
chainloader +1

这样一来,就省事了啊。

请看图:
menulst-1.jpg
menulst-2.JPG
回复

使用道具 举报

发表于 2010-9-6 01:20:33 | 显示全部楼层
早就知道你在幻想了,不过有幻想是好事儿,暂时来说,grub4dos应该不可能这么完美的解决你的问题,但它是开源的,你可以继续努力。

问题是:这样有意义么?一个完全不懂电脑(或基本不懂的人)有必要用到这么复杂高级的菜单吗?
回复

使用道具 举报

 楼主| 发表于 2010-9-6 08:40:56 | 显示全部楼层
我对GRUB4DOS很陌生,从超版做的那个三引导中注意到GRUB4DOS这软件,然后搜索论坛及GOOGLE,更进一步的知道 不点 大师 的坚持与艰辛,还有各位参与开发的大师的辛勤付出,包括写 教程和整理方档的各位先驱者,对您们表示衷心的感谢及崇高的敬意,顺祝 不点 大师身体安康,也敬请大师注意爱护保重身体,(毛主席他老人家教导偶们,身体是革命的本钱)。

或许我的想法真的太过理想化,目前我对GRUB4DOS的认识,就仅限于知道它是BIOS与操作系统的桥梁,(我知道这样的认识很肤浅,但我绝无对开发者有丝毫不敬之意)我真心的期盼这座桥梁足够的好走,足够的坚固,甚至足够的强大,某天BIOS生产商都来关注它,甚至力求保证自己做的BIOS可以和GRUB4DOS配合很好的工作。

我本人的E文不好,帮不上翻译文档,编程也是白痴,更谈不上完善GRUB4DOS的各方面的功能,我不知道GRUB4DOS是否有自己的开发管理团队,我建议GRUB4DOS能有接受广大网友们的捐助,钱多钱少都是份心意。刘涛涛,这个名字也许大家都熟悉吧,现在他们做的是WINMOUNT,他们也有接受捐助。什么是GPL,我不懂,我仅肤浅的知道GPL框架下,大家都可以参与开发或完善它,修改它后,保证自己修改的地方有相应的说明及源码,并且不得将它修改完善却不提供源码甚至用于商业用途之类的。

别的我没有能力做到,但力求让自已每天少吸两支烟,我有信心做得到,节约出来,哪怕钱非常少,一年捐助一次,应该可以做得到。我也很愿看到喜欢GRUB4DOS软件的朋友们,有力出力,无力棒个人场,作为无名小卒,在这里,我不敢也没有资格呼唤广大网友们都来捐助或是支持GRUB4DOS软件,抱歉。

至于楼上大大的提问,我回答了也没有任何意义,因为我并不代表广大的用户群,我能代表的只是个人的观点及喜好。用GRUB4DOS作出来的引导菜单的合盘用于维护,并不见得每个使用电脑人都必须去做合盘,但或许,每个使用电脑的人都有可能用得上这样的合盘。制作者无法预知使用者的环境,但尽量让操作界面友好一点,更傻瓜一点,应该有点用的。假设:我不懂GRUB4DOS,但在我用别人做的类似这样功能的合盘的时候,我就正好合意。作为一名使用电脑的人员,也许他不懂GRUB4DOS,但他至少会对自己的电脑有没有两个以上的硬盘有个大至的印象。他或许不懂维护,但他也许会有兴趣在自己的硬盘安装两种以上的操作系统。
      个人表达能力有限,请包涵。

最后,再次感谢楼上的各位朋友的指点,它让我直接可以解决硬盘引导问题,我不用担心自已做的合盘解决不了自己的问题了。
回复

使用道具 举报

发表于 2010-9-6 09:38:23 | 显示全部楼层
而必须入进命令行模式可按E临时修改相关的指令,以达到引导系统的目的。

一个find命令+识别文件就可以解决问题。

你上面说的太理想化了-_-!!还树型菜单。。
回复

使用道具 举报

发表于 2010-9-6 09:40:19 | 显示全部楼层
WINMOUNT

-_-!!悲剧的东西。。想当初刚出来的时候由于这种是驱动级的。简直就是蓝屏专家。
所以我对他印象不好现在新版如何我不知道。有ultraiso已经可以满足我了。
回复

使用道具 举报

 楼主| 发表于 2010-9-6 15:22:47 | 显示全部楼层
我只不过暂时用它来提希望GRUB4DOS能接受捐助,我在很多地方看到免费的软件都接受捐助用于后续开发。或是发展队伍。龙族联盟论坛,TLF,用于BCM5354的路由固件,还有别的暂时记不得了。
GRUB4DOS,是个伟大的事业,所以我会那么去想。

软件或是工具,弄出来就是给人用的,用来完成某项工作,越易用用的人肯定就会更多。

我不再回复此贴了,因为到前面为止在各位老师,高人们的帮助下,我的问题已经得到解决,再去讨论别的话题,与我的主题有出入,我认为没有必要让大家把精力浪费在这些上面。

最后感谢各位朋友的关心和关注及帮助,让此贴沉下去吧。
回复

使用道具 举报

发表于 2010-9-6 23:01:19 | 显示全部楼层
换位思考,呵呵。

其实现在新的主板大都有这个功能的,启动时按F8就可以选择要启动的设备,比GRUB4DOS实现的来得方便可靠。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 03:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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