无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 21521|回复: 144

ud.FAT法:把UD扩展区当作fat区

  [复制链接]
发表于 2015-1-24 13:56:22 | 显示全部楼层
本帖最后由 jianliulin 于 2015-1-24 14:04 编辑

新版fbinstTool 已经可以把ud中的“分区”文件挂到分区表,也可以随意排列各个分区的顺序,只要“分区”文件是第一个添加的,那它永远不会被碎片整理移动位置。

fbinsttool 早已经实现了P大提出的功能,就是不知道有没有人在用。

点评

前面J大回复说不会C, 所以 fbinst.exe没有同步更新。 能麻烦提供一些 怎么找到这个 EFI-IMG 的位置和大小的 说明。 就是 是否映射 “挂到分区表”, 都能找到 “EFI-IMG 的位置和大小”。 我来给大家 写个小  详情 回复 发表于 2015-1-25 07:44
现在UD三分区法,感觉efi兼容性强一些,J大为什么不更新fbinstool支持一下?  详情 回复 发表于 2015-1-24 21:09
挂到分区表就不是深度隐藏了。 我理解P大的意思是不加到分区表,而是通过pecmd2012的扇区映射来访问img内部的内容。这样需要时挂载,平时仍然是深度隐藏的。  详情 回复 发表于 2015-1-24 15:32
回复

使用道具 举报

发表于 2015-1-24 16:11:50 | 显示全部楼层
只要把分区格式的文件丢到ud,就是深度隐藏了
回复

使用道具 举报

发表于 2015-1-25 12:25:57 | 显示全部楼层
本帖最后由 jianliulin 于 2015-1-25 12:32 编辑
mdyblog 发表于 2015-1-25 07:44
前面J大回复说不会C, 所以 fbinst.exe没有同步更新。
能麻烦提供一些 怎么找到这个 EFI-IMG 的位置和 ...



ud的文件列表是以一个个保存着文件信息(大小、名称等)结构体排列组成,以下是结构体的声明,

struct fbm_file
{
    uchar size; 记录着当前是结构体的大小(含name),当size等于0则表示到了文件列表的结尾。
    uchar flag;0:可能是主分区文件,也可能是扩展分区文件。 1:为普通的扩展分区文件。  4:已经映射为mbr的第一个分区。  8:已经映射为mbr的第二个分区。  16:已经映射为mbr第三个分区。  32:已经映射为mbr第四个分区
    uchar4 data_start; 文件的起始扇区。
    uchar4 data_size; 文件的大小(字节数),不能超过4G
    time_t data_time; 文件的修改日期,unixdate 格式
    char name[0]; 文件名,原来fbinst.exe 是以ansi编码,目前fbinsttool 是utf-8编码。
} PACK;


ud从第69扇区开始是文件件列表,最大896为个扇区,binsttool 默认也是设置为896个扇区。每个扇区最后2个字节是fbinst内部使用,所以读取文件列表时候要剔除这2个字符。

当文件挂在到mbr时候,flag 会是 4 ,8, 16, 32 这几个数字之一,如果是1则是没有挂载,fbt判断一个文件是否是分区文件的方法是判断文件第一个扇区的第一字符是否是
0xEB 这个跳转符号,最后两个字节是否是0xAA55 ,文件大小是否大于30M。


另外:
要是能在pecmd中添加,通过文件名就能直接把ud中的文件读取到内存里面执行,不需要目前先用fbinst.exe导出到临时目录,再执行。mdyblog老大,你干这事你是天然的人选,
pe可以没有fbinst.exe 但绝对不可能没有pecmd.exe



点评

哪里呢小程序啊  详情 回复 发表于 2015-2-8 08:29
PECMD2012V88.05.47 对UD的直接支持 1:UD文件列表 MOUN -udm listud [-ret:] 返名 [-udmask: flag掩码] 设备名 [通配符] //返回详细UD文件列表 可以根据 flag掩码 或 文件名列出 flag掩码 为 *  详情 回复 发表于 2015-1-27 12:02
弄出来了。 MAPUP挂载UD外置支持深度隐藏 文件: MAPUD.WCS (MAPUP挂载UD外置.zip 中) 下面说说深度隐藏的制作和PE中的挂载。 方案用法1) UD 格式化盘2) 右键,创建EFI.IMG(名称随意)3) 如果需要, 右键,  详情 回复 发表于 2015-1-25 18:02
》》 另外: 要是能在pecmd中添加,通过文件名就能直接把ud中的文件读取到内存里面执行,不需要目前先用fbinst.exe导出到临时目录,再执行。 -------------- 对单个普通执行文件,PECMD 倒是可以 用 幽灵模式 EX  详情 回复 发表于 2015-1-25 15:46
那个MBR.pt 干什么的? 嫩用来存放 用户数据吗?  详情 回复 发表于 2015-1-25 15:17
回复

