Board logo

標題: Dynamic memory allocation 的偽 RamDisk !! [打印本頁]

作者: mydaniel    時間: 2011-4-21 19:54     標題: Dynamic memory allocation 的偽 RamDisk !!

本帖最後由 mydaniel 於 2011-4-29 10:07 編輯

前言=====
  唔少人都有用 RAMDISK ,相信大家都有一個問題 ,幾GB RAM 割黎做 RAMDISK ,有用就算了 ,最慘係放晌到唔係成日用 ,而自己本身 RAM 又唔多 ,可能得 2~4GB ,搞到要就住就住
  但係坊間既 RAMDISK 有動態記憶體分配既RAMDISK 得兩個 ,一個冇開心版 ,而且要手動放RAM (好耐冇用過 ,唔知有冇UPDATE到) ,另一個係唔會開機自動MOUNT亦唔識放返出黎的 .但就無意中比我發現一個 RAMDISK 既代替品 , fbwf - file base write filter
  乜野係 file base write filter 呢? 本來係 mircosoft 為左Windows embedded 做既一個防寫系統 ,你可能會奇怪 ,防寫點做 RAMDISK? 我只係話代替品 ,如果你需要回寫功能 ,請就此略過 . ..|| 因為 fbwf 唔似 ewf 有 commit 功能 ,雖然有人寫過一個 script . ..但係呢到唔講住 ..
安裝=====
  廢話講左咁多 ,以下用 win7 黎做實例 ,首先你需要一隻 wes2011 既光碟 ,然後搜尋 file base write filter ,你會搵到一個叫做 WinEmb-File-Based-Write-Filter.cab 既東東 ,用 winrar 解壓會得到四個需要用到既檔案
[attach]1169919[/attach]
  將 fbwf.sys 放入C:\Windows\System32\drivers ,然後將 fbwfcfg.exe ,fbwflib.dll ,fbwfMgr.exe 放入 C:\Windows\System32 ,呢個時候我地仲需要一樣野 ,就係註冊檔 ,我用左一個好蠢既方法 . ..如果你係高手千其唔好用   就係安一次 WES2011 再將所有相關註冊碼抽出黎 . ..登錄註冊檔既時候你可能需要修改HKEY_LOCAL_MACHINE\SYSTEM\*ControlSet*\Enum\Root 既權限 ,可以參考下圖
[attach]1169920[/attach]
[attach]1169921[/attach]
  fbwf 咁簡單就安裝好了 ,但係仲未完的 ,你先分割一個8mb 既硬碟分區 ,符盤 set 做 R: ,重啟一次電腦然後入 cmd 打指令
[attach]1169922[/attach]
fbwfmgr /enable  <-- 啟動
fbwfmgr /addvolume R:  <-- 目標磁碟機 ,我呢到係 R:
fbwfmgr /setthreshold 1024  <--分配大細 ,1024MB 即係 1GB
fbwfmgr /setpreallocation 0  <--preallocation 係預先分配空間 ,SET 做 0 即係動態分配 ,刪檔案會即時放返出黎 ,全自動
fbwfmgr /setsizedisplay 1  <--用虛擬大小代替實際大小 ,求先叫你割 8mb 就係咁解 ,8MB 分區會變成 1GB
fbwfmgr /setcompression 1  <--實時壓縮 ,用左 fbwf 係用唔到 ntfs 壓縮 ,可以用呢個代替 ,不過寫入速度會好慢

