无忧启动论坛

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

GRUB全自动菜单引导ISO,IMG,IMA,本地系统,完善资源管理器,支持文本查看(2014-12-9)

    [复制链接]
31#
 楼主| 发表于 2012-2-27 01:16:29 | 显示全部楼层
2012-2-27 更新
增加磁盘映射功能,方便ISO直接装XP
回复

使用道具 举报

32#
 楼主| 发表于 2012-2-27 13:36:43 | 显示全部楼层
原帖由 2011lxmw 于 2012-2-27 11:34 发表
smine 您好!
能否写下 ISO直接安装原版系统,磁盘映射的步骤。

相对未更新前,磁盘映射功能 对于安装WIN7时有无帮助改善。

下面是网友的反馈:
试过了 smine.iso好用!! xp 2003都可以引导安装 但win ...


我系统的说下怎么ISO直接安装系统,这里分两种情况:

A:xp,2003系列

1.准备好U盘,写入Grub引导
2.把xp的ISO文件复制到U盘根目录,或者其他目录
3.用U盘启动电脑,出现主菜单后,按高级菜单,选择F6IMGX86,这一步必不可少,就算你的硬盘是IDE的,也必须这样操作
4.返回到主菜单,打开资源管理器,找到xp的ISO文件,记住xp的ISO文件所在的磁盘根,一般这里是(hd0,0),记下(hd0)
再根据资源管理器里的磁盘的内容,判断你要把系统安装到那个硬盘的根,这里一般可以找到(hd1,0) (hd1,1) (hd1,2)的磁盘,记住(hd1)
5.返回主菜单,进入高级菜单,选择磁盘映射,第一块磁盘选择第4步记下的(hd0),然后第二块磁盘选择第4步记下的(hd1),交换成功后返回
6.打开资源管理器,可以看到磁盘根已经交换过了,比如上例中你会发现原来的U盘的(hd0,0)变成了(hd1,0),原来的(hd1,0) (hd1,1) (hd1,2)变成了(hd0,0) (hd0,1) (hd0,2),
打开u盘,找到xp的ISO文件,打开后选择加载镜像到内存并引导(1G以上内存建议选这项,装机速度快)(小内存机器选择加载镜像并引导),出现“Press Any Key Boot from cd/dvd”时一定要记得按回车
7.出现其他F2,F6提示都不要再按任何键,直到装系统开始,按正常步骤装完,直到重启
8.重启后任然用U盘启动,出现主菜单后,按高级菜单,选择F6IMGX86
9.进入高级菜单,选择磁盘映射,参照前面的方法完成磁盘映射
10.返回主菜单,打开资源管理器,打开u盘,找到xp的ISO文件,打开后选择加载镜像到内存并引导(1G以上内存建议选这项,装机速度快)(小内存机器选择加载镜像并引导),出现“Press Any Key Boot from cd/dvd”时一定要记得不要按任何键
11.等着系统自己开始安装,以后的步骤大家都会,照提示做即可


B:win7系列

1.准备好U盘,写入Grub引导
2.把WIN7的ISO文件复制到U盘根目录,或者其他目录,到网上下载一个软件,叫做VDM虚拟光驱,复制到U盘根目录
3.由于WIN7的ISO文件很大,不能加载到内存启动,只能选择加载镜像并启动,所以这里必须保证WIN7的ISO连续存放,要保证连续存放,有两个办法(1,把U盘格了,把镜像复制进去就是连续的;2,用软件Contig.exe整理)
4.仿照XP的方法映射磁盘,交换系统硬盘为(hd0),U盘为(hd1),成功后返回【这个步骤不一定必要,我的机器可以不交换也能装】
5.打开资源管理器,打开u盘,找到WIN7的ISO文件,打开后选择加载镜像并引导
6.出现现在安装windows的界面时,按下shift+F10,出现cmd命令行窗口
7.输入notepad回车,打开记事本
8.在记事本里点文件,选择打开,在打开对话框里的文件类型选所有文件,然后找到U盘里的虚拟光驱软件:VDM.EXE,记得在VDM.EXE上点右键,选择打开,这样VDM.EXE就运行了
9.在VDM里点装载,找到WIN7的iso镜像,按默认装载为虚拟光驱
10.同样用记事本打开的方式,找到新虚拟的光驱里的setup .exe,右键选择打开,然后按提示安装完成即可,重启的时候不用插U盘了,直接重启安装即可。

