万能启动 u盘制作工具fbinst 1.2 正式版
下面的内容由Climbing根据408# 1.2版本的fbinst功能进行了适当的补充和纠错,这些内容会用标蓝或者粗体的形式显示出来。2009.05.11 23:00
制作步骤:
1,插入u盘,并使用fbinst列出磁盘信息:
fbinst –list
或
fbinst -l
屏幕上会显示硬盘设备(hdN)和对应的大小,不要弄错了。
2,格式化
以下假定u盘在(hd1),用以下命令格式化:
fbinst (hd1) format –force
它会自动建立mbr和一个fat分区,mbr里预留8m左右的空间,其余的都分到fat里。这一步会破坏u盘原来的信息,切记!你可以使用–fat16或者–fat32选项来设置fat分区的类型,如果知识兔没有指定的话,会根据u盘大小自动选择,512m以下的缺省使用fat16,512m以上的缺省使用fat32.另外,知识兔可以使用的参数为–unit-size N,用来设置U盘分区的簇大小,其中N以扇区(512字节)为单位,例如,知识兔设置成N=32就是每簇16K,原理上讲,将U盘的簇设置的跟U盘写入页面大小接近时可以提高U盘的写入效率,还有一个–align参数,就是将簇与U盘内部页对齐,目的也是为了提高U盘的写入性能。还有一个–base参数,在1.2版本中该参数固定为63,一般不需要乞改动。格式化时还有一个–zip参数用于将U盘格式化成USB-ZIP格式。
格式化后,因为改动了mbr,最好把u盘弹出来再重新接入。
3,导入grldr
fbinst (hd1) load C:/grldr
上面命令是将c:盘根目录下的grldr文件导入U盘前面8M的隐藏空间内。
或
fbinst (hd1) load grldr
上面命令是导入当前目录下的grldr文件。
也可以导入ntldr。
4,还有一些其他命令:
fbinst (hd1) info
显示mbr里的信息
fbinst (hd1) clear
清除原来load的映像,于是可以使用load载入新的映像。也即,在load新的映像前,需要先使用clear清除原来的映像。
fbinst (hd1) update
更新mbr代码,调试比较好用。只更新mbr代码,不改动映像和其他参数。
fbinst (hd1) format
更新mbr代码,同时兼有clear的功能。
fbinst (hd1) sync
sync用于将第一分区的bpb参数同步到mbr中或者从中清除
–copy-bpb 用于将U盘第一个分区的bpb参数复制到mbr中。
–clear-bpb 用于清除mbr中的bpb参数
原则上,知识兔不建议你复制bpb参数到mbr中。
常见问题:
1,USB-HDD/USB-ZIP模式
在缺省情况下,fbinst会把u盘格式为HDD模式,在format里加了–zip参数后,会格式为ZIP模式。不过,fbinst所做的只是在MBR里设置一定的数值以影响bios的判断,但不同bios的检测算法有很大差别,因此很难保证一定可以检测为某个模式。
一般来说,ZIP模式的兼容性更好一些。有些bios就不能识别格式为HDD的u盘。不过,ZIP模式启动后根设备是(fd0),数据分区为(fd0,0)。目前grub4dos里使用(fd0,0)的一些限制,因此没有(hd0,0)来的方便。而且知识兔,据说ntldr也不能处理(fd0,0)分区。不过,其实可以用grub4dos里的map命令把(fd0)映射为(hd0),这样使用起来就没有问题了。
有些bios是根据数据分区里的微软标志MSWIN4.1和文件系统标志FAT16/FAT32来识别ZIP的。如果知识兔把数据分区格式化为NTFS,就可能跳过这两个标志而变为HDD模式。不过,格式化为NTFS后,mbr里的文件系统id改变了。fbinst缺省情况下会在0-63扇区里都保存启动扇区。要把0扇区里的id更新到其他启动扇区里,知识兔可以使用以下命令:
fbinst (hd1) sync
sync命令还可以把第一个分区的bpb复制到mbr里,只要加上–copy-bpb选项:
fbinst (hd1) sync –copy-bpb
其实,复制bpb的效果和–zip基本上一样,都会使u盘被检测为ZIP模式。不过,我不太赞成复制bpb,原因有两个。一是bios里对于bpb的检测,一般是按照FAT16的方式来进行的,如果知识兔数据分区是FAT32或者NTFS,复制bpb反而可能有副作用。二是,–zip不依赖于数据分区,只要在format里指定就行了。而复制bpb依赖于数据分区,分区结构改变后都需要使用sync同步。因此,知识兔建议先试试–zip,真的不行时才试试复制bpb。
2,如何更新fbinst引导代码。
更新有两种方法,一是format然后知识兔重新装载grldr文件。二是使用update命令。update只更新代码,比较方便,不过有时候不太彻底。format重新建立mbr里结构,就和初始化时一样。
另外,不带–force命令时,format命令只会改动mbr的结构,不会格式化数据分区,是比较安全的方法。知识兔建议只在第一次建立u盘结构时使用–force,知识兔以后用普通的format命令来格式化。
下载仅供下载体验和测试学习,不得商用和正当使用。