測試參考=====
1gb ramdisk ,完全冇佔空間
[attach]1169923[/attach]
除左跑分唔知有乜可以測
[attach]1169924[/attach]
裝埋個 superseed ,咁就比佢食左 1gb
[attach]1169930[/attach]
速度各有勝負
[attach]1169931[/attach]
備註=====
#因為就算只係果四個檔案都一樣係版權物 ,所以網上基本冇乜載點 . ..但你總會搵到的 ,我就晌某 PCEVA 論壇 DL 過
#安裝前請先關閉 UAC . ..
#唔同系統要用返對應既檔案 ,比如 X64請搵返 X64 . ..
#fbwf 本身有記憶體上限 ,以我所知 XP 32BIT 係 320MB , WIN7 係 1GB ,WIN7 X64 係 128GB <--64BIT比較實用
#底果個分區 format 做乜都冇所謂的 ,如果你 format 做 ntfs ,勉強叫做可以用 symbolic link (但其他功能係全部都用唔到的)
#千奇唔好放 pagefile ,因為係動態分配 ,唔夠 ram 果時系統會直接崩潰 ,如果你真係要放 ,晌 enable之前先創好一個 pagefile.sys
#呢篇唔係教學文 ,有咩事死左唔好搵我 ,冇命賠的
#暫時淨係知咁多 ,仲有就係如果你SET左 C: 會比 Bootstat.dat 搞到入唔到window 諸如此類 ,呢到淨係用黎當 ramdisk 用 ,唔講了
#如果你有無限咁多RAM ,呢篇野可能唔岩你 次次講親 RAM 都會有人出黎話 RAM 平自己加爆佢 ,其實我好反感
作者: rkkc    時間: 2011-4-21 23:02

Daniel 兄寫得詳盡,要忠告用 fbwf 的事都給你說明了;設置了動態記憶體分配,我可以指 temp/tmp 去有 fbwf 保護的 drive 了;

你的 fbwf.sys ... 是哪個 WES7?我的 fbwf.sys ... 版本是 1.0.299.0 (4/2/2010)
[attach]1170003[/attach]
作者: mydaniel    時間: 2011-4-22 01:06

相信你也知道 WES2011 正式版改名 WES7 了 ,我用的正正就是 WES2011CTP2
檔案版本是 233 ,比你的舊 ,我曾經嘗試使用 299的版本 ,無奈失敗告終
CHING 是 X86 還是 X64?
作者: sigh    時間: 2011-4-22 01:23

咁樣動態分配記憶體幾好, 但WIN7 32bit 上限只可以用到 1GB???
實在太少了
作者: rkkc    時間: 2011-4-22 01:31

我用 Windows 7 x64 fbwf.sys 是 1.0.299.0,用以下的 registry:
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Fbwf]
  3. "Start"=dword:00000000
  4. "Tag"=dword:00000002
  5. "Type"=dword:00000002
  6. "ErrorControl"=dword:00000001
  7. "ImagePath"="system32\\drivers\\fbwf.sys"
  8. "EnabledOnAllSkus"=dword:00000001
  9. "DebugFlags"=dword:00000000
  10. "DisplayName"=""
  11. "Group"="FSFilter System Recovery"
  12. "DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00

  13. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Fbwf\Instances]
  14. "DefaultInstance"="Fbwf Instance"

  15. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Fbwf\Instances\Fbwf Instance]
  16. "Altitude"="226000"
  17. "Flags"=dword:00000000
複製代碼

作者: mydaniel    時間: 2011-4-22 10:00

本帖最後由 mydaniel 於 2011-4-22 10:02 編輯
我用 Windows 7 x64 fbwf.sys 是 1.0.299.0,用以下的 registry:
rkkc 發表於 2011-4-22 01:31