语言能力有限,大家将就看吧,有描述不清楚的地方,尽管问

[ 本帖最后由 smine 于 2012-2-27 14:03 编辑 ]

VDM.part1.rar

292.97 KB, 下载次数: 48, 下载积分: 无忧币 -2

VDM.part2.rar

57.24 KB, 下载次数: 40, 下载积分: 无忧币 -2

回复

使用道具 举报

33#
 楼主| 发表于 2012-2-27 13:55:01 | 显示全部楼层
原帖由 thttht 于 2012-2-27 13:20 发表
谢谢楼主!很不错的工具!辛苦了!

楼主在这里也想请教一些问题:
1、echo -e debug off\ndefault 1\ntimeout 60\ngfxmenu (bd)/GRUB/main.msg\nsplashimage (bd)/GRUB/back.lzma\nfont (bd)/GRUB/unifont. ...



对于第一个问题,其实已经支持VBE模式了,你只要把\ngfxmenu (bd)/GRUB/main.msg这句去掉,对应的 (bd)/GRUB/main.msg文件删掉,那就是正宗的VBE模式

对于第二个问题,“\x20\x20\xE8\xBF\x94\xE5\x9B\x9E” 是“空格空格”+“返回”的UTF8编码,是为了显示中文字符“  返回用的”

加自定义菜单可以加到返回的菜单之前:

echo -e title        \x20\x20\xE8\xBF\x94\xE5\x9B\x9E           >> (md)0x23600+0x10
echo configfile (md)0x23400+0x100                                    >> (md)0x23600+0x10
echo                                                                               >> (md)0x23600+0x10

照着这个格式写即可,第一行是TITLE,后面的一行可以多次复制,改成你想要的命令,可以使用的变量%fullpath%代表你打开的文件的全路径。

[ 本帖最后由 smine 于 2012-2-27 13:56 编辑 ]
回复

使用道具 举报

34#
 楼主| 发表于 2012-2-27 15:35:50 | 显示全部楼层
原帖由 thttht 于 2012-2-27 14:43 发表



谢谢楼主解答!你的back文件是字体文件和背景图片的续尾文件?这个如何编辑修改啊?我解压后就不知道如何修改了!
我把《echo -e debug off\ndefault 1\ntimeout 60\ngfxmenu (bd)/GRUB/main.msg\nsplas ...


VBE模式的COLOR怎么用我还真不会,这个我帮不了你,我只能说用我的那个方法是可以进入VBE的
back是一个VBE模式下用的背景图的压缩文件,后缀是lzma,字体文件是unifont.gz

map (hd0) (hd)  ?这个写法不对吧,(hd)不是一个具体设备,怎么MAP?。。

下面这段基本加的对的,只是有些问题:

if /i '%ext%'=='.vhd' echo -e title        \x20\x20\xE5\x8A\xA0\xE8\xBD\xBD\xE9\x95\x9C\xE5\x83\x8F\xE5\x88\xB0\xE5\x86\x85\xE5\xAD\x98\xE5\xB9\xB6\xE5\x90\xAF\xE5\x8A\xA8        >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e clear                                                                                                        >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' && echo configfile (md)0x23600+0x10 | echo -e \x20\x7C\x7C\x20 | echo map %fullpath% (hd0)                        >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e map (hd0) (hd)                                                                                                >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e map --hook                                                                                                >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e write (99) [FiraDisk]\nStartOptions=disk,vmem=find:%fullpath%;\n\0                                                                                        >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e root (hd0,0)                                                                                        >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e chainloader /NTLDR || chainloader /BOOTMGR                                                                                        >> (md)0x23600+0x10
if /i '%ext%'=='.vhd' echo -e                                                                                                                 >> (md)0x23600+0x10

我标红的部分是值得注意的,
另外:echo -e 后面的内容是不允许出现敏感字符的,比如\一定要用转义。用他的UTF8编码代替,比如\x5c,例如echo -e debug off\ndefault 1\ntimeout 60这段里面的\n表示生成的菜单里是要回车的,所以不转义,但是你的echo -e write (99) [FiraDisk]\nStartOptions=disk,vmem=find:%fullpath%;\n\0 ,估计是要生成一行把,其中的\n等不做处理的话会生成多行的。还有 || 要用 \x20\x7C\x7C\x20 代替

[ 本帖最后由 smine 于 2012-2-27 15:43 编辑 ]
回复

使用道具 举报

