无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
123
返回列表 发新帖
楼主: pseudo
打印 上一主题 下一主题

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

  [复制链接]
61#
发表于 2015-1-29 00:43:06 | 只看该作者
既然UD扩展分区看不到发展方向,不如就舍弃吧。每次仅建立UD主分区。那不就没那么多事了吗
回复

使用道具 举报

62#
 楼主| 发表于 2015-1-29 11:56:20 | 只看该作者
本帖最后由 pseudo 于 2015-1-29 11:59 编辑
mdyblog 发表于 2015-1-28 21:35
可以用PECMD2012

建一个 FAT的IMG文件 efi.img


这样这个efi.img仍有ud身份,且受限于4g,不能利用整个ud扩展区。

放弃ud文件系统,只把fbinsttool作为分区工具,划分出ud扩展区,然后不用fbinsttool管理该区,用别的工具(需要这种小工具)为ud扩展区分配盘符,然后用资源管理器直接管理,爱格成fat还是exfat、ntfs、ext2、hpfs随意,文件可以不受4g限制,把ud扩展区当作一个深度隐藏区来用,ud扩展区空间得到充分利用。

就是说,ud扩展区上的东西只有一种身份(那就不限于4G了),fbinsttool彻底放弃对其管理。
回复

使用道具 举报

63#
发表于 2015-2-1 11:49:35 来自手机 | 只看该作者
此帖怎么沉了?期望有工具出来,让我们傻瓜化制作
回复

使用道具 举报

64#
发表于 2015-2-1 12:23:50 | 只看该作者
回复

使用道具 举报

65#
发表于 2015-2-8 08:29:00 | 只看该作者
jianliulin 发表于 2015-1-25 12:25
ud的文件列表是以一个个保存着文件信息(大小、名称等)结构体排列组成,以下是结构体的声明,

str ...

哪里呢小程序啊
回复

使用道具 举报

66#
发表于 2015-2-8 10:40:57 来自手机 | 只看该作者
直接映射然后用windows的格式化功能格式化,然后修改ud文件分配表即可
回复

使用道具 举报

67#
发表于 2015-2-9 11:51:55 | 只看该作者
本帖最后由 zds1210 于 2015-2-9 11:53 编辑

为了挽救UD,大家一直在努力。
但这种PE内核打包整体启动,貌似也是造成兼容性问题的重要原因。
个人感觉还是简化型UD三分区或分区表项好,UD区就放一个grldr,其它放到高端区或映射的img中。
回复

使用道具 举报

68#
发表于 2015-2-9 17:39:42 来自手机 | 只看该作者
pseudo 发表于 2015-1-28 14:41
不支持这种双国籍,ud文件系统暂时看不到发展方向了。

那就放弃ud文件系统吧。

我弄。
回复

使用道具 举报

69#
发表于 2015-2-10 13:27:38 | 只看该作者
本帖最后由 sunsea 于 2015-2-10 23:05 编辑
pseudo 发表于 2015-1-28 14:41
不支持这种双国籍,ud文件系统暂时看不到发展方向了。

那就放弃ud文件系统吧。


