FAT32的长文件名处理

FAT32的长文件名处理

名词解释:Long File Names (LFNs) 

1. Directory Entry

文件系统的文件名信息主要是在目录项中进行记录的,一个目录项(Directory Entry)单元由32字节组成,各字节的示意如图1。这是一个标准的目录项的全部内容。


图1

可见此处一个目录项中可以存放的文件名只有8个字节,那么当大于8个字节长度的文件名该如何存储?

2. Additional Entries

以一个简单粗暴的方式开始吧: 格式化U盘->在根目录下新建文件"abcdefghijklmnopqrstuvwxyz.txt",此时我们查看FAT的目录项内容可以发现:


图2

  • 首先,长文件名的文件名信息也是在FAT目录项中存储,但是一个32字节的标准的目录项无法存储大于8字节长度的文件名,此时FAT则会为该长文件名附加多个单元项,与标准的目录项中各字节的表示有差别,但是长度依然还是32字节。
  • 其次,与短文件名一样,长文件名依然会占用一个Directory Entry来存储图1中的文件信息,不同的是,在8个字节的FileName项,Byte[0,5]6个字节中填充长文件名的前6字节,Byte[6]填充字符“~”,Byte[7]从“1”开始,按当前文件夹中文件名重名需要选取从“1”递增的数字,可见是为了防止文件重名。
  • 另外,文件名在目录项的记录中,offset=0x0C 的字节是用于指示文件名和扩展名的大小写,当长文件名时,该字节被置为“0x00”,此时可见与大写文件名和大写扩展名的表示没有什么区别了,那么FAT是怎么区分这样两个文件的?

长文件名在目录中除了用一个标准目录项记录信息外,还增加了若干个信息项,就叫做"Additional Entries"吧,参考自维基百科。

3.长文件名的重命名

再通过以下实验,看windows是怎么处理FAT的,然后就可以一步步验证并找出长文件名在FAT中怎么存在的。

鉴于长文件名在FileName项中的存储机制,我们新建文件名时:用大写字母创建,则可有大小写区分;以‘~1’结尾,则可看到长短文件名的冲突;只创建空文件,因为只需要查看目录项,不需要文件内容:

目前我们需要创建的是“ABCDEF~1.TXT”,为了和"abcdefghijklmnopqrstuvwxyz.txt",在目录项中重名。看FAT是如何处理的:


图3

只是添加了一个短文件名,目录项的变化却比正常情况下大多了。以上我分成了3个部分:

  • 第一部分都是0xE5开头的,那么它们是已被删除项;
  • 第二部分可以对比图2,可以看到差别:目录项中的文件名被重新命名为"ABCDEF~2.TXT";
  • 第三部分才是刚才新建的“ABCDEF~1.TXT”的文件目录项信息;

为什么不是被命名为“xxxx~2”而是以前的文件名被改?怎么理解FAT的以上行为呢?

  • 首先从文件创建时间可以肯定以上分析没有错;
  • 其次,短文件名的目录项中FileName项完全反应真实文件名(暂时排除大小写问题);
  • 最后,图2中的红色框即长文件名的目录项,与图3最下方比较,只有创建时间不同。如果是你,总也不会通过时间戳去区别这两个文件吧,那么FAT当然也不会。所以它将原来的长文件名在目录项中重命名,就出现了第一部分中的被删除项以及第二部分中的新建项。那么还多出来了第一部分中的最后两项,从文件类型来看是个临时产物,但具体是怎么产出来的,它不重要。

其实我一直有一个问题,为什么FAT要将临时文件,或重命名后无用的以前的旧文件名的目录项一直保留着?不是很浪费空间吗,这些中间产物完全可以不用留。我不熟悉windows OS,所以暂时不深究,但这不妨碍我的做法,我只在FAT的目录项中写最终结果,没有中间临时文件,且目前为止没有问题。

那么问题又来了:

仅看图3,"ABCDEF~1.TXT"和"ABCDEF~2.TXT"只是差别只有一个字节的文件名而已,为什么其中一个就是长文件名。

其实,图3和图2的信息量很大,继续看图说话,图3 Part2中的Additional Entries:

