Jump to content











Photo

ReFS (formerly Protogon) in Windows 8 - The new filesystem


  • Please log in to reply
28 replies to this topic

#1 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 17 September 2011 - 11:46 PM

After a little struggle to get the Developer Preview (6.2.8102) running, I ended up running it in Virtualbox on top of WinPE. Yes you need vt enabled processor. And talking about the vt requirement, I think that was introduced simultanously as protogon. VMware seems to only support it in the latest version 8.

As some have already noticed Protogon is not working. I am quite confident it's because it is broken in the current build. Earlier versions worked with protogon, like 6.2.7955, but not in 6.2.8102. So I tried to replace a few files and as expected it is possible to format with protogon under 6.2.8102. For that you need 4 files;

format.com

ifsutil.dll

untfs.dll

uprotogon.dll


Put those in a separate folder and formatting with protogon will work like this;

Posted Image

As you see, the last line says format failed, but that is wrong. It only says so because the protogon driver in the build is broken and thus cannot understand/verify the filesystem on the new volume. I did this and verified the volume to be correctly formatted by reattaching the disk to a build that has protogon working. Using older version of protogon.sys was also not possible as the system then bsod'ed (or more exactly g(reen)sod'ed complaining about ntfs something error).

Moreover, the minimum volume size supported for protogon is exactly 512 Mb. Bootcode is also not supported yet, at least bootsect.exe complained. As expected it is thus not possible to boot directly from a protogon formatted volume. And the size of the systemfiles seems to be less than on NTFS, and giving more of the available space on the volume.

Anyways, it's interesting to have a new filesystem to be dealing with. Don't know what else it is capable of yet.

Oh and btw, the OS itself, was really a big pain. After a couple of hours back and forth in Virtualbox, I still don't know where the shutdown button is. And the programs menu, was nowhere...
  • Nuno Brito likes this

#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7156 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars, www.easy2boot.com
  •  
    United Kingdom

Posted 18 September 2011 - 07:06 AM

shutdown button only appears after user logoff. click start menu and then user name icon to logoff, then on lock screen, left-click and move cursor up to scroll-up the lock screen. then use shutdown icon.Obvious isn't it!

#3 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 18 September 2011 - 07:23 AM

shutdown button only appears after user logoff. click start menu and then user name icon to logoff, then on lock screen, left-click and move cursor up to scroll-up the lock screen. then use shutdown icon.Obvious isn't it!

Yeah.. The first thing I did was to create a shortcut to cmd.exe on the desktop. If we can deactivate the nonsense menu you boot into, that would have been a fantastic configuration.

Regarding protogon, it appears that the likely earliest build it was introduced in (and working) was 6.2.7927.

#4 steve6375

steve6375

    Platinum Member

  • Developer
  • 7156 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars, www.easy2boot.com
  •  
    United Kingdom

Posted 18 September 2011 - 07:41 AM

Yep - at the moment is is worse than Win7.

Create a file called xxxyyy.txt - now use Explore Search function to search for yyy - it still doesn't find it!

just like Vista and Win7 - a search function that doesn't work!
  • Nuno Brito likes this

#5 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10554 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 18 September 2011 - 10:10 AM

just like Vista and Win7 - a search function that doesn't work!

Hadn't noticed that yet, interesting.

#6 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 18 September 2011 - 01:51 PM

If we can deactivate the nonsense menu you boot into, that would have been a fantastic configuration.

Try using MS Application Verifier to play with some Win Explorer settings. More Start Menu and other hidden features might show up you would never expect, including the blocked ones for this built - search Google for hints. I got a rarity Sleep button & feature on Win Server 2008R2 that way: it just treaks Explorer (with Start Menu being its feature) to think, its running on a different Win version & build. :cold:

#7 Cristian Silaghi

Cristian Silaghi
  • Members
  • 4 posts
  •  
    Romania

Posted 18 September 2011 - 02:41 PM

Hi! joakim, can you give me the 4 files? Please! You can attach the files here :) Thanks in advance! ;)

#8 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 18 September 2011 - 03:23 PM

Hi! joakim, can you give me the 4 files? Please! You can attach the files here :) Thanks in advance! ;)