写好了,一个cmd脚本,配合pecmd2012(用cli版)和fbinst plus:
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. color 0a
  4. title ud.FAT制作工具 by sunsea
  5. echo ud.FAT制作工具
  6. echo.
  7. echo 1.全新制作
  8. echo 2.挂载盘符
  9. echo 3.制作分区表项
  10. echo 4.退出
  11. echo.
  12. set /p choice=请输入序号:
  13. if "%choice%"=="1" goto 1
  14. if "%choice%"=="2" goto 2
  15. if "%choice%"=="3" goto 3
  16. exit

  17. :1
  18. echo 请输入磁盘编号(别选错了!):
  19. fbinst.exe --hdlist "No.%%N %%I %%P"
  20. set /p choice=请输入磁盘编号(别选错了!如果列表为空请自觉退出):
  21. cls
  22. echo.
  23. echo 注意:您的U盘上的数据将在制作过程中彻底丢失!如果您没备份好请自觉退出
  24. pause
  25. set /p size=请输入UD区大小,单位为MB:
  26. set /p primarysize=请输入UD的主分区大小,单位为MB:
  27. set /p grldrfile=请输入你的引导器的路径:
  28. set /a size=%size%*1024*2
  29. set /a primarysize=%primarysize%*1024*2
  30. set /a extended=%size%-%primarysize%+6
  31. fbinst.exe (hd%choice%) format -f --fat32 -a --unit-size 8 -p %primarysize% -e %extended% -l 50
  32. fbinst.exe (hd%choice%) add grldr %grldrfile%
  33. set tempfilename=%random%
  34. set /a extstartsector=64+50+%primarysize%+3
  35. set /a extlengthsector=%extended%-6
  36. echo %extstartsector%s*%extlengthsector%s>"%TEMP%\%tempfilename%.txt"
  37. echo 不要往UD内添加其他文件或者进行碎片整理了!>"%TEMP%\警告.txt"
  38. fbinst.exe (hd%choice%) add extinfo.txt "%TEMP%\%tempfilename%.txt"
  39. fbinst.exe (hd%choice%) add 警告wanring.txt "%TEMP%\警告.txt"
  40. set udFATLength=
  41. if 8388608 LSS %extlengthsector% (set udFATLength=4294967295) else (set /a udFATLength=%extlengthsector%*512)
  42. fbinst.exe (hd%choice%) resize ud.FAT %udFATLength% -e
  43. PECMD.EXE RAMD ImDisk*V*%extstartsector%s*%extlengthsector%s*1*\\.\PhysicalDrive%choice% -a -o hd -m O:
  44. echo.
  45. set /p fs=请输入ud.FAT的文件系统名字(比如FAT32或者NTFS):
  46. format O: /fs:%fs% /q /v:udFAT
  47. echo.
  48. echo ud.FAT已经制作完毕!
  49. set /p exp=需要explorer游览吗?(y/n):
  50. if "%exp%"=="y" start /wait explorer O:
  51. echo 卸载。
  52. PECMD.EXE RAMD ImDisk* -D -m O:
  53. pause
  54. exit

  55. :2
  56. echo 请输入磁盘编号(别选错了!):
  57. fbinst.exe --hdlist "No.%%N %%I %%P" --ALL --UD
  58. set /p choice=请输入磁盘编号(别选错了!如果列表为空请自觉退出):
  59. cls
  60. fbinst.exe (hd%choice%) export extinfo.txt "%TEMP%\extinfo.txt"
  61. for /f "usebackq" %%a in ("%TEMP%\extinfo.txt") do set extinfo=%%a
  62. set /p mp=请输入挂载盘符:
  63. PECMD.EXE RAMD ImDisk*V*%extinfo%*1*\\.\PhysicalDrive%choice% -a -o hd -m %mp%:
  64. echo 挂载完毕!
  65. set /p exp=需要explorer游览吗?(y/n):
  66. if "%exp%"=="y" start /wait explorer %mp%:
  67. pause
  68. echo 卸载。
  69. PECMD.EXE RAMD ImDisk* -D -m O:
  70. exit

  71. :3
  72. echo 请输入磁盘编号(别选错了!):
  73. fbinst.exe --hdlist "No.%%N %%I %%P" --ALL --UD
  74. set /p choice=请输入磁盘编号(别选错了!如果列表为空请自觉退出):
  75. cls
  76. fbinst.exe (hd%choice%) export extinfo.txt "%TEMP%\extinfo.txt"
  77. for /f "usebackq" %%a in ("%TEMP%\extinfo.txt") do set extinfo=%%a
  78. set extinfo=%extinfo:*=,%
  79. set i=0
  80. for /f "delims=," %%a in ("%extinfo%") do (echo %%a>"%TEMP%\extinfo!i!.txt"&set /a i=!a!+1)
  81. for /f "usebackq" %%a in ("%TEMP%\extinfo0.txt") do set /a extstart=%%a
  82. for /f "usebackq" %%a in ("%TEMP%\extinfo1.txt") do set /a extlength=%%a
  83. rem 其实WIndows不管分区ID,只要是07或者0B都看得见且能用
  84. PECMD.EXE TEAM CALC #extstartbyte=%extstart%|CALC #extlengthbyte=%extlength%|PART -raw %choice%#4 %%extstartbyte%% %%extlengthbyte%%
  85. echo 生成完毕。
  86. pause