4.长短文件名的区分

"ABCDEF~2.TXT"的目录项信息之上,还有三组附加信息项,很有规律:

  • 每个附加项的文件类型为0x0F;
  • 最低层的附加项第一个字节从0x01开始;
  • 每往上多一层附加项,该项第一字节基于下一层的数字递增;
  • 直到最上一层,第一字节在递增的基础上再加0x40;

目录项中没有关于附加项总数的信息,貌似只能硬着头皮往上一层找是否第一字节为0x01,再往上找一项,第一字节是否递增,或者是否结束来判断并获取当前文件完整的文件名。

那么会不会恰好发生下面这么一件事儿?

4.1. 新建一个文件,文件名为"C. t x t.TXT"或者"C.txt"且把文件类型设置为0x0F,达到目录项中显示以下内容的效果?


答,不能,首先' '空格的ASCII码不是0x00而是0x20, 其次该文件后缀为.TXT, 那么它的文件类型不会为0x000000, 最后, 也是最重要的, 文件名中包含字符'.'则已被认作长文件名处理;显然"C.txt"更无力产生以上效果

4.2. 新建一个文件,,达到目录项中显示以下内容的效果?


答,用英文,即单字节字符,没有可以显示的ASCII为0x01的字符。用双字节字符,先不不论"bcde"四个字符,找出对应0x0161的字符"š.TXT"新建文件你就会发现这也行不通。因为所有双字节字符在FAT中都被当做长文件名处理。


所以,不会再有那么多“那么”了。图2就是一个完整的不会有任何冲突和异议的长文件名在FAT中的表示。

至于要怎么把你的长文件名写入FAT表目录项以及从FAT表目录项中识别出长文件名,我就不乱戳戳点点了。




  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