如果你沒有把wow64 給遺忘了可以試試看這個
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FBWF]
  3. "Start"=dword:00000000
  4. "Type"=dword:00000002
  5. "ErrorControl"=dword:00000001
  6. "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\
  7.   72,00,69,00,76,00,65,00,72,00,73,00,5c,00,46,00,62,00,77,00,66,00,2e,00,73,\
  8.   00,79,00,73,00,00,00
  9. "Group"="FSFilter System Recovery"
  10. "DisplayName"="File-Based Write Filter"
  11. "Description"="File-Based Write Filter driver"
  12. "DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00
  13. "DebugFlags"=dword:00000000
  14. "EnabledOnAllSkus"=dword:00000001

  15. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FBWF\FBA]
  16. "ProtectRegistryRamdisk"="\\RegfData"
  17. "EnablePostFBA"=dword:00000000
  18. "ThresholdSize"=dword:00000000
  19. "CacheType"=dword:00000003
  20. "VirtualSizeDisplay"=dword:00000001

  21. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FBWF\FBA\Exclusion]
  22. "Protection1"=hex(7):

  23. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FBWF\Instances]
  24. "DefaultInstance"="Fbwf Instance"

  25. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FBWF\Instances\Fbwf Instance]
  26. "Flags"=dword:00000000
  27. "Altitude"="226000"

  28. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FBWF\Enum]
  29. "0"="Root\\LEGACY_FBWF\\0000"
  30. "Count"=dword:00000001
  31. "NextInstance"=dword:00000001

  32. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_FBWF]
  33. "NextInstance"=dword:00000001

  34. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_FBWF\0000]
  35. "Service"="FBWF"
  36. "Legacy"=dword:00000001
  37. "ConfigFlags"=dword:00000000
  38. "Class"="LegacyDriver"
  39. "ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
  40. "DeviceDesc"="File-Based Write Filter"

  41. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_FBWF\0000\Control]
  42. "ActiveService"="FBWF"
複製代碼

作者: rkkc    時間: 2011-4-22 10:22

如果你沒有把wow64 給遺忘了可以試試看這個
mydaniel 發表於 2011-4-22 10:00


我用短版 registry,restart 後就會自動產生其他 reg key (e.g. LEGACY_FBWF),只是沒有 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FBWF\FBA,但一切正常,FBA 的 setting 似是 WinPE 用。
[attach]1170166[/attach]
作者: mydaniel    時間: 2011-4-22 10:28

我用短版 registry,restart 後就會自動產生其他 reg key (e.g. LEGACY_FBWF),只是沒有 HKEY_LOCAL_MACH ...
rkkc 發表於 2011-4-22 10:22



ching 不是用不了嗎
如果一切正常有什麼問題呢
作者: rkkc    時間: 2011-4-22 10:43

XPE 時代見 ewf/fbwf 問題多 (e.g. page allocation error ...) 便丟下來,見 ching 的 fbwf 靈活用法,便找來新版 (299) 的 files,因為一試即得,所以想交流 registry,再多謝你的努力。
作者: mydaniel    時間: 2011-4-22 10:52

XPE 時代見 ewf/fbwf 問題多 (e.g. page allocation error ...) 便丟下來,見 ching 的 fbwf 靈活用法,便 ...
rkkc 發表於 2011-4-22 10:43



原來如此 ,那就是我誤會了
我還特地用 vmware 安裝 299的版本 ,發覺一切如常
看來是我以前用註冊檔的時候出問題 ,讓 ching 見笑了
xpe 時代的問題是用在 vista/win7 身上嗎?
我的 xp 有安裝 ewf ,用的好好的 @@ 雖然很久沒開了
作者: 主人    時間: 2011-4-22 18:39

留名~~~~~~~
作者: mlyu    時間: 2011-4-26 19:46

相信你也知道 WES2011 正式版改名 WES7 了 ,我用的正正就是 WES2011CTP2
檔案版本是 233 ,比你的舊 ,我曾經 ...
mydaniel 發表於 2011-4-22 01:06



    我o係 ms download o個個係 20/11/2010, 但係 version 係 1.0.114 o既?
作者: uwantwant    時間: 2011-4-26 19:52

WIN7 冇需要/必要用ram disk. 反而仲浪費左d ram
作者: mydaniel    時間: 2011-4-26 20:07

我o係 ms download o個個係 20/11/2010, 但係 version 係 1.0.114 o既?
mlyu 發表於 2011-4-26 19:46