使用道具 举报

发表于 2015-1-25 14:48:04 来自手机 | 显示全部楼层
没有标志,建议用utf-8,
回复

使用道具 举报

发表于 2015-1-25 15:34:58 | 显示全部楼层
本帖最后由 jianliulin 于 2015-1-25 15:36 编辑
mdyblog 发表于 2015-1-25 15:17
那个MBR.pt
干什么的?
能用来存放 用户数据吗?


是0扇区的内容,错误强行格式化时候的后悔药,可以随意删除
回复

使用道具 举报

发表于 2015-1-25 18:27:50 来自手机 | 显示全部楼层
这是已经map的情况,能否添加根据ud文件文件名来挂在

点评

1: 这里 实际没有map。 因为 用分区软件 已经用分区软件从分区表中清除掉了。 用FBT隐射一下, 只是做个标记而已, 标识这个文件, 在PE启动时需要 加载到盘符。 做了标识后, 再 用分区软件 从分区表中清  详情 回复 发表于 2015-1-25 21:56
回复

使用道具 举报

发表于 2015-1-25 21:53:01 | 显示全部楼层
pseudo 发表于 2015-1-25 15:08
@jianliulin
分区表项法分配盘符例如U:后,windows资源管理器能从U:盘看到(ud)/efi.img里包含的内容,例如 ...

我还是不太明白,实现你说的功能是不是要一个ud的windows驱动??

点评

》》我还是不太明白,实现你说的功能是不是要一个ud的windows驱动?? 不是的。 是要得FBT这个软件进行深度的 改造, 使得 FBT支持文件系统。 查不多UD变成简化的UDm了(同是又兼容UD)。 目前还只是P大的一个构  详情 回复 发表于 2015-1-25 22:06
回复

使用道具 举报

发表于 2015-1-25 22:27:12 | 显示全部楼层
mdyblog 发表于 2015-1-25 22:06
》》我还是不太明白,实现你说的功能是不是要一个ud的windows驱动??
不是的。
是要对FBT这个软件进 ...

fbinst 和udm 还是有本质上的区别的,两者并不类似。

点评

从使用的角度说,可以做到一致: ud区的约定:只放3个文件grldr, menu.lst, TEST.IMG,PE包括外置的所有内容都在TEST.IMG中。 启动: 将TEST.IMG map成(fd0)之类的,启动其中的PE 修改:主机上将TEST.IMG挂载出来  详情 回复 发表于 2015-1-25 22:39
最根本的区别是, UDM有标准文件系统。 P大的方法,就是让 UD支持标准文件系统。 从这个意义上说, 如果那样做,就变成了一个简化的UDm。  详情 回复 发表于 2015-1-25 22:34
回复

使用道具 举报

发表于 2015-1-26 10:39:37 | 显示全部楼层
mdyblog 发表于 2015-1-25 22:32
用PECMD PART -gui
删除 该分区表后, 哪儿是全0了。 那儿没有分区信息了。



1. pecmd 能否实现, MOUN -ud -w TEST.IMG Z:  命令把ud中test.img 映射成为Z: 盘 ? test.img 是用户指定的,现在很多外置都用petool 这样的目录,用户可以选择要挂什么,不挂什么,在pe中指定比在ud中指定更合理。



2. pecmd 按Ctrl +Alt +A 分辨率变成800x600不是菜单提示的最佳分辨率

点评