复制代码
回复

使用道具 举报

70#
发表于 2015-2-10 13:38:32 | 只看该作者
看了老大的帖子,还是不明白到底要把UD扩展区弄成什么样子?老大们能不能说清楚一些。
回复

使用道具 举报

71#
发表于 2015-2-10 17:57:38 来自手机 | 只看该作者
mdyblog 发表于 2015-1-25 21:59
不占用分区表的, 只是在文件的flag中做了个标记。
是 深度隐藏的。


启动时自动加载,就有看需要提前到什么地步了,是提前于native的话我有驱动,提前于shell的话就一堆方案了
回复

使用道具 举报

72#
 楼主| 发表于 2015-2-10 18:56:54 | 只看该作者
本帖最后由 pseudo 于 2015-2-10 19:02 编辑

@sunsea
辛苦了。

想更方便:1产生了 (ud)/extinfo.txt文件,能否不要此文件,仍实现2、3。
pecmd能否不限于2012版。

另外,如果输入的序号是5或其它,可能会等效于1,有点风险。

点评

pecmd去不掉,扇区映射和分区表修改实在很方便  详情 回复 发表于 2015-2-10 23:02
extinfo.txt内有分区的偏移和长度,格式如下: 起始扇区号s*以扇区计量的分区长度s 到时直接读该文件即可  详情 回复 发表于 2015-2-10 22:48
extinfo.txt是留给grldr内的加载程序和编辑程序用的  详情 回复 发表于 2015-2-10 22:37
回复

使用道具 举报

73#
发表于 2015-2-10 22:37:07 来自手机 | 只看该作者
pseudo 发表于 2015-2-10 18:56
@sunsea
辛苦了。


extinfo.txt是留给grldr内的加载程序和编辑程序用的
回复

使用道具 举报

74#
发表于 2015-2-10 22:48:14 来自手机 | 只看该作者
pseudo 发表于 2015-2-10 18:56
@sunsea
辛苦了。


extinfo.txt内有分区的偏移和长度,格式如下:
起始扇区号s*以扇区计量的分区长度s

到时直接读该文件即可
回复

使用道具 举报

75#
发表于 2015-2-10 23:02:57 来自手机 | 只看该作者
pseudo 发表于 2015-2-10 18:56
@sunsea
辛苦了。


pecmd去不掉,扇区映射和分区表修改实在很方便
回复

使用道具 举报

76#
发表于 2015-2-21 18:15:22 | 只看该作者
MBROSTOOL
已经实现了  UD扩展区  MAP成一个硬盘分区出来。
PECMD也实现了。
grldr也实现了。(包内有), 如果用默认的 grldr, 需要调用包内的 ldudpe来map UD。
还可以锁住UD区,防止fbt  fbi  等破坏。
现在 可以直接启动PE, 并在PE中加载 UD到盘符(Z:),访问外置。

效果:
6269#


PECMD.EXE (88.05.52)  UDM+FIXDRV.WCS 也支持 UDEXt

PE启动时, 自动加载  UDEXt效果图:

点评

原版ud?拓展区是按本楼的fat法吧?  详情 回复 发表于 2015-2-22 10:33
你这项把UD扩展区map成一个盘,能不能在原版的UD中使用?  详情 回复 发表于 2015-2-22 00:38
回复

使用道具 举报

77#
发表于 2015-2-22 00:38:36 | 只看该作者
mdyblog 发表于 2015-2-21 18:15
MBROSTOOL
已经实现了  UD扩展区  MAP成一个硬盘分区出来。
PECMD也实现了。


你这项把UD扩展区map成一个盘,能不能在原版的UD中使用?
能的话,又要怎么使用?