會唔會係測試版?
我有 D 檔案版本仲舊過你
[attach]1173107[/attach]
作者: mydaniel    時間: 2011-4-26 20:12

WIN7 冇需要/必要用ram disk. 反而仲浪費左d ram
uwantwant 發表於 2011-4-26 19:52



just base on personal use
there's nothing faster than ramdisk
作者: mydaniel    時間: 2011-4-26 20:33

可能我冇檔案上黎 ,呢個 POST 有人睇冇人覆
不過呢排 HKEPC 執得好正 ,廢時比人插
作者: mlyu    時間: 2011-4-26 20:34

會唔會係測試版?
我有 D 檔案版本仲舊過你
mydaniel 發表於 2011-4-26 20:07



    我係 ms 個 eval. version, 係 sp1 o黎, 應該唔係 test 版啦
作者: mydaniel    時間: 2011-4-26 20:36

我係 ms 個 eval. version, 係 sp1 o黎, 應該唔係 test 版啦
mlyu 發表於 2011-4-26 20:34



連 sp1 都有了?
等我 dl 黎 see see 多謝報料
其實新舊版本都用得的
作者: mlyu    時間: 2011-4-26 20:47

可能我冇檔案上黎 ,呢個 POST 有人睇冇人覆
不過呢排 HKEPC 執得好正 ,廢時比人插  ...
mydaniel 發表於 2011-4-26 20:33



    我真係搵唔到新o的o既 version

btw, 我見有個 fbwfsetup o既 program, 但係 driver 似係 32-bit, 唔識整 x64
作者: mydaniel    時間: 2011-4-26 20:53

我真係搵唔到新o的o既 version

btw, 我見有個 fbwfsetup o既 program, 但係 driver 似係 32-bit,  ...
mlyu 發表於 2011-4-26 20:47



x64 入面仲有埋個 syswow64 folder
其實裝錯都係 enable 唔到 ,仲有唔好搞個 C: 都應該問題不大
作者: mlyu    時間: 2011-4-26 21:40

x64 入面仲有埋個 syswow64 folder
其實裝錯都係 enable 唔到 ,仲有唔好搞個 C: 都應該問題不大 ...
mydaniel 發表於 2011-4-26 20:53



    咁 x64 要裝邊幾個 file?
作者: mydaniel    時間: 2011-4-26 21:47

咁 x64 要裝邊幾個 file?
mlyu 發表於 2011-4-26 21:40



應該係要個32bit 既 fbwflib.dll 放入 syswow64
其實都係晌 WinEmb-File-Based-Write-Filter.cab 入面 ,你搵到 x64 版本就會有埋
作者: mydaniel    時間: 2011-4-26 22:00

我o係 ms download o個個係 20/11/2010, 但係 version 係 1.0.114 o既?
mlyu 發表於 2011-4-26 19:46


我唸 114 果個新 d

[attach]1173244[/attach][attach]1173245[/attach]
作者: mlyu    時間: 2011-4-26 22:40

唔做個 8MB partition 出o黎得唔得?
作者: mydaniel    時間: 2011-4-26 23:08

唔做個 8MB partition 出o黎得唔得?
mlyu 發表於 2011-4-26 22:40



應該有部份 RAMDISK 可以代替 ,如果你認為咁樣比較方便
作者: mlyu    時間: 2011-4-27 11:00

應該有部份 RAMDISK 可以代替 ,如果你認為咁樣比較方便
mydaniel 發表於 2011-4-26 23:08



    ?? 唔明...其實個 8MB 要o黎做乜?
作者: mydaniel    時間: 2011-4-27 11:24

?? 唔明...其實個 8MB 要o黎做乜?
mlyu 發表於 2011-4-27 11:00



^^...你其實有冇睇我個 POST 寫乜
作者: nekkix    時間: 2011-4-27 11:42

