Fbinst version : 1.6 build 2
Plus version : 1.2.1206.18
一些常用命令说明: CTRL + F
制作步骤:
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命令来格式化。
复制内容到剪贴板
代码:
fbinst 命令语法:
D:\fbinst>fbinst -V
fbinst version : 1.2
D:\fbinst>fbinst -h
Usage:
fbinst [OPTIONS] DEVICE_OR_FILE COMMANDS [PARAMETERS]
Global Options:
--help,-h Display this message and exit 帮助
--version,-V Print version information and exit 版本
--list,-l List all disks in system and exit
--verbose,-v Print verbose messages 更详细的输出信息
Commands:
format Format disk
--raw Format with normal layout (not bootable) (格式化为通常模式,可以用于回收8m空间,不过fbinst的代码就清空了)
--force Force the creation of data partition
--zip Format as USB-ZIP
--align Align to cluster boundary
--fat16 Format data partition as FAT16
--fat32 Format data partition as FAT32
--unit-size NUM Unit size for FAT16/FAT32 in 512 bytes block
--base,-b NUM Set base boot sector
--size,-s NUM Set size of data partition 指定数据分区的大小
sync Synchronize disk information
--copy-bpb Copy bpb from the first partition
--clear-bpb Clear bpb in the boot sector
info Show disk information
update Update boot code
load FILE Load image file
clear Clear image file
Fbinst Plus V1.2.1206.18命令写法:
【命令行写法说明】
原fbinst的命令行写法是: fbinst [OPTIONS] DEVICE_OR_FILE COMMANDS [PARAMETERS]
fbinst原版的所有选项和命令保持原来的写法不变。
fbinst plus版新增命令行写法和原版稍有区别:
1. fbinst [OPTIONS] [PARAMETERS]
2. fbinst DEVICE_OR_FILE COMMANDS [PARAMETERS]
【新增功能说明】
◆ 新增 OPTIONS
--version :版本号,在原版本号的基础上,增加一个plus版本号。
fbinst --version 输出fbinstplus版本
--udlist :fbinst格式的磁盘列表(ud)。如果有多个ud盘,返回一个整数,比如 31,标示磁盘1、磁盘3是ud盘。(注:DOS下返回值从%errorlevel%获取,下同。)
fbinst --udlist 输出磁盘信息,返回磁盘号。 (输出=在CMD窗口中显示,下同。)
--find :查找文件、文件夹所在的磁盘,并返回第一个找到包含该文件的磁盘号。
fbinst --find "PETOOLSIMGSIMGSIMGSIMGS/*.IM?"的所有文件到P盘根目录
fbinst (hd1) output "*" P:/ 导出(hd1)的所有文件到P盘根目录,"*"不可以省略,省略P:/就导出到当前目录
特殊用法:在表示输出文件路径的参数后面加上"%~nx"(不含引号),表示导出的文件不保留原文件路径。
fbinst (ud) output 0PE/0PE.GZ D:/ 导出的文件路径是"D:/0PE/0PE.GZ"
fbinst (ud) output 0PE/0PE.GZ D:/%~nx 导出的文件路径是"D:/0PE.GZ",批处理中%~nx要改为%%~nx
inisize : 获取ini文件指定小节中的文件列表的文件总大小,支持通配符,通配符不可以加""号。磁盘可以指定具体hd*,也可以用(ud)让其自动搜索。
ini文件可以内置ud也可以外置。如果是相对路径优先搜索当前目录,然后搜索ud。
fbinst (hd1) inisize test.ini [0PE] 加载ini文件,获取[0PE]小节下文件列表,返回文件总大小,单位KB
fbinst (ud) inisize 0PE/UdToMem.ini [PETOOLS]
fbinst (ud) inisize E:/WEB/UdToMem.ini [0PE]
fbinst (ud) inisize E:\WEB\UdToMem.ini [0PE]
iniout : 加载ini文件,获取[0PE]小节下文件列表,并搜索该文件,找到后导出到P:/盘,支持通配符,通配符不可以加""号。ini文件搜索顺序为“先找硬盘,再找ud,如果没找到就终止操作”。路径的写法比较灵活,/和\都可以使用。
fbinst (hd1) iniout test.ini [0PE] P:/ 加载ini文件,获取[0PE]小节下文件列表,并搜索该文件,找到后导出到P:/盘。
fbinst (ud) iniout E:/WEB/UdToMem.ini [0PE] P:/
fbinst (ud) iniout E:\WEB\UdToMem.ini [STANDARD] P:/
fbinst (ud) iniout 0PE/UdToMem.ini [MINI] P:/
特殊用法:在表示输出文件路径的参数后面加上"%~nx"(不含引号),表示导出的文件不保留原文件路径。
fbinst (ud) iniout UdToMem.ini [0PE] P:/ 导出的文件路径是"P:/"+"文件的原始路径"
fbinst (ud) iniout UdToMem.ini [0PE] P:/%~nx 导出的文件路径是"P:/"+"文件名",批处理中%~nx要改为%%~nx
ini文件格式定义(支持通配符):
谢谢赞赏
(微信扫一扫或长按识别)