Announcement

Collapse
No announcement yet.

Guide to using FBWF on Windows XP Pro

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Guide to using FBWF on Windows XP Pro

    Hi there. my first post, hope its of use to people here. I am using FBWF on a standard Windows XP Pro installation (SP3 RC1 to be exact). Finding no guide available online, I thought I'd write this one.

    --EDIT--
    Quick note for those of you who don't know what FBWF is. It is very similar to EWF, but FBWF (file based write filter) offers some important advantages. FBWF uses less ram (you can reclaim ram overlay space when you delete files), you can also commit on the fly (without restarting or disabling), and have persistent (write through) folders that write straight to the drive (so you can have a persistent My Documents for example).
    --EDIT--

    You will need the following files from the XPe feature pack 2007 trial.

    fbwf.sys fbwfdll.dll fbwflib.dll fbwfmgr.exe

    If you're not sure how to extract these files, please see the "New EWF + MinLogon and CF instructions" thread by SFiorito.

    1.Copy fbwf.sys to \WINDOWS\system32\drivers
    2.Copy all other files to \WINDOWS\system32\
    3.Add the following to your registry (it's probably easiest to copy it into an empty txt file, rename it to fbwf.reg, and load)

    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\FBWF]
    "Start"=dword:00000000
    "Type"=dword:00000002
    "ErrorControl"=dword:00000001
    "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
      52,00,49,00,56,00,45,00,52,00,53,00,5c,00,66,00,62,00,77,00,66,00,2e,00,73,\
      00,79,00,73,00,00,00
    "Group"="FSFilter System Recovery"
    "DisplayName"="File-Based Write Filter"
    "Description"="File-Based Write Filter driver"
    "DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00
    "DebugFlags"=dword:00000000
    "EnabledOnAllSkus"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\FBWF\FBA]
    "EnablePostFBA"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\FBWF\Instances]
    "DefaultInstance"="Fbwf Instance"
    
    [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\FBWF\Instances\Fbwf Instance]
    "Flags"=dword:00000000
    "Altitude"="226000"
    4.Reboot
    5.Go to your command prompt, and type in the following commands.

    fbwfmgr /enable
    fbwfmgr /addvolume X:
    fbwfmgr /setthreshold S

    X is the drive you want to protect (most will want to protect c. S is the size you want your ram drive to be in MB(mine is 256).

    6. Reboot, and your done!


    There are 4 other commands in fbwfmgr you may want to play with. /setpreallocation 1 reserves the ram space (I.E does not dynamically change with the amount of actual used space). /setcompression 1 compresses the date to save more ram space, but at the cost of CPU time. /overlaydetail tells you what files are being stored in ram, and how much ram space is being used. /addexclusion X: "\persistent\folder" enables write through on the folder X:\persistent\folder.

    For those used to EWF, unfortunately there is no way to commit all data, and each file has to be committed manually with the following command /commit X: "\windows\file.exe"

    I hope I haven't left anything out! Hopefully this guide will be usable and somewhat clear...and if it breaks your puter, well, I'm sorry :P

  • #2
    for those of you who dont know what FBWF is...its File Based Write Filter Driver.

    http://msdn.microsoft.com/en-us/library/aa940926.aspx
    Trouble deciding on car speakers? Clicky Clicky
    Speakers: DLS Ultimate Iridium 6.3 Link
    Subwoofer: removed
    Amplifier#1 (Front Stage): DLS Ultimate A4
    Amplifier#2 (Sub) removed
    Carputer: Removed for tablet install

    Comment


    • #3
      so you use FBWF instead of EWF?
      TruckPC - gutted, being used for test setup
      BoatPC - All in 1 in cuddy, N7 using VNC on dash, RR
      BlazerPC - Nexus 7 with Timur's USBROM

      Comment


      • #4
        Indeed, and I think its a lot better.

        The main reason I use FBWF is that it uses MUCH less ram. You can also commit on the fly (without restarting or disabling), and have persistent (write through) folders that write straight to the drive (so you can have a persistent My Documents for example).

        Here's a quote from "windowsfordevices.com"
        EWF blindly filters all sector reads and writes. Since FBWF hooks in at the file level, it can perform intelligent filtering based on files, folders, or any file system data structures. It can also do a much better job reclaiming memory.
        So basically...lets say you use EWF, and download a 30MB video, and then delete it, the 30MB of ram space you used does not get reclaimed. With FBWF, as the protection is at the file system level, you can download a video, delete it, and your ram use won't have gone up.

        Riz

        Comment


        • #5
          Im am currently running ewf on a 2G USB flash drive. Can i upgrade my ewf to Fbwf, How?.

          Comment


          • #6
            Yes you can, simply turn off EWF (by removing the registry settings you applied to install EWF), and follow my instructions as listed.

            Comment


            • #7
              now lets say I use a CF card as my hard drive, and set up FBWF, will this protect the card and make it last longer? well, let me rephrase that, how much longer/what time frame should this card last for


              thanks alot!

              Comment


              • #8
                Well, I was excited as all hell about using FBWF instead of EWF! Until I read about the inability to commit all changes immediately. That freaking blows chunks. It may be possible for one to read and parse the list of files output by /overlaydetail, file by file, but that's really hackish! Isn't there a built-in switch to do that? Gah...

                At any rate, it looks like my "commit and disable" script needs a little tweaking

                Thanks for the guide!!

                edit: Screw it. I took the initiative myself.

                Comment


                • #9
                  No problem Falcon, glad to help. If you could make a commit all script, that would be amazing. I've read a few posts from people online that seem to suggest that the FBWF API is easy to work with, so I say go for it! I'd give you a hand but I can't program to save my life lol.

                  Vip3r, the main purpose of FBWF and EWF is not so much flash memory wear (according to my calculations, even if you wrote to one 24/7, it would take at least 6 years before modern flash memory with 100,000 rewrite cycles would fail), but rather to speed things up alot, as flash is very fast to read, and very slow to write.

                  FBWF offers all the protection EWF does. I.E if you were to never commit any data (that is to say, never wrote any data to the flash apart from the first time you copied your Windows onto it), the flash should last a lifetime.

                  Riz

                  Comment


                  • #10
                    A couple more differences between EWF and FBWF, might be relevant for some users, from the MSDN site http://msdn.microsoft.com/en-us/library/aa940813.aspx.
                    In addition, only EWF may be used with Hibernate Once Resume Many (HORM). HORM is not available when FBWF is used.

                    FBWF does not provide the following EWF functions:

                    * Support for multiple overlays
                    * Support for disk overlays
                    * Live commit and disable

                    Comment


                    • #11
                      The problem with mathematically calculating Flash wear is that it simply does not work like that. File systems like FAT and NTFS are not designed to be used on Flash! They make constant writes to the same location, over and over, sometimes racking up hundreds of writes to the same location every minute (defraggers, for example). Typical file systems will very quickly wear out a Flash device, as evidenced by the constant failure of Flash memory cards and USB sticks. Some people have tried (and in the case of Linux, succeeded) in creating a Flash friendly file system that tries to spread out wear across the device. But since Windows can't read those file systems (without additional software), they aren't commonly used. Instead, people continue using the good ol' FAT file system for most Flash sticks, wearing them out in short order when most of the other cells never see much action at all.

                      Sssssoooooooooo.... long story short, Flash is more susceptible to damage than most people seem to realize. That's why it's so important to run a write filter on any Flash device (and I think EWF has a lot more potential than FBWF since it prevents even filesystem maintenance writes - the worst of them).

                      If only EWF weren't so buggy...

                      Comment


                      • #12
                        well the thing is, I live in southern ontario, summers can be (including this weekend...)insanely hot, 32*C yesterday, and thats without humidity, and our winters are harsh, as low as -20*C (and colder!).

                        I want to use a CF card for my OS with EWF or FBWF (not sure which one yet), and then another CF card without EWF(is that smart?) for my Frontend(centrafuse) and GPS(iguidance). Then get a USB drive with all my music on it. Does this make sense? The last thing I want is harddrive issues in our extreme weather.


                        Help me out!

                        Comment


                        • #13
                          I was planning on using a hard drive in the car but when I got in yesterday morning it was already uncomfortable to ride in. I also live in southern Ontario and damn it's been hot lately. I'm second guessing the whole hard drive set up I have.

                          Anyway, my contribution to this thread:
                          I found out that if you set it up properly, you can just create separate partitions on one large drive, one that's protected by EWF for hibernation and static files like drivers, and then another one that has settings files and music that can change at any time.
                          Thing is, if Windows sees two drives at hibernation, they'll both be protected. So unmount the larger dynamic drive, remove its drive letter, then hibernate. Then when you start up, give it a drive letter by means of some BAT script and then all will work wonderfully.
                          2001 Mustang Convertible Worklog
                          Indigo Custom Frontend (Flash/Delphi)
                          Blog

                          Qube v1.3 Now Available at the mp3Car Store!!!!!!
                          The simplest IO controller you'll ever use!

                          Comment


                          • #14
                            Falcon, technically you are right, and this may have been true for older flash drives, but all modern flash devices that I know of employ "wear-levelling" techniques. This means that writes are transparently relocated (by the firmware on the flash device) to areas of less wear.

                            See http://corsairmemory.com/_faq/FAQ_fl...r_leveling.pdf for more details.

                            Also read http://www.storagesearch.com/ssdmyths-endurance.html for some clarity about the myths of flash wear. (please note that in his example he uses a drive with 2,000,000 write erase cycles, at 80mb/s. The average drive we'd use would have 100,000 write erase cycles, at ~22mb/s)
                            According to these calculations, my drive will last
                            Code:
                            100,000 (write erase cycles) x 8192MB (capacity) divided by 22MB / sec = 1.2 years
                            Maybe not the 6 years I quoted earlier, but 1.2 years, if I wrote 24/7, is still a very long time!

                            Riz

                            Comment


                            • #15
                              just bought a 4gb Sandisk extreme iv and sintek cf-ide adapter, cant wait!

                              Comment

                              Working...
                              X