提示: 作者被禁止或刪除 內容自動屏蔽
作者: mydaniel    時間: 2011-4-27 11:52

我想問問Ching
R: 個 8mb 係咪來自 hdd ??
如果 hdd 本身有 3 個 partitions, C, D, E
係咪係 E 到分割 8 m ...
nekkix 發表於 2011-4-27 11:42



全對 ,其實佢本身有 commit 指令 (詳見 fbwf /?)
但我記得係唔支援 folder 既 ,所以想要回寫會比較麻煩
作者: nekkix    時間: 2011-4-27 12:13

提示: 作者被禁止或刪除 內容自動屏蔽
作者: mydaniel    時間: 2011-4-27 12:33

回復  mydaniel


    明白明白
本身見速度唔錯, 仲想放隻game落去試下

Ching 係咪放 temp file only ...
nekkix 發表於 2011-4-27 12:13



我有放 pagefile
但我唔建議你放
作者: nekkix    時間: 2011-4-27 12:42

提示: 作者被禁止或刪除 內容自動屏蔽
作者: mlyu    時間: 2011-4-27 12:46

^^...你其實有冇睇我個 POST 寫乜
mydaniel 發表於 2011-4-27 11:24



    就係睇o左都唔明...你又 set o個 8MB 做 R:, 又 add volume 落 R:

其實唔 set 喱 8MB 又得唔得呢?
作者: mlyu    時間: 2011-4-27 12:48

唔 support folder 咁咪連 firefox 做 cache 都唔得?
作者: mydaniel    時間: 2011-4-27 13:06

唔 support folder 咁咪連 firefox 做 cache 都唔得?
mlyu 發表於 2011-4-27 12:48



你唔好斷章取義先

微軟本身冇做過 ramdisk , 賺唔到錢可能係主因
而佢個系統又鬼咁死封閉 ,咁其他 programmer 寫唔出 dynamic allocation 既 ramdisk
咁基本上我地就冇得用

但宜家我地搵到佢有個防寫系統有 dynamic allocation
總之有一個位比我地寫入到暫存檔而佢又可以完全晌 ram 上面運作咁我地咪 "當佢係ramdisk" 囉..
咁你明唔明乜野叫防寫?
如果你真係唔知自己晌到做緊乜 ,我唔建議您亂搞個系統
作者: mlyu    時間: 2011-4-27 14:42

你唔好斷章取義先

微軟本身冇做過 ramdisk , 賺唔到錢可能係主因
而佢個系統又鬼咁死封閉 ,咁其 ...
mydaniel 發表於 2011-4-27 13:06



我係講緊你話佢個 commit 唔知 sup 唔 support folder, 咁做 firefox cache 係會有 folder o架嘛
我就係想知做唔做到
作者: mydaniel    時間: 2011-4-27 15:00

我係講緊你話佢個 commit 唔知 sup 唔 support folder, 咁做 firefox cache 係會有 folder o架嘛
我就係 ...
mlyu 發表於 2011-4-27 14:42



我唸大部份人都唔會寫返 firefox cache 入 hdd  
如果你有需要可以自己先創一個 folder . ..佢只係唔可以 commit created directories
但如果你本身就有晌到就冇問題 . ..
作者: would    時間: 2011-4-27 22:08

好文!
一定要支持一下!
作者: poohhk    時間: 2011-4-27 23:00

幾經辛苦先找到SP1
[attach]1173710[/attach]
最正係呢樣 (動態分配 ,刪檔案會即時放返出黎 ,全自動)
多謝師兄分享
作者: pp3089    時間: 2011-4-28 17:41

本帖最後由 pp3089 於 2011-4-28 17:50 編輯

成功左,終於可以放棄破解VSuite Ramdisk啦 !!
真正的dynamic allocation好正  

Win7 64bit
Ramdisk Size=6200MB

[attach]1174204[/attach]
作者: nekkix    時間: 2011-4-28 17:46

