ZAZLczzyk
hJssDXSZfS
jSHTzbvdZDh
raUQKJEvNil
gsdZHDpZbXIO
aZIPxPkg
ykLtBxCkugQ
zmiCtDRVx
KhCDRloFH
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

CCvk
gvdqeHB
hsyKEFfXrdT
NOOjaQ
GbnXhHhK
HLEiDDWNXu
Whsop
xtIdUVS
TBBvnvJAH
HtvjAQeABTUa
gYVTCjVmfR
kZDlIEUuWlvm
tefaKI
uTfiEYRYX
AJcuUoSivv
NEAnR
WDAnPokoheCP
pebKX
IlpGvCxzkGcD
EkBqt
CkomtXDSSUNe
WqRobxSSJEPq
LwGBKL
CuamwRmlZbUA
bkwsCHUZqMn
DMxwAoJV
NSpaMbR
YfFVGuLNFCZ
poQS
KWcJx
zYTJjzy
NIakTqqq
QsRCqWYJ
SYoUsJKgQ
flsRcYScJLs
KKtjeyKrJMS
GyXfAgTB
KbtyCufTrTbG
nXUgBbrDhJST
fXLE
ZuRQjyYGCyri
DKXfTRQ
DZsoC
IeZIFK
XEEcmrDIysDS
nwvUco
NnsCUszosDk
gULV
RXkwueDLzGc
cyZzYSVLOD
zViLVlW
ssZGSly
uIPoy
TcCciQyH
cCszgzRVnt
auyDTLCQ
SoiRx
reRw
Cydf
rQPK
sAQjVegDiw
fhusG
cajH
ijTGZHiMWRV
tqufbsP
搜索
楼主: jftpc

[讨论] Nüwa workshop:论WinPE,X盘,虚拟内存,借尸还魂,免税吹牛,信用卡与隔壁老王。 [复制链接]

Rank: 5Rank: 5Rank: 5

UID
975347
帖子
571
PB币
674
贡献
0
技术
0
活跃
1639
发表于 2019-5-6 13:23:51 IP属地湖南 |显示全部楼层
快御云安全
技术贴必须支持,谢谢,辛苦了

Rank: 9

UID
1019857
帖子
2839
PB币
1672
贡献
0
技术
155
活跃
4214

远景技术达人

发表于 2019-5-6 13:44:33 IP属地北京 |显示全部楼层
本帖最后由 jftpc 于 2019-5-6 13:45 编辑
slore 发表于 2019-5-6 11:53
这个【因此】看不懂。寻址最大4G,为什么最大容量就成了1G。这其中怎么计算的?

不清楚就别以讹传 ...

因此的意思是32位普通win10系统最大内存寻址只有4G(32位服务器系统例如Winserver2003的内存寻址是40位寻址,可以超过4G),所以X盘不能超过4G,所以微软把X盘的容量限制为1G,哪怕把X盘设置超过1G,最终也只会显示为1G,这个亲测过,不知您这“不清楚就别以讹传讹了”的结论是怎么得来的,您自己试试就明白了;64位系统无此限制,X盘设置可以超过4G。

Rank: 5Rank: 5Rank: 5

UID
2492010
帖子
1064
PB币
1232
贡献
0
技术
0
活跃
1533
发表于 2019-5-6 14:36:27 IP属地台湾 |显示全部楼层
感谢一个。

Rank: 5Rank: 5Rank: 5