点评

贴张图吧! [attachimg]209980[/attachimg]  详情 回复 发表于 2015-2-22 12:59
》》你这项把UD扩展区map成一个盘,能不能在原版的UD中使用? 能的话,又要怎么使用? --------------------- 1) 原版的UD 可以访问 主数据区,随便 编辑都可以。 2) 扩展区,只能查看允许看的那部分文件,不  详情 回复 发表于 2015-2-22 08:24
回复

使用道具 举报

78#
发表于 2015-2-22 08:24:55 | 只看该作者
本帖最后由 mdyblog 于 2015-2-22 08:27 编辑
zds1210 发表于 2015-2-22 00:38
你这项把UD扩展区map成一个盘,能不能在原版的UD中使用?
能的话,又要怎么使用?


》》你这项把UD扩展区map成一个盘,能不能在原版的UD中使用?
能的话,又要怎么使用?
---------------------
1) 原版的UD 可以访问 主数据区,随便 编辑都可以。
2) 扩展区,只能查看允许看的那部分文件,不能编辑-----锁住了。
     ---目前,“查看允许看的那部分文件”,那部分界面还没写(接口设计好了),只是锁住了。目前投石问路,看大家的反映,喜欢,且我有时间就接着写。
     我想,“查看允许看的那部分文件”,没几个吧。就是几个重要的IMG。

3) BIOS启动时map成(hd0,0), 后面是透明的了。
4)    PE启动时, PECMD直接加载到盘符,  后面是透明的了。
回复

使用道具 举报

79#
发表于 2015-2-22 10:33:22 来自手机 | 只看该作者
mdyblog 发表于 2015-2-21 18:15
MBROSTOOL
已经实现了  UD扩展区  MAP成一个硬盘分区出来。
PECMD也实现了。

原版ud?拓展区是按本楼的fat法吧?

点评

原版ud FbinstTool 1.607.2015.0119.EXE 其它版本也可以。  详情 回复 发表于 2015-2-22 13:00
回复

使用道具 举报

80#
发表于 2015-2-22 12:59:43 | 只看该作者
zds1210 发表于 2015-2-22 00:38
你这项把UD扩展区map成一个盘,能不能在原版的UD中使用?
能的话,又要怎么使用?

贴张图吧!
回复

使用道具 举报

81#
发表于 2015-2-22 13:00:39 | 只看该作者
本帖最后由 mdyblog 于 2015-2-22 13:04 编辑
sunsea 发表于 2015-2-22 10:33
原版ud?拓展区是按本楼的fat法吧?


原版ud
FbinstTool 1.607.2015.0119.EXE  其它版本也可以。

可能差不多吧。
没有 ud.FAT
扩展区不需要一个文件(或尸体)。

点评

恩。 我那个脚本其实也不需要,不过是占位罢了  详情 回复 发表于 2015-2-22 16:21
回复

使用道具 举报

82#
发表于 2015-2-22 16:21:39 | 只看该作者
mdyblog 发表于 2015-2-22 13:00
原版ud
FbinstTool 1.607.2015.0119.EXE  其它版本也可以。

恩。
我那个脚本其实也不需要,不过是占位罢了
回复

使用道具 举报

83#
发表于 2015-2-24 18:26:56 | 只看该作者
后学这样一个想法,不知可通也?

把可见分区建立在最前面,UD建立在中端深度隐藏,由UD建立出来的分区表项分区,自然变成最后隐藏分区+v2

如此数据由最后往前面推计算,后学认为grub4dos应该可以在中端启动才是。

NTFS+UD+V2=三分区
回复

使用道具 举报

84#
 楼主| 发表于 2015-2-25 15:52:03 | 只看该作者
嗯,请J大看看能否做个调整:格盘时,允许选择ud扩展区起点——起点可以像原来那样紧接(8M)ud区,也可以往后平移到某处(可简单地让ud扩展区充满u盘后端)。
这可能需要修正某些fbinstplus、fbinsttool代码。但从概念上说,变动将很有限,比较可行。