WimTool是基于WIMGAPI SDK开发的Win32程序 一、基本介绍 1、WimTool并不是Imagex的GUI,可以脱离Imagex而独立使用。 2、WimTool能提供普通用户对WIM格式文件最常用的处理功能,如制作映像文件、挂载映像、解开Wim映像到硬盘的目录和向现存的Wim文件加入新的映像卷等。 3、在WimTool中,对Wim文件进行操作处理时,界面元素给用户提供了相当的显示信息,对Wim文件最常见的处理出现失败时,WimTool会提供失败的说明。 4、WimTool界面采用分页式设计,每页都提供了必要的操作说明、选要求和注意事。初次使用的用户请先阅读每页的操作说明。 二、运行环境 Win2K/WinXP/Win2K3/Vista/Win 7及它们相应的PE系统,在上述系统中安装WimFltr或WimMount组件后可以使用全部功能, 如果没有安装WimFltr或WimMount组件,只需一个位于同目录中的WIMGAPI.DLL文件也可使用大部分常用功能。 三、功能简介 WimTool集成了处理Wim文件的以下常用功能。 1、支持制作不同压缩类型的映像文件。在制作新的映像文件时,用户可给新的映卷指定映卷名称和映卷描述,并加上启动标记,同时用户可以在WimTool中指定压缩类型。 2、支持向现有的映像文件添加新的映卷,并可指定新映卷的名称和描述,并加上启动标记。 向现有映像文件添加新的映像卷时,WimTool会自动检测原映像文件的压缩类型,并使新加入的映像卷与之匹配。 3、支持挂载和卸载Wim文件。用WimTool挂载Wim文件时,用户可以选择指定的映像文件和挂载目录,同时也可指定挂载方式(是否可写或只读)。 4、支持向硬盘解开(应用)Wim文件中指定的映像卷,包括解开分割包。WimTool解开Wim文件时会自动检测用户指定的Wim是否属分割包,并将其它分包系列也解开到指定目录。 5、支持将单一的大体积Wim文件按指定大小分割,分包文件既支持WimTool解开也支持Imagex解开;也支持将一组分割包合并成单一的Wim映像文件。 6、支持将某Wim文件中存在的映像卷导入到另一个Wim文件中。导入映像卷的目标Wim文件既支持Imagex操作,也支持WimTool操作,如挂载、解开等。 7、支持从已有的Wim文件中删除已有的映像卷条目。 8、支持查看Wim文件基本属性和详细信息,如映卷名称、映卷描述、压缩类型、映像卷数目、是否属分割包等。 9、支持列出系统所有挂载的Wim映像及其挂载目录、挂载方式等。 10.支持修改现有的Wim映像文件中的某个映卷的名称和描述,并加上启动标记。 11.支持 Mount 、MountRW 、UnMount 、Apply 、 Capture 、ReMount 和 Append 七命令行参数及它们的常用选。 12.支持WIM映像文件与WimTool程序直接关联,并可创建右键菜单,方便挂载或打开WIM映像文件。 13.支持列出映像内的文件目录,这个功能相当于ImageX的/DIR参数,可以在PE系统中使用。 14.支持通过配置文件定义捕获映像或解开映像的规则。WimTool的配置文件与ImageX的兼容。在WimTool内置了一份默认的配置文件,这个配置文件与ImageX的默认配置文件相同。 15.在图形界面中,WimTool对制作映像、解开映像、导出映像、列文件目录等过程提供用户中止操作支持。 16.注册WIM文件关联后可通过双击WIM文件打开WIM映像内的程序或启动到WimTool的图形界面。 17.支持鼠标右键扩展菜单快速展开WIM映像文件和快速制作WIM映像文件,这两操作提供处理进度。 18.支持基于的WIM的系统备份和系统恢复应用,同时具有简单必须的磁盘管理功能。 19.支持每一个WIM映像设置一个自己特色的个性化图标。 20.支持WimMount V6.1.7000.0及以上版本,可以使用WimMount.SYS的新特性,也兼容旧版本的Wimfltr驱动。 四、参数说明 WimTool的命令行参数格式与ImageX的基本相同,其中尖括号""内的参数表示必须输入,方括号"[ ]"内的参数表示可以省略,竖线"|"间的参数只取其一; 当文件目录名、映像卷名、映卷描述等含有空格时必须用引号包围。WimTool的命令行参数"/Apply"、"/Capture"和"/Append"只适合小体积映像使用,不提供处理进度。 1、挂载映像 ①.只读挂载 格式:WimTool.EXE /Mount 示例:WimTool.EXE /Mount D:\Test.WIM "PE Programs" D:\PROGRAMS ②.可写挂载 格式:WimTool.EXE /MountRW 示例:WimTool.EXE /MountRW D:\Test.WIM 2 D:\PROGRAMS ③.直接挂载 格式:WimTool.EXE [/OpenFile] 示例:WimTool.EXE D:\Test.WIM ④.快速挂载 格式: 示例:D:\Test.WIM 只有设置WIM文件与WimTool关联才能使用"快速挂载"。当WIM映像内设置挂载信息和挂载路径后,"直接挂载"和"快速挂载"先按WIM映像内设置好挂载信息和挂载路径来挂载, 并执行挂载处理命令;若WIM映像内没有设置挂载信息和挂载路径则按WimTool默认的设置来挂载。 ⑤.重新挂载 格式: WimTool.EXE /ReMount 示例: 重新挂载所有"无效的WIM挂载": WimTool.EXE /ReMount /ALL 重新挂载指定路径的WIM挂载点: WimTool.EXE /ReMount D:\PROGRAMS 本功能需 WimMount V6.1.7000.0 及以上版本支持,可以快速挂上重启后"无效的WIM挂载"。 2、卸载映像 命令行参数格式: WimTool.EXE /UnMount [/Commit|/Update|/All] [/AutoRun] 参数"/AutoRun"时将在卸载映像前执行"卸载处理命令", ①.只读卸载挂载目录的映像 格式:WimTool.EXE /UnMount [/AutoRun] 示例:WimTool.EXE /UnMount D:\PROGRAMS 无任何提示,直接进行只读卸载。 ②.可写卸载挂载目录的映像 格式:WimTool.EXE /UnMount /Commit [/AutoRun] 示例:WimTool.EXE /UnMount /Commit D:\PROGRAMS 参数"/Commit"直接以可写方式卸载以可写方式挂载的映像。 ③.询问可写卸载指定的目录 格式:WimTool.EXE /UnMount /Update [/AutoRun] 示例:WimTool.EXE /UnMount /Update D:\PROGRAMS 参数"/Update"会询问卸载时是否以可写方式卸载。 ④.卸载所有被挂载的映像 格式:WimTool.EXE /UnMount /All [/AutoRun] 示例: WimTool.EXE /UnMount /All 只读方式卸载所有被挂载的映像,且卸载映像时目标目录的变化不会被更新到原映像中。 3、快速卸载 清除所有挂载点和挂载信息 格式: WimTool.EXE /CleanUp 示例: WimTool.EXE /CleanUp 本功能需 WimMount V6.1.7000.0 及以上版本支持,可以快速清除所有挂载点和挂载信息,包括"有效的WIM挂载"和"无效的WIM挂载", 同时也清除WimMount挂载时目标目录中的残余文件信息。本命令的功能相当于卸载所有映像后再删空目标目录中的文件。 4、解开映像 ①.静默方式,不提供处理进度 格式:WimTool.EXE [/YES] /Apply 示例:WimTool.EXE /Yes /Apply D:\Test.WIM 2 D:\PROGRAMS 其中参数 "/Yes" 表示不确认目标目录是否存在文件而直接解开映像(解开的文件有可能覆盖已存在的文件),省略该参数时, 若目标目录已存在文件则要用户确认才执行解开映像操作。其中映像文件可以是分包文件。 ②.窗口方式,提供处理进度,支持文件过滤,支持操作隐藏分区 格式: WimTool.EXE [格式化参数] [主引导记录] [解压规则] [映像卷ID] [,目标路径] 格式化参数: [[/Format|/QFormat] [FAT32|NTFS]] 主引导记录: [/BOOT ] 解压规则为: [/Config ] 示例: WimTool.EXE D:\Test.WIM /ExtrFile ,D:\PROGRAMS WimTool.EXE 0:4\SysBack.WIM /ExtrFile /Format FAT32 /Boot NTLDR 1, C:\ WimTool.EXE F:\SysBack.WIM /ExtrFile /QFormat NTFS /Boot BOOTMGR 1, 0:1\ WimTool.EXE 0:4\SysBack.WIM /ExtrFile /Format /Boot NTLDR 1, C:\ WimTool.EXE F:\SysBack.WIM /ExtrFile /QFormat /Boot BOOTMGR 1, 0:1\ WimTool.EXE 0:4\SysBack.WIM /ExtrFile /Format /Config MyConfig1.INI 1, C:\ WimTool.EXE F:\SysBack.WIM /ExtrFile /QFormat /Config MyConfig2.INI 1, 0:1\ 当以系统管理员登录,本功能支持操作隐藏分区,并可用分区号代替盘符,见上面的示例。 "映像卷ID"为 1 时可以省略,省略"目标路径名"时WimTool将在映像文件所在的目录中建立一个与映像基本名同名的目录,并将映像解开到其中。 WimTool能识别分包映像并自动解开分包映像(要求所有的分包映像位于同一目录,展开时从1号分包开始)。 5、制作映像 ①.静默方式,不提供处理进度 格式:WimTool.EXE [/Boot] [/Compress ] /Capture [卷名] [描述] 示例:WimTool.EXE /Boot /Compress Maximum /Capture D:\PROGRAMS D:\Test.WIM "MyPrograms" ②.窗口方式,提供处理进度,支持文件过滤,支持操作隐藏分区(必须以系统管理员登录,隐藏分区可以分区号代替)。 格式: WimTool.EXE [捕获规则] [启动标记] [映像文件] 捕获规则为: [/Config ] 启动标记为: [/Boot] 示例: WimTool.EXE D:\PROGRAMS /CompPath /Boot D:\Test.WIM WimTool.EXE C:\ /CompPath /Config MyConfig1.INI 0:4\SysBack.WIM WimTool.EXE 0:1\ /CompPath /Config MyConfig2.INI F:\SysBack.WIM 窗口方式压制新映像时采用最大压缩比。省略"映像文件名"时WimTool将自动建立一个新的映像文件,并保存在"目标路径"所处的目录下,新映像的基本名与"目标路径"同名。 当Wim映像文件存在时,则将目标目录的内容以新的映卷追加到原映像中。 6、追加映卷 格式:WimTool.EXE [/Boot] /Append [卷名] [描述] 示例:WimTool.EXE /Boot /Append D:\MyTools D:\Test.WIM "MyTools" 7、文件关联 ①.注册WIM映像文件与WimTool关联 格式:WimTool.EXE [/M] 示例:WimTool.EXE /Reg /M 参数"/REG"为文件关联,参数"/M"为注册扩展功能。 ②.取消WIM映像文件与WimTool关联 格式:WimTool.EXE 示例:WimTool.EXE /Reg /U 取消文件关联同时也将卸载扩展功能。 8、其它功能 ①.重建系统图标缓存 格式: WimTool.EXE /Icon 示例: WimTool.EXE /Icon 说明: 当系统显示的图标出现异常时,可以通过重建图标缓存来更正,本功能可能只对 NT5.x 系统有效。 ②.启动指定的功能页 格式: WimTool.EXE /Page n 示例: WimTool.EXE /Page 9 说明: WimTool.EXE的功能共有9页,1~8页位于可视界面,第9页为WimTool.EXE的彩蛋。参数"/Page"可启动到指定的功能页,其中"n"为数字"1~9"。 五、使用注意 1、在Vista或以后的系统中,WimTool必须以管理员的身份运行,在 NT5.X 系统中也建议以系统管理员的身份运行WimTool。 2、系统中必须正确安装WimFltr或WimMount组件,WimTool才能正常工作。 3、在精简的WinPE系统中某些功能可能无法使用。 4、系统的临时目录必须有足够的空间;在PE中使用时,临时目录建议设置到硬盘上。 5、一个映像中只有一个映卷具有启动标记;映像中的映卷号是唯一的,而映卷名和卷描述仅作为映像卷的说明,它们并不是唯一的, 就是说一个映像中的不同映卷可以具相同的名称和描述。 6、当系统中的WIM文件关联出现错误或异常时,请点[取消文件关联]按钮,再点[设置文件关联]按钮来修复。 7、如果你对捕获映像的配置文件不很了解,请不要修改它,用默认的设置即可。 六、特别声明 1、WimTool是免费软件,您可无限制地使用、复制、分发和传播本软件,您必须保证每份复制、分发和传播都是真实的和完整的。 2、本人不提供WimTool的任何保证和担保,亦不对用户使用本软件时任何理论上的或实际上的损失承担责任。 3、禁止任何人或任何组织利用本软件从事任何营利活动。 Lxl1638 BBS.WUYOU.COM 茂名二中 老九,2009.08.22
Ghost批处理文件的基本格式 Ghost-clone,mode={copy│load│dump},src={drive│file│drive:partition},dst={dri-ve│file│drive:partition}/fro/fx/rb/f32/Z(n)/sure{其他参数} 其主要参数的意思及用法如下: -clone:clone在英文中是“克隆”的意思,在此处是一个固定的格式,意为强制按参数方式执行Ghost.exe。 mode=:此参数用于设定Ghost.exe的使用模式,有六种模式可供选择:copy、pcopy、load、pload、dump、pdump。其中,copy、load、dump是指硬盘到硬盘的操作,加p以后(pcopy、pload、pdump)则以相同模式针对硬盘的分区进行操作。如“mode=copy”意思是将一个硬盘的数据克隆到另一个相同容量或更大容量的硬盘上,加P(mode=pcopy)以后的意思是将一个分区的数据克隆到另一个分区。“mode=load”的意思是提取镜像文件恢复至硬盘(或分区),“mode=dump”的意思是将硬盘(或分区)做成镜像文件。 src=:此参数用于设定数据来源位置,用1、2、3……代表不同的来源,如“src=1:1”表示数据来源于主盘第一分区,“src=2:2”表示数据来源于从盘第二分区,“src=d:\ghost\sysbak.gh1”表示要提取的数据来源于主盘第二分区Ghost目录中的sysgbak.gho文件。 dst=:此参数设定数据的目标位置,用法和src一样。如“dst=1:1”表示将提取数据还原到主盘第一分区,“dst=2:2”表示还原到从盘第二分区,“dst=d:\ghost\sysbak.gh1”则表示将备份的数据保存为主盘第二分区ghost目录中的sysgbak.gho文件。 /fro:该参数意为在克隆过程中跳过一切错误,建议大家避免使用。 /fx:程序执行完毕后自动退出,回到操作系统。这条参数在制作镜像文件和恢复非系统分区时可以使用,但用在恢复系统分区时使用可能会引起死机(恢复系统分区时请参考/rb)。 /rb:程序执行完毕后强制重新启动系统。 /f32:将FAT16格式转换为FAT32格式。 /Z(n):设定镜像文件的压缩率,只在制作镜像文件时使用。其中,n=1(/z1)表示在制作镜像文件时不压缩,n=2(/z2)为快速压缩,n=3~9时采用高比例压缩。在实际使用中,笔者推荐使用/z2(快速压缩),它的速度和/z1(不压缩)基本没有差别,镜像文件却小了许多。但如果你的硬盘容量不十分大,建议使用/z9。 /sure:对所有提示问题均自动回答“是”。在Ghost.exe图形界面操作中,程序会弹出一些对话框询问是否肯定执行该操作,通常有“Yes”和“Cancel”两个选,/sure意为自动选择“Yes”,以确保克隆过程中不需手工干涉。 针对我的情况,我在D盘建立一个名为Ghost的目录,备份C区的镜像文件取名为sysbak.gho。两个批处理文件内容如下: sysback.bat(备份): Ghost-clone,mode=pdump,src=1:1,dst=d:\ghost\sysbak.gh1 /fx/z9/sure revert.bat(恢复): Ghost-clone,mode=pload,src=d:\ghost\sysbak.gh1,dst=1:1 /sure /rb GHOST参数详细示例(上面的你可以不看,但这里的一定要看,更要好好记录下来) ghost.exe -clone,mode=copy,src=1,dst=2 -sure 硬盘对拷 ghost.exe -clone,mode=pcopy,src=1:2,dst=2:1 -sure 将一号硬盘的第二个分区复制到二号硬盘的第一个分区 ghost.exe -clone,mode=pdump,src=1:2,dst=g:\bac.gho 将一号硬盘的第二个分区做成映像文件放到g分区中 ghost.exe -clone,mode=pload,src=g:\bac.gh2,dst=1:2 从内部存有两个分区的映像文件中,把第二个分区还原到硬盘的第二个分区 ghost.exe -clone,mode=pload,src=g:\bac.gho,dst=1:1 -fx -sure -rb 用g盘的bac.gho文件还原c盘。完成后不显示任何信息,直接启动。 ghost.exe -clone,mode=load,src=g:\bac.gho,dst=2,SZE1=60P,SZE2=40P 将映像文件还原到第二个硬盘,并将分区大小比例修改成60:40 还原磁盘 首先做一个启动盘,包含Config.sys,Autoexec.bat,Command.com,Io.sys,Ghost.exe文件(可以用windows做启动盘的程序完成)。 Autoexec.bat可以包含以下命令: Ghost.exe-clone,mode=pload,src=d:\bac.gho,dst=1:1-fx-sure-rb 利用在d盘的文件自动还原,结束以后自动跳出ghost并且重新启动。 开机自动做C区的备份,在D区生成备份文件bac.gho。 ghost.exe-clone,mode=pdump,src=1:1,dst=d:\bac.gho-fx-sure-rb 包含文件:Config.sys,Autoexec.bat,Mscdex.exe(CDROM执行程序),Oakcdrom.sys(ATAPICDROM兼容驱动程序),Ghost.exe Config.sys内容为: DEVICE=OAKCDROM.SYS/D:IDECD001 Autoexec.bat内容为: MSCDEX.EXE/D:IDECE001/L:Z Ghost-clone,mode=load,src=z:\bac.gho,dst=1:1-sure-rb 可以根据下面的具体说明修改实例 -clone在使用时必须加入参数,它同时也是所有的switch{batchswitch}里最实用的一种,下面是clone所定义的参数 -clone, mode={copy│load│dump│pcopy│pload│pdump}, src={drive│file│drive:partition}, dst={drive│file│drive:partition} mode指定要使用哪种clone所提供的命令 copy硬盘到硬盘的复制(disktodiskcopy) load文件还原到硬盘(filetodiskload) dump将硬盘做成映像文件(disktofiledump) pcopy分区到分区的复制(partitiontopartitioncopy) pload文件还原到分区(filetopartitionload) pdump分区备份成映像文件(partitiontofiledump) src指定了ghost运行时使用的源分区的位置模式及其意义 ode命令对应mode命令src所使用参数例子 COPY/DUMP 源硬盘号。 以1代表第一号硬盘 LOAD映像文件名 g:\back98\setup98.gho或装置名称(drive) PCOPY/PDUMP 源分区号。 1:2代表的是硬盘1的第二个分区 PLOAD分区映像文件名加上分区号或是驱动器名加上分区号。 g:\back98\setup98.gh2,代表映像文件里的第二个分区 dst运行Ghost时使用的目标位置模式及其意义: mode命令对应mode命令dst所使用参数例子 COPY/DUMP目的硬盘号。 2代表第二号硬盘 LOAD硬盘映像文件名。 例g:\back98\setup98.gho PCOPY/PLOAD目的分区号。 2:2代表的是,硬盘2的第二个分区 PDUMP分区映像文件名加分区号。 g:\back98\setup98.gh2 SZEn指定所使用目的分区的大小 n=xxxxM指定第n目的分区的大小为xxxxMBSZE2=800M表示分区2的大小为800MB n=mmP指定地n的目的分区的大小为整个硬盘的mm个百分比。 其他参数 -fxo当源物件出现坏块时,强迫复制继续进行 -fx当ghost完成新系统的工作后不显示"pressctrl-alt-deltoreboot"直接回到DOS下 -ia完全执行扇区到扇区的复制。当由一个映像文件或由另一个硬盘为来源,复制一个分区时,Ghost将首先检查来源分区,再决定是要复制文件和目录结构还是要做映像复制(扇区到扇区)。预设是这种形式。但是有的时候,硬盘里特定的位置可能会放一些隐藏的与系统安全有关的文件。只有用扇区到扇区复制的方法才能正确复制 -pwdand-pwd=x给映像文件加密 -rb在还原或复制完成以后,让系统重新启动 -sure可以和clone合用。Ghost不会显示"proceedwithdiskclone-destinationdrivewillbeoverwritten?"提示信息 充分的了解了以上的参数从今天起我们就不用在和GHOST的界面打交道了。
FATFS是一个用于嵌入式系统的FAT文件系统模块,用于对存储设备上的文件进行管理。在FAT文件系统中,默认使用的是"8.3"命名规则,即文件名最多为8个字符,扩展名最多为3个字符。然而,FATFS也提供了对文件名的支持。 要使用文件名,首先需要在FATFS的配置文件中进行相应的设置。具体的配置方式可以参考FATFS的官方文档或开发者手册。 配置好后,在使用FATFS的API进行文件操作时,可以使用支持文件名的函数来创建、读取和写入文件。这些函数会自动处理文件名文件名之间的映射关系,使得开发者可以方便地操作文件名。 例如,使用FATFS提供的f_open函数来打开一个文件时,可以传入一个以NULL结尾的字符串参数,该参数即为要打开的文件名。如果文件名文件名,则FATFS会自动将其转换为相应的文件名。类似地,对于其他文件操作函数,也可以按照相应的方式进行操作。 需要注意的是,文件名在FAT文件系统中存储的方式与文件名有所不同,通常需要占用更多的存储空间。因此,在使用FATFS的时候,需要根据实际情况综合考虑,选择适合的文件名命名方式。 总的来说,使用FATFS支持文件名的方法是在配置文件中进行相应的设置,然后使用提供的API函数进行文件操作即可。通过这种方式,可以在嵌入式系统中方便地使用文件名来管理文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值