35#
 楼主| 发表于 2012-2-28 10:20:37 | 显示全部楼层
27日晚有新的更新,详情看1楼说明
回复

使用道具 举报

36#
 楼主| 发表于 2012-2-28 10:22:04 | 显示全部楼层
原帖由 赤子阿爽 于 2012-2-27 22:58 发表
楼主新增添的磁盘映射功能选择后,没有任何反应。我是做成iso后引导启动。是不是受这影响呢。或者这功能有待完善。


谢谢你的反馈,我先测试下再说
回复

使用道具 举报

37#
 楼主| 发表于 2012-2-28 11:35:36 | 显示全部楼层
原帖由 赤子阿爽 于 2012-2-27 22:58 发表
楼主新增添的磁盘映射功能选择后,没有任何反应。我是做成iso后引导启动。是不是受这影响呢。或者这功能有待完善。


谢谢你的反馈,BUG已经修复,现在已经可以正常使用,详情见1楼
回复

使用道具 举报

38#
 楼主| 发表于 2012-2-28 14:03:21 | 显示全部楼层
原帖由 2011jgjddzdn 于 2012-2-28 12:26 发表
我把自动引导ISO制成了ISO,在虚拟机和真机里测试,IMGS目录下的文件,若出现中文字符,中文和其后的字符将都会被忽略。
难道是ISO的问题?

137802137803


你说对了,这确实是ISO问题,因为ISO的光盘文件系统默认是不支持UTF8编码的,中文字符就不能显示了,这个问题帖子里也有人讨论过,似乎有什么工具可以制作UTF8编码文件名的ISO,详细情况去翻翻GRUB4DOS区的帖子吧。
回复

使用道具 举报

39#
 楼主| 发表于 2012-2-29 10:45:42 | 显示全部楼层
原帖由 2011回忆爱情 于 2012-2-29 02:18 发表
若我想在 自己弄得菜单上 多一个 选项

引导 本地盘 系统 如图

137852

该如何 撷取呢


其实这个问题很笼统:

1.引导本地盘系统,本地盘是什么系统?xp?03?win7?还是linux内核的系统?
2.本地盘系统是怎么部署的?是哪块硬盘,哪个分区,还是多系统?
3.如果要自动搜索本地系统并引导,如果搜到多个系统,怎么处理?
回复

使用道具 举报

40#
 楼主| 发表于 2012-2-29 12:26:04 | 显示全部楼层
原帖由 2011jgjddzdn 于 2012-2-29 12:16 发表
提个小小的建议,主菜单加入“尝试从硬盘启动”,且设为默认,默认时间不要太长了,10--15即可。


请看170楼的说明,这个菜单并不好加,高级菜单里的“搜索并启动。。。”可以勉强支持该功能
回复

使用道具 举报

41#
 楼主| 发表于 2012-2-29 12:32:08 | 显示全部楼层
原帖由 yuan-0918 于 2012-2-29 12:23 发表
建议资源管理器中加入复制文件到另一分区功能


GRUB4DOS的dd命令仅支持FAT分区的文件复制,而且功能限制太死:

1.不能创建文件;
2.源文件和目标文件必须是存在的;
3. 既不扩大也不减小目标文件的大小,源文件尾部剩余的部分将被丢弃;
4.dd 具有危险性,使用风险由你自己的承担。作为一种安全方面的考虑,你应当只使用 dd 来写入一个内存中的文件;

综上,文件复制功能不值得加入,期待dd命令的完善
回复

使用道具 举报

42#
 楼主| 发表于 2012-2-29 14:16:24 | 显示全部楼层
原帖由 2010yudy 于 2012-2-29 12:45 发表
能否让菜单分两列显示??
我的启动文件太多了,一长列,不好看,不方便,


这个不好实现。。。
回复

使用道具 举报

43#
 楼主| 发表于 2012-2-29 22:41:36 | 显示全部楼层
原帖由 hijk1 于 2012-2-29 18:16 发表
能把这个全自动菜单做成iso之后量产吗? 怎么做?
谢谢


用ULTRAISO新建一个光盘镜像,把grldr,grub文件夹复制到光盘根目录,然后右击grldr,选择设置为引导文件,然后保存即可生成一个可引导的光盘镜像。
回复

使用道具 举报

44#
 楼主| 发表于 2012-3-1 10:45:25 | 显示全部楼层