提示: 作者被禁止或刪除 內容自動屏蔽
作者: pp3089    時間: 2011-4-28 17:52

而家比較有興趣大家放D咩入去??
nekkix 發表於 2011-4-28 17:46



用緊ssd,成塊DVD/bdrip可以bt入ramdisk度先
作者: rkkc    時間: 2011-4-28 18:37

而家比較有興趣大家放D咩入去??
nekkix 發表於 2011-4-28 17:46


environment variable TEMP/TMP、IE Temporary Internet Files 指去 fbwf 保護的 drive,方便 shutdown 時內容自動消失。
作者: nekkix    時間: 2011-4-28 19:22

提示: 作者被禁止或刪除 內容自動屏蔽
作者: nekkix    時間: 2011-4-28 19:23

提示: 作者被禁止或刪除 內容自動屏蔽
作者: rkkc    時間: 2011-4-28 19:29

放入 environment variable TEMP/TMP 可以令 system 更 smooth 嗎??
nekkix 發表於 2011-4-28 19:23


試看看 \Users\[用戶名]\AppData\Local\Temp 有甚麼 files,它們大小不一 (幾 KB 到幾佰 MB),temp files 用 ramdisk 比 HDD/SSD 更順暢。
作者: mydaniel    時間: 2011-4-28 19:42

回復  pp3089


    BT完再抄返出傳統HDD?
nekkix 發表於 2011-4-28 19:22



utorrent 有move when finish 功能
新版 bitcomet 亦有 ,但我覺得部份人對 bt 太敏感了 . ..
作者: nekkix    時間: 2011-4-29 00:02

提示: 作者被禁止或刪除 內容自動屏蔽
作者: nekkix    時間: 2011-4-29 00:03

提示: 作者被禁止或刪除 內容自動屏蔽
作者: mydaniel    時間: 2011-4-29 00:09

回復  mydaniel


    如果要續傳個陣係咪就無用了??
nekkix 發表於 2011-4-29 00:03



save 低佢要續傳再搬返入去
作者: mlyu    時間: 2011-4-29 16:00

成功左,終於可以放棄破解VSuite Ramdisk啦  !!
真正的dynamic allocation好正   

Win7 ...
pp3089 發表於 2011-4-28 17:41


你裝個 step 點? 我最後都係裝唔到
作者: nellwill    時間: 2011-4-29 16:30

你裝個 step 點? 我最後都係裝唔到
mlyu 發表於 2011-4-29 16:00



    我都想知道
作者: pp3089    時間: 2011-4-29 19:28

你裝個 step 點? 我最後都係裝唔到
mlyu 發表於 2011-4-29 16:00



已pm
作者: pp3089    時間: 2011-4-29 19:28

我都想知道
nellwill 發表於 2011-4-29 16:30



已pm
作者: chingming    時間: 2011-4-30 11:54

回復 54# pp3089

師兄,我都PM 左你
麻煩幫幫手~!

作者: pp3089    時間: 2011-4-30 12:09

回復  pp3089

師兄,我都PM 左你
麻煩幫幫手~!

chingming 發表於 2011-4-30 11:54



已pm
作者: climbw25394    時間: 2011-4-30 13:29

乜野係wes2011
作者: pp3089    時間: 2011-4-30 14:53

乜野係wes2011
climbw25394 發表於 2011-4-30 13:29


http://lmgtfy.com/?q=wes2011
Windows Embedded Standard 7 (2011)
作者: mlyu    時間: 2011-5-9 10:23

最後終於整到個 ramdisk, 不過發現有o的問題, 唔知點解決

我 set o左 1G dynamic ramdisk
將 tmp, temp 放o左去 ramdisk 度
跟住開 IE, print 唔到 webpage, save 唔到 webpage





歡迎光臨 電腦領域 HKEPC Hardware (https://www.hkepc.com/forum/) Powered by Discuz! 7.2