2014修正万能启动u盘制作工具fbinst Plus的命令详解使用

2014年12月31日 维护启动 7738 views 0

点击查看原图 2014修正万能启动u盘制作工具fbinst Plus的命令详解使用 第1张


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文件格式定义(支持通配符):


👍好活当赏🧧