现在其实也是能实现的,主要是依赖一条PECMD命令: (需要安装imdisk) RAMD ImDisk*&V*2097280s*5734529s*0*\\.\PhysicalDrive0 -a -o hd -m Z: //扇区映射 只要能导出分区的开始扇区和长度,就能将其挂载  详情 回复 发表于 2015-1-26 11:51
1: 》》 pecmd 能否实现, MOUN -ud -w TEST.IMG Z: 命令把ud中test.img 映射成为Z: 盘 ? test.img 是用户指定的,现在很多外置都用petool 这样的目录,用户可以选择要挂什么,不挂什么,在pe中指定比在ud中指定  详情 回复 发表于 2015-1-26 11:36
回复

使用道具 举报

发表于 2015-1-26 11:49:25 | 显示全部楼层
本帖最后由 jianliulin 于 2015-1-26 21:08 编辑

P大,

[root directory sector] + [root directort cluster]*[cluster size]/512  

3232+ 2 * 4096 /512 =3248

你上面怎么算得3240??





点评

呵呵,杜撰的式子,还不能自圆。 难道这样: ud.fat大小=[starting sector]+[Data start sector] + [cluster size]/512 =3240(sectors)=1620(KB)=1658880(bytes) 吗? 加[cluster size]/512表示从下一cluster开  详情 回复 发表于 2015-1-26 22:23
回复

使用道具 举报

发表于 2015-1-26 13:26:08 | 显示全部楼层
pseudo 发表于 2015-1-26 12:44
实例来了

1、fbinsttool的“启动设置”-“查看MBR”:

清楚的问题。
1.把整个扩展分区映射到mbr,没有问题。
2.预留空间让给fat表,也没问题

有疑问的问题。
3.因为ud要求是连续存放的,windows无法保证是连续存放,所以文件是还是由fbinsttool维护,是否是这样???

点评

window不会也不用照顾fbinsttool,windows下弄“乱"了也没多大问题,暂时不影响windows下使用。 但一旦启动fbinsttool,就要检查、修复不当之处,维护好ud的文件列表和ud.fat文件内容,有碎片就提示或默认直接整理  详情 回复 发表于 2015-1-26 21:23
回复

使用道具 举报

发表于 2015-1-26 21:09:12 | 显示全部楼层

本帖最后由 jianliulin 于 2015-1-26 21:08 编辑


P大,

[root directory sector] + [root directort cluster]*[cluster size]/512  

3232+ 2 * 4096 /512 =3248

你上面怎么算得3240??
回复

使用道具 举报

发表于 2015-1-27 09:26:42 | 显示全部楼层
本帖最后由 jianliulin 于 2015-1-27 10:40 编辑

ud是fbinst万能启动的一个副产品,fbisnt v1.2的时候没有ud的。当引导成功grldr后fbinst的使命就完成了,剩下的就是grldr的职权范围了。如果让fat32和ud重叠,那和不需要扩展分区,直接用fat32替代,区别不大。在扩展分区上建立fat文件系统那这个fat分区(A区)也必须在mbr分区表中的第一项,否则uefi不认,如果占用了第一项,那原来普通数据分区(B区)就会被隐藏,A区就变成了普通数据区。唯一的好处就是可以通过ud里的文件列表,快速创建A区文件系统。

点评

ud扩展区相应分区表项可以有几种状态,例如 无分区表项 有正常分区表项 有类型为0,其它正常的分区表项 此外,还有是否第一项。 有正常分区表项可以支持uefi启动。无分区表项也是一种重要应用,除了uefi启动  详情 回复 发表于 2015-1-27 21:12
回复

使用道具 举报

发表于 2015-1-28 08:05:43 | 显示全部楼层
pseudo 发表于 2015-1-27 21:12
ud扩展区相应分区表项可以有几种状态,例如
无分区表项
有正常分区表项

有分区表的可以用分区表项法来实现,没有分区表的可以直接往ud中丢“分区文件”。

用文件的形式更方便,比如可以弄很多个“分区文件”,想用哪个就用哪个,pecmd 现在可以根据ud的文件名来选择要挂着哪个“分区文件” ,如果ud.fat只能有一个“分区文件”,

点评

不支持这种双国籍,ud文件系统暂时看不到发展方向了。 那就放弃ud文件系统吧。 谁做个功能: 1、为ud扩展区分配盘符,我们以后把ud扩展区当作一个深度隐藏区来用。 有盘符就可以随意格式化、放文件(可大于4  详情 回复 发表于 2015-1-28 14:41
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-4 05:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表