变动之后,fbinsttool照常管理ud区和ud扩展区,用户习惯完全不变。

变动之后,u盘可以做成单分区表项结构:
(8M)ud区(不可见)+普通区(分区表项排第一,自然可见)+ud扩展区(不可见)
分区表项法映射ud扩展区的efi.img后,ufi区对应第二分区表项,自然对windows隐藏。
由于保持了第一分区表项对应低端分区,可极大提高efi启动成功率。

缺点是ud扩展区靠后可能BIOS启动时影响读盘,这由用户了解利弊后自己设法应对就是了。

点评

MBROSTool -16 已经支持了---高端隐藏。 、、  详情 回复 发表于 2015-2-25 20:40
回复

使用道具 举报

85#
发表于 2015-2-25 20:40:59 | 只看该作者
本帖最后由 mdyblog 于 2015-2-25 20:43 编辑
pseudo 发表于 2015-2-25 15:52
嗯,请J大看看能否做个调整:格盘时,允许选择ud扩展区起点——起点可以像原来那样紧接(8M)ud区,也可以往 ...


MBROSTool -16 已经支持了---高端隐藏。


同时支持 扩展同步到UD目录。

MBROSTool5.3-16B-支持UD扩展区.7z

支持同步 UD扩展区的文件 到 UD目录。 FBInstTool 等也可以看到这个文件。
udext.exp中保存   UD扩展区的文件 需要输出到 UD的文件名 列表。UTF8编码。
选【同步到UD目录】,就会 同步到UD目录,并报告结果。



同步后的报告:




对于那些在UD中无效的文件,会提示滴。


回复

使用道具 举报

86#
 楼主| 发表于 2015-2-25 23:47:29 | 只看该作者
没有udext.exp文件时,等效于有一个包含UD扩展区所有文件列表的udext.exp文件?
“同步到UD目录”反过来也行?

点评

1: >>没有udext.exp文件时,等效于有一个包含UD扩展区所有文件列表的udext.exp文件? 需要输出的文件,其实很少。大概就efi.img. 其它,输出,还真没看到有什么实际的用途。 1)BIOS启动阶段: 现在UD启动后,  详情 回复 发表于 2015-2-26 00:14
回复

使用道具 举报

87#
发表于 2015-2-26 00:14:32 | 只看该作者
pseudo 发表于 2015-2-25 23:47
没有udext.exp文件时,等效于有一个包含UD扩展区所有文件列表的udext.exp文件?
“同步到UD目录”反过来也 ...


1: >>没有udext.exp文件时,等效于有一个包含UD扩展区所有文件列表的udext.exp文件?
需要输出的文件,其实很少。大概就efi.img.
其它,输出,还真没看到有什么实际的用途。

1)BIOS启动阶段:
现在UD启动后,直接看到的目录就是(hd0,0),  就是UD扩展区本身,不在是(ud).
在bios启动阶段,用户  不用 (ud) 了,直接用(hd0,0)。什么文件都看的清清楚楚。
相当于一个扩展的(udext).

2)windows阶段:也是直接访问 UD扩展区本身, 自动记载到盘符。


现在UD主区,就放个引导文件,和 udext.exp.


2: “同步到UD目录”反过来也行?
现在没有这个必要。
1) 操作主要在 扩展区的文件系统上。文件直接拷过来就可以了。
对于需要输出到UD的文件,碎片整理下,在点下 “同步到UD目录”就可以了。
事实上,需要导出的IMG文件,一般创建后就不动了,所以“同步到UD”一次后, 再也不需要 “同步到UD”了。

2) UD扩展区被锁住了, FBtool不能创建会修改文件。所以, 自然就没有 UD-->文件系统 这回事。
再说,那样也太费劲了,直接拷贝过去就完了,干嘛 非得绕过圈子,绕UD,创建,在导过来?

扩展区的操作 是“以文件系统上操作为主”,需要才同步到UD。


回复

使用道具 举报

88#
发表于 2015-3-15 21:32:17 | 只看该作者
是把整个ud区当作fat分区吗?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 11:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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