It was not supposed to be a file distribution thread!

#9 Cristian Silaghi

Cristian Silaghi
  • Members
  • 4 posts
  •  
    Romania

Posted 18 September 2011 - 03:32 PM

Please :) Or you can upload the files into a website and post the link :)

#10 sbaeder

sbaeder

    Gold Member

  • .script developer
  • 1338 posts
  • Location:usa - massachusettes
  •  
    United States

Posted 18 September 2011 - 04:31 PM

Yeah.. The first thing I did was to create a shortcut to cmd.exe on the desktop. If we can deactivate the nonsense menu you boot into, that would have been a fantastic configuration.

There are already things floating around the net that let you toggle off the Metro stuff to make it more like a traditional "desktop"...Some have been featured on Ghacks, so just google around a bit and you will be able to do this easily.

#11 Cristian Silaghi

Cristian Silaghi
  • Members
  • 4 posts
  •  
    Romania

Posted 22 September 2011 - 08:25 PM

It was not supposed to be a file distribution thread!


Please! At least, upload the files on your mediafire account! :)

#12 billonious

billonious

    Silver Member

  • .script developer
  • 528 posts
  • Location:greezeland
  • Interests:curiosity

Posted 13 October 2011 - 08:34 PM

Please! At least, upload the files on your mediafire account! :)


nah, it is 200% illegal.

#13 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 09 November 2011 - 10:51 PM

I would like to make an attempt at booting from a protogon volume. There's good chances it is possible to have the complete system (except bootmgr and BCD) on protogon. Now before I test this, have anybody got any useful information on the issue before I start?

Btw, could some admin move this thread into the Windows 8 section?
  • Nuno Brito likes this

#14 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 10 November 2011 - 09:10 AM

Have not yet snooped on the code in protogon-supporting bootmgr and winload.exe, but assumed it was ok after seing protogon/protdead strings inside both. But it seems bootmgr cannot "see" a winload.exe located on a protogon volume. So I think we need to wait..

#15 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10554 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 10 November 2011 - 12:42 PM

Topic moved to Windows 8 extreme. :cheers:

#16 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 22 November 2011 - 10:49 AM

Have had a quick look inside bootmgr.exe, and (although not at all sure) believe the actual code for opening and mounting protogon volumes are still missing. A nice stop 0xc0000001 is received. However while looking at the filesystem detection part, there is a new FPP part in there. Anybody knows what this is?

Besides that, some new registry entries are now supposedly evaluated by the driver;

\Registry\Machine\System\CurrentControlSet\Control\FileSystem

EnableExtraIoAnalysis

ProtogonDisableLastAccessUpdate

ProtogonDisableVolsnapHints

ProtogonMemoryUsage

ProtogonBugcheckOnCorrupt

ProtogonDisableDebugCodeFlags

\Registry\Machine\System\CurrentControlSet\Policies

AllowOverAllocateOnVirtualMount

ProtogonEnableDirtyRemount


And while at it. Looking at the attached image protogon_vs_ntfs.png you may see the differences on the FS's that fsutil.exe reported. But for instance usn seems not supported (yet), although reported to be. Among other things, protogon do not in the current form, support compression either.

Another thing is, you cannot run a program from such an FS, if running it as admin. Then an error is thrown similar to the one in the attached image protogon_admin_error.png.

Attached Files



#17 Tripredacus

Tripredacus

    Frequent Member

  • Expert
  • 234 posts
  • Interests:K-Mart-ian Legend
  •  
    United States

Posted 22 November 2011 - 03:53 PM

Just an idea, have you tried setting up your protogon disk like you would a GPT disk?

#18 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 22 November 2011 - 08:21 PM

GPT makes no difference to the case. Also tried full volume encryption on top of protogon, but still the same 0xc0000001. Even tried spreading bootmgr, winload.exe and the systemroot on 3 different disks without luck (ie bootmgr on C:, winload.exe on E: and the rest on G:). Still the same error message as the attached image. But at least I learned something from it. I realized that bootmgr would unlock a bitlocker volume (as specified by osdevice in BCD) before even opening winload.exe (ie bootmgr unlocks encrypted volume, then opens and executes winload.exe, and then winload.exe opens the unlocked volume).