原帖由 hijk1 于 2012-2-29 22:51 发表
新建光盘镜像选数据光盘映像还是启动光盘映像呢?要是新建启动光盘映像还需要个文件,选什么呢? 随便别的能启动的光盘里面的文件就行吗?


选数据光盘即可,设置引导完成后会自动转为可引导光盘镜像
回复

使用道具 举报

45#
 楼主| 发表于 2012-3-1 13:04:08 | 显示全部楼层
原帖由 ggmm888 于 2012-3-1 11:11 发表
菜单里没有中文,请教下中文菜单是那里来的呢?

把中文换成utf8编码了,比如 测试 两个汉字的utf8编码就是 \xE6\xB5\x8B\xE8\xAF\x95

utf8编码转换工具是什么?楼主大量使用这类 utf8编码列如 \xE6\xB5\x ...


得到汉字的UTF8编码的简单方法:

1.新建文本文件,里面输入5个空格后紧接着输入你想要转换的汉字,不要回车
2.另存为UTF8编码格式文件
3.用WinHex打开刚才的文件,可以看到下图内容:


4.直接找地方粘贴即可得到\xE6\xB5\x8B\xE8\xAF\x95的值
回复

使用道具 举报

46#
 楼主| 发表于 2012-3-1 23:26:08 | 显示全部楼层
2012-3-1重大更新:

1.增加了ANSI文件显示功能,现在可以直接显示ANSI编码的文本文件了!
2.修复了上一版不能切换到VBE模式的重大BUG(看来网友太信任我了,这么大一个BUG竟然没人发现,嘿嘿。。。)
3.修复了原来文件查看功能汉字显示不全的BUG
回复

使用道具 举报

47#
 楼主| 发表于 2012-3-1 23:41:43 | 显示全部楼层
原帖由 thttht 于 2012-3-1 19:28 发表
请教楼主,能把findboot文件的功能扩展一下吗?
比如用下面的命令就可以列出所有硬盘和所有分区里/boot/imgs/目录里的所有文件,配合openfile启动就太完美了!

findboot /boot/imgs/


findboot功能的定位是搜索并引导本地磁盘系统,如果要列举所有硬盘和所有分区里/boot/imgs/目录里的所有文件在打开引导,就和filelist功能含混不清了,所以标准版不做这方面的改动;

但是可以给你一个思路,参照不带参数filelist的方法,列举出所有可用的分区,如(hd0,0),然后再带入/boot/imgs/路径,得到(hd0,0)/boot/imgs/,然后在参照带参数的filelist方法,即可列举出所有硬盘和所有分区里/boot/imgs/目录里的所有文件,而且已经自动配合openfile了,加油把!
回复

使用道具 举报

48#
 楼主| 发表于 2012-3-2 13:03:09 | 显示全部楼层
原帖由 thttht 于 2012-3-2 11:06 发表



楼主我试了一上午,还是没有搞定!没有搞明白,太菜了!可否请楼主直接出手把这个功能添加到 filelist 里, 比如添加个参数可以直接用filelist实现啊?  filelist ()/boot/imgs/ 或   filelist ../ABC/ ...


哎,本来这种定制类型的事我不做的,不然五花八门的需求都会涌过来,我就得痛苦了

算了,勉为其难了,给你做了一个,起名为findimg

用法:

(bd)/grub/findimg grub/imgs/

注意,参数开头一定不能有/,表示搜索所有盘符;参数结尾必须有斜杠,表示目录

findimg.zip

796 Bytes, 下载次数: 63, 下载积分: 无忧币 -2

回复

使用道具 举报

49#
 楼主| 发表于 2012-3-2 14:08:56 | 显示全部楼层
原帖由 blithewind 于 2012-3-2 13:42 发表
楼主的这个浏览器,貌似从(pd)启动时啥也列不出


从pd启动需要TFTP服务器的每个目录下存在dir.txt文件,内容是本目录下的所有文件名和子目录名,才能显示PD下的文件列表!

给你一段P处理:

@echo off
setlocal enabledelayedexpansion
for /r TFTPROOT %%i in (.) do (
call :ProcessDir %%i
)
goto :End
:ProcessDir
set dd=%1
rem @echo %dd:~0,-1%
del /F /Q "%dd:~0,-1%dir.txt"
dir /b "%dd:~0,-1%" > "%dd:~0,-1%dir.txt"
goto :End

:End

红色部分改成你自己的
回复

使用道具 举报

50#
 楼主| 发表于 2012-3-5 17:42:47 | 显示全部楼层