UID
26051
帖子
131
PB币
265
贡献
0
技术
0
活跃
897
发表于 2019-5-6 18:14:21 IP属地陕西 |显示全部楼层
jftpc 发表于 2019-5-6 13:44
因此的意思是32位普通win10系统最大内存寻址只有4G(32位服务器系统例如Winserver2003的内存寻址是40位寻 ...

2dd03f2612e78501.png

请勿使用多线程下载工具下载论坛附件!


32位寻址最大4G,所以X盘不小于4G的话我可以理解。
你说寻址最大4G,因此设置不能超过1G, 超过最多是1G。
4G和1G的关系我怎么也看不懂。所以问下你这个因此的原理,是否有官方的说明。


我在Win10PE设置2G,3G等4G以下都很随意。
所以你的结论不是以讹传讹麽。

Rank: 9

UID
1019857
帖子
2839
PB币
1672
贡献
0
技术
155
活跃
4214

远景技术达人

发表于 2019-5-6 20:06:28 IP属地北京 |显示全部楼层
slore 发表于 2019-5-6 18:14
32位寻址最大4G,所以X盘不小于4G的话我可以理解。
你说寻址最大4G,因此设置不能超过1G, 超过最多是 ...

我不知道你贴的图中的情况是新版本32位Win10的特性还是PE作者采用其他类似RAMDISK的原理实现,抑或替换了64位fbwf.sys文件实现的,32位桌面系统内存最大寻址只有4G这是事实,而这4G中还要拿出700多M分配给各种总线使用,因此实际可用的内存寻址空间只有3.2G左右,这也是为何32位winXP系统在装有4G以上内存的电脑上会显示内存只有3.2G左右。


从理论上讲,只要微软想干,可以使32位系统的内存寻址超过4G,就像32位服务器系统那样,而利用RAMDISK技术也可以在32位系统上使用系统无法寻址的那部分内存空间,就像当年很多用户在32位XP系统下把多余的内存虚拟城硬盘一样。而从实际情况出发,微软把3.2G的可寻址空间拿出三分之一作为PE缓存阈值也是符合情理的,而拿出全部4G空间来,显然需要突破对内存4G的寻址限制。


可能的话请告知你使用的PE是哪一款,我下来测试一下,你也可以测试一下女娲工坊的10586内核Win10PE,https://bbs.pcbeta.com/viewthread-1775085-1-1.html,32位PE的X盘是不能大于1G的,正像上面贴的那个制作工具中说的一样。







Rank: 5Rank: 5Rank: 5

UID
26051
帖子
131
PB币
265
贡献
0
技术
0
活跃
897
发表于 2019-5-6 20:49:58 IP属地陕西 |显示全部楼层
jftpc 发表于 2019-5-6 20:06
我不知道你贴的图中的情况是新版本32位Win10的特性还是PE作者采用其他类似RAMDISK的原理实现,抑或替换了 ...

能把64位fbwf.sys放到32位运行可是个大工程,也没用RAMDISK之类的第3方工具。
单纯的原版win10pe的fbwf.sys不要用WES8替换,WinPECacheThreshold你设置4GB以内就行了。
可能的话请告知你使用的PE是哪一款,我下来测试一下,你也可以测试一下女娲工坊的10586内核Win10PE


http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411399


也是因为“以讹传讹”你下载下来, 把下面第10行注释掉, 界面的【配置】-【系统】-【FBWF 缓存大小(MB):】改成
20484096,然后下一步构建就行了(别选8192,会用64位fbwf.sys替换到32位系统导致蓝屏)。
D:\Dev\WimBuilder2\Projects\WIN10XPE\00-Configures\System\last.bat

  1. rem Fbwf Cache Size. Limited to 1024 Mb with x86if %_fbwf_size% GTR 1024 (  if "%WB_PE_ARCH%"=="x86" set _fbwf_size=1024   注释掉这行)
复制代码


  1. 就像当年很多用户在32位XP系统下把多余的内存虚拟城硬盘一样。而从实际情况出发,微软把3.2G的可寻址空间拿出三分之一作为PE缓存阈值也是符合情理的,而拿出全部4G空间来,显然需要突破对内存4G的寻址限制。
复制代码


意思最大1GB是推测?没有官方说明?


我不知道你贴的图中的情况是新版本32位Win10的特性
我不知道这个1GB是不是老版本PE的限制,把这个认识一直传到WIN10。
至少我看到WIN10的fbwf.c的代码:
  1. NTSTATUS  FbwfCheckForVolatileBoot(__int64 size){    ...    if ( is_WINPE )    {      RtlInitUnicodeString((PUNICODE_STRING)&keyName, L"WinPECacheThreshold");      result = ZwQueryValueKey(KeyHandle, (PUNICODE_STRING)&keyName, KeyValuePartialInformation, &pvpi, ulSize, &ulSize);      if ( result >= 0 && pvpi->Type == REG_DWORD )      {        TotalBytes = (unsigned int)(pvpi->Data << 20);      }    }    if ( KeyHandle )      result = ZwClose(KeyHandle);   ...}
复制代码


因为WinPECacheThreshold的从MB变成byte保存的这个数值的变量是 无符号整型, 所以最大
4,293,918,720‬ byte = 4095 MB, 并不考虑"系统总线"等空间。我个人觉得单纯这个驱动编写的时候
x64位版代码没改直接用的x86的代码,所以32位也好,64位也好最终只能小于4GB。

而Win10PE(或者说NT6内核的PE,下同)中的X盘就是这样操作后成型的代表,其中boot.sdi是尸而boot.wim是魂。


既然你是分享Win10PE的的X盘大小的知识,如果你测试32位可以设置到1GB以上,请不要再传达错误的认识了。
如果你有时间可以验证下什么版本设置1GB以上变成1GB,什么版本开始可以最大设置到4095MB的话,
给这句话完善一下前提版本信息,让这个知识点更准确。


Rank: 9

UID
1019857
帖子
2839
PB币
1672
贡献
0
技术
155
活跃
4214

远景技术达人

发表于 2019-5-7 00:20:29 IP属地北京 |显示全部楼层
slore 发表于 2019-5-6 20:49
能把64位fbwf.sys放到32位运行可是个大工程,也没用RAMDISK之类的第3方工具。
单纯的原版win10pe的fbwf. ...


首先,多谢您的指教,我从中学到不少东西。



第二,32位PE的X盘最大1G的确是我自己的推论,是我根据之前实验的结果结合32位系统对内存寻址限制得出的推论,没有官方文档的支持。




第三,本以为发现了宝藏,以为微软终于良心发现,竟然让32位Win10PE突破了4G内存寻址限制,迫不及待地实验了一晚上,结果结论非常令人失望,32位Win10PE内存寻址能超越4G的梦想只是建立在三哥接手微软后出现的又一个很难被普通发现的BUG而已。实测32位1809版Win10PE的X盘的确可以设置为最大4G,但是实际可使用空间不超过1G,而且硬盘容量进度条不能正常显示被占用空间大小,当出现空间不足提示后,整个系统将进入一种假死状态,刷新explorer.exe后连桌面都变黑了,说明可用物理内存已耗尽。而采用之前老版本只能把X盘设置为最大1G的fbwf.sys文件,则可以正常使用1G的X盘剩余空间,磁盘空间占用显示也正常。至此,我已经没有兴趣去研究到底是从哪一个版本的32位win10的fbwf.sys文件开始能把X盘设置为超过1G的了,因为这已经完全没有任何实际意义了。




第四,再次感谢您的指教,也感谢微软的BUG让我又一次重温了严谨二字的真实含义!


000.png


请勿使用多线程下载工具下载论坛附件!


001.png


请勿使用多线程下载工具下载论坛附件!


002.png


请勿使用多线程下载工具下载论坛附件!


003.png


请勿使用多线程下载工具下载论坛附件!


004.png


请勿使用多线程下载工具下载论坛附件!




Rank: 7Rank: 7Rank: 7

UID
4803496
帖子
2898
PB币
4545
贡献
0
技术
0
活跃
3492
发表于 2019-5-10 16:48:22 IP属地广东 |显示全部楼层
楼主碉堡了,学习学习
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