Attached Files



#19 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 02 December 2011 - 09:29 AM

I have also posted in this thread: http://social.msdn.m...79-a9748992c380 about protogon. We'll see if any MS people will make a comment. But I doubt so.

#20 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 22 April 2012 - 06:53 PM

How to add ReFS in Windows 8 Consumer Preview (not Server version)

By default the new filesystem ReFS (formerly named protogon) is only available in Windows 8 Server, and not in the consumer versions. Actually it is very easy to add it. It is only a matter of 2 files and some registry entries. That's all! First make a backup of the 2 files in Windows 8 Server:


system32uReFS.dll

system32driversrefs.sys


Then in Windows 8 Consumer Preview:


1. Copy uReFS.dll to system32uReFS.dll

2. Copy refs.sys to system32driversrefs.sys

3. Import the attached registry file ReFS.reg

4. Reboot


Only tested on x64.

Grab the relevant registry entries from: http://www.mediafire...q0wcetrq1tszz8y
  • Nuno Brito likes this

#21 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 23 April 2012 - 07:30 PM

A nice article on ReFS; http://blogs.msdn.co...ndows-refs.aspx

With this in mind, we will implement ReFS in a staged evolution of the feature: first as a storage system for Windows Server, then as storage for clients, and then ultimately as a boot volume.


So apparently it will end up as a possible boot volume for clients at a later stage.. Maybe we can also "trick" it into supporting removable media, which it currently does not support..
  • Nuno Brito likes this

#22 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15153 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 24 April 2012 - 09:49 AM

Maybe we can also "trick" it into supporting removable media, which it currently does not support..

I presume that a "filter driver" similar to Anton Bassov's one or Cfadisk would do,
BTW they both work on Windows 7, maybe they work on windows 8 also? :unsure:

:cheers:
Wonko

#23 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 24 April 2012 - 04:55 PM

That could also work, however I was thinking of patching urefs.dll instead. And I partially succeeded as the format seemed ok, but not Windows 8 mounting it. We'll see.

#24 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 25 April 2012 - 08:17 PM

I am just putting up this information regarding the patch, for future reference since I have it fresh in mind.

As already mentioned, it is partially working. The format can be forced through, however the OS reject to open the flash stick with ReFS on. Over to the interesting part.

Inside the function FormatEx in urefs.dll we find:

.text:0000000180016FDC   cmp  [rbp+580h+var_4F0], 0Ch

.text:0000000180016FE3   jz   short loc_180016FF5


What it does is making a check on the MediaType, and if not Removable then make a good jump, else bad jump. So to force through a flash stick format we must change the jz instruction into an unconditional short jump. At 0x163e3 change 7410 -> eb10.

There are more interesting functions inside urefs.dll too, besides ifsutil.dll which also might be worth looking into.

The above information is true for x64 version 6.2.8250.0.

Btw, these u[filesystem].dll files are the way to go if wanting to force through non-standard values when formatting (ie, reduced $LogFile size on NTFS).

#25 joakim

joakim

    Silver Member

  • Team Reboot
  • 912 posts
  • Location:Bergen
  •  
    Norway

Posted 11 September 2012 - 06:57 PM

How to add ReFS in Windows 8 Consumer Preview (not Server version)

By default the new filesystem ReFS (formerly named protogon) is only available in Windows 8 Server, and not in the consumer versions. Actually it is very easy to add it. It is only a matter of 2 files and some registry entries. That's all! First make a backup of the 2 files in Windows 8 Server:


system32uReFS.dll

system32driversrefs.sys


Then in Windows 8 Consumer Preview:


1. Copy uReFS.dll to system32uReFS.dll

2. Copy refs.sys to system32driversrefs.sys

3. Import the attached registry file ReFS.reg

4. Reboot


Only tested on x64.

Grab the relevant registry entries from: http://www.mediafire...q0wcetrq1tszz8y


Actually, ReFS is enabled in Windows 8, but excluded during install. You can easily verify it in WinPE during an installation by launching cmd/diskpart/format (shift+f10) when setup is started. So no need to grab the server 2012 iso just to add it. I think they must have added it in one of the later releases. Probably just a matter of time before it's included in the actual install too.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users