原帖由 yexingqi 于 2012-3-5 17:38 发表
楼主,能否再加一个支持xx.wim格式的文件啊?如果可以那就太好了!


xx.wim 格式如何启动?grub命令怎么写?
回复

使用道具 举报

51#
 楼主| 发表于 2012-3-6 12:44:22 | 显示全部楼层
原帖由 tt3736035 于 2012-3-6 12:38 发表
这个图形化真的很好用,很方便啊,版主怎么不加精呢?


多谢支持,或许版主太忙了
回复

使用道具 举报

52#
 楼主| 发表于 2012-3-9 20:24:24 | 显示全部楼层
见桌面就是没工具不是批处理的问题,是GRUB的仿真盘PE不识别造成的,就算是直接用GRUB命令行引导ISO,结果也是一样,外置还是找不到;

两个办法:
1.使用全内置PE
2.在PE里添加GRUB的仿真盘的驱动,目前有WinVBlock和firadisk驱动支持,但是支持的并不好,很多PE里驱动不起来。。
回复

使用道具 举报

53#
 楼主| 发表于 2012-3-9 22:29:01 | 显示全部楼层
原帖由 hijk1 于 2012-3-9 20:28 发表
原来是这样啊
谢谢楼主解释
那cdlinux这种系统怎么办呢


cdlinux这种系统参照#218的菜单试试^^

[ 本帖最后由 smine 于 2012-3-9 22:30 编辑 ]
回复

使用道具 举报

54#
 楼主| 发表于 2012-3-12 09:41:42 | 显示全部楼层

标题

原帖由 Motorcure 于 2012-3-12 09:08 发表
移动硬盘要怎么安装使用?已经分区格式化激活的

参照GRUB4DOS的安装说明:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=185938&extra=page%3D1。
最简单的办法是用BOOTICE(http://bbs.wuyou.net/forum.php?mod=viewthread&tid=57675&extra=page%3D1)向移动硬盘写入GRUB引导,建议主引导记录用WINDOWS NT6.x,分区引导记录用GRUB4DOS
回复

使用道具 举报

55#
 楼主| 发表于 2012-3-13 10:30:48 | 显示全部楼层
原帖由 Motorcure 于 2012-3-13 08:28 发表



这两种方法都得重新格式化硬盘吗?因为上面已经有分区和数据,所以最好是能保留,只写入引导信息


不用重新格式化,也不用重新分区,只需把第一分区激活,然后用BOOTICE写入引导即可
回复

使用道具 举报

56#
 楼主| 发表于 2012-3-18 16:56:01 | 显示全部楼层
2012-3-18 更新
===================================================
1.合并ANSI文本读取和UTF8文本读取功能,自动判断文本编码并用合适的方式打开
2.修正了文本浏览器字数过多时截断的BUG
3.文本浏览器增加阅读位置和系统时间提示,下次继续阅读时
   只要输入命令“(bd)/GRUB/viewtext [文本路径] [阅读位置]”即可接着阅读
回复

使用道具 举报

57#
 楼主| 发表于 2012-3-19 14:02:53 | 显示全部楼层
原帖由 haook 于 2012-3-19 11:26 发表
请问楼主,存在UD里面的文本文件,能查看吗?谢谢!


ud里的文本文件可以查看
回复

使用道具 举报

58#
 楼主| 发表于 2012-3-19 14:06:35 | 显示全部楼层
2012-3-19 更新
===================================================
1.文件打开方式中增加了"做为RAMOS加载到内存并启动"
2.文件打开方式中不再根据扩展名判断文件加载方式,因为像.gz这样的扩展名,
   不知道是什么类型的镜像,不好判断,再者,像.IMG这样的扩展名,也不好区分是软盘镜像还是硬盘镜像
3.修复了文件浏览器可能把上一个文件的最后一行显示到下一个文件开头的BUG
回复

使用道具 举报

59#
 楼主| 发表于 2012-3-19 14:27:52 | 显示全部楼层
gfxmenu 菜单不能循环,按esc进入VBE模式可以循环
搜索引导xp系统做在第一页个人觉得没必要,你可以自行修改,代码不难
回复

使用道具 举报

60#
 楼主| 发表于 2012-3-19 16:31:23 | 显示全部楼层
原帖由 zmyzbf 于 2012-3-19 15:11 发表
为什么制作成ISO启动不能显示中文呢,所有中文都是空白的


参见本帖#166#167的回复
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 08:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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