|
一直等几位大大发关于burg的帖子,一直没等到,今天发现burg的map更新到v3版本了,增加cdrom支持,这是个好消息,转发一下,大家以前学习,一起测试。
原帖地址:http://www.burgloader.com/bbs/index.php?topic=101.0
使用方法简单介绍在二楼,稍后补充:- v5k:
- * 增加lua函数read_byte,read_word,read_dword,write_byte,write_word,write_dword和file_write
- v5j:
- * 把terminal和gfxterm和lua模块加入buldr中
- * bucfg改名为bucfg.fba
- v5i:
- * 修改了启动脚本,支持把bucfg嵌入fb分区里
- v5h:
- * map可以读取gz压缩的映像文件
- * cmp命令的结果可以在if里测试
- * dd 命令增加--hex,用法类似于--str,例如:
- dd --hex=010203 --out=file
- v5g:
- * 修正了一个可能导致部分bios不能进入图形模式的问题
- v5b:
- * 改进了文件访问的效率
- * 修正了一些bug
- v5:
- * 优化map --mem,读取文件的速度大大提高
- * dd可以支持ntfs里任意大小的文件
- * 修正了cdload和loadbin的bug
- v4:
- * 修改内存保留区域,现在内存不需要大于256M也能使用map --mem。
- * 优化loopback设备的访问
- * 增加dd命令
- v3c:
- * 使用(cdN)来表示光盘设备,去掉--cdrom选项
- * 去掉--swap选项
- * map设备使用磁盘序号来作索引,例如map0, map128, map224等。
- v3b:
- * cdload支持从物理光驱里装载文件
- * 增加--set选项
- * 修正了map的一个bug
- v3:
- * 增加cdrom支持
- * 支持嵌套映射
- * 增加--swap, --insert和--rdonly选项
- * 增加命令cdinfo和cdload
- * 修正了loadbin的一个bug
- v2b更新:
- * 调整了一下a20代码
- * fb文件系统忽略大小写
- v2更新:
- * 添加LBA模式的支持
- * 增加--spt和--heads参数,可以自定义磁盘参数,例如:
- map --spt=2 --heads=18 (hd0,1)/floppy.img (fd0)
- 程序会自动检测参数,因此一般情况下不需要指定。
- * map列表里显示spt和heads参数。
- 安装方法:
- 1,硬盘启动方式
- 把buldr和buldr.mbr拷贝到C:\,通过修改boot.ini或者使用bcdedit,添加burg的启动项。
- 然后,下载资源包:
- http://grub4dos.sourceforge.net/bucfg_v1.zip
- 解压后放到C:\。
- bucfg是fb文档格式,buldr在启动时会自动检测bucfg并把它装载为cfg设备。bucfg的内容也可以解出来放在C:\。
- 2、fbinst启动方式
- 使用fbinst格式化一个u盘,把buldr添加到fb分区。然后,从以上的地址下载资源包bucfg,把它拷贝到数据分区或者解入fb里。
- Code: [Select]
- fbinst DISK format -e 8m
- fbinst DISK add buldr buldr
- fbinst DISK load bucfg
- 新增命令的使用方法:
- 1、直接映射:
- map (hd0,1)/floppy.img (fd0)
- 支持不连续文件
- 2、装载到内存:
- map --mem (hd0,1)/floppy.img (fd0)
- 由于要保留一些空间给burg使用,在内存小于256M时,最多只有1/2的空间可以用于映射。
- 3、删除某一映射
- map -r (fd0)
- 4、删除所有映射
- map -R
- 5、显示当前映射
- map
- 在BURG里,映射映像可以用(map0), (map1)设备名访问,无需--hook。
- 6、启动映像
- map --mem (hd0,1)/floppy.img (fd0)
- set root=(map0)
- chainloader +1
- boot
- 另外,这个版本把(fb)设备改为(boot),表示启动时所在的磁盘。还增加了geometry命令,可以显示磁盘参数。在flags一栏里,第一个L表示LBA模式,第二个字母C表示CDROM,第三个字母F表示在该设备上检测到了fb的结构。geometry显示的是缓存的参数,如果某一个设备没有看到,可以先运行ls读一下全部的设备,再运行一下geometry。
- 7、插入磁盘映象
- map --insert (hd0,1)/disk.dsk (hd0)
- 加上--insert选项后,新的磁盘是(hd0),而原有的磁盘向后移动,(hd0)->(hd1), (hd1)->(hd2),等等。如果没有--insert,则是取代(hd0)。
- 8、写保护
- 可以用--rdonly选项来写保护虚拟磁盘
- map --rdonly (hd0,1)/disk.dsk (hd0)
- 9、多重映射
- map (hd0,1)/disk.dsk (hd0)
- map (map0)/floppy.img (fd0)
- 在使用多种映射时,如果原来的设备是使用--mem,而当前设备是直接映射,则要求文件是连续的。在其他情况下文件都不需要连续。其关系可以用下表表示:
- 原来磁盘直接映射 原来磁盘--mem映射
- 当前磁盘直接映射 无限制 文件连续
- 当前磁盘--mem映射 无限制 无限制
- 10、映射光盘映像文件:
- map (hd0,1)/aa.iso (cd96)
- 或者
- map --mem (hd0,1)/aa.iso (cd96)
- 11、显示光盘的启动信息:
- cdinfo (map224)
- 12、对于使用模拟软盘/硬盘映像的光盘,可以用map命令映射并启动:
- map (hd0,1)/aa.iso (cd96)
- map --image=0 (map224) (fd0)
- set root=(map0)
- chainloader +1
- boot
- --image=0选择启动映像,启动映像的索引可以用cdinfo查看。cd96的磁盘序号是96+128=224,因此它所对应的map设备是map224。
- 13、对于使用noemu的光盘,可以用cdload命令启动:
- map (hd0,1)/aa.iso (cd96)
- cdload --image=0 (map224)
- boot
- 14、也可以用cdload直接启动光盘上的文件,例如:
- map (hd0,1)/aa.iso (cd96)
- cdload (map224)/grldr
- boot
- map (hd0,1)/aa.iso (cd96)
- cdload (map224)/isolinux.bin
- boot
- map (hd0,1)/aa.iso (cd96)
- cdload (map224)/bucd.bin
- boot
- burg的光盘启动文件是用以下方式生成的;
- cat cdboot.bin core.img > bucd.bin
- cdload还可以从物理光驱里引导文件,例如:
- cdload (hd96)/isolinux.bin
- boot
- 15、自动设置变量
- 可以用--set选项把映射后的设备设置给root变量,例如:
- map --set (hd0,1)/aa.iso (cd96)
- cdload --image=0 ($root)
- boot
- --set还可以把值设置到其他变量里,例如:
- map --set=maproot (hd0,1)/aa.iso (cd96)
- echo map device is $maproot
- 16、dd命令
- 参数有--if, --of, --bs, --seek, --skip, --count和--str,例如:
- dd --if=(hd0,1)/aa --of=(hd0,1)/bb --bs=512 --count=1
- dd --str=HELLO --of=(hd0,1)/bb --seek=32
复制代码
[ 本帖最后由 Plantsoot 于 2010-9-3 16:30 编辑 ] |
|