Skip to content

Instantly share code, notes, and snippets.

@XenoPanther
Forked from 0xbadfca11/00_README.md
Last active November 13, 2024 16:00
Show Gist options
  • Save XenoPanther/15d8fad49fbd51c6bd946f2974084ef8 to your computer and use it in GitHub Desktop.
Save XenoPanther/15d8fad49fbd51c6bd946f2974084ef8 to your computer and use it in GitHub Desktop.
Windows ReFS versions

Version number is reported by fsutil fsinfo refsinfo, available on Windows 10 and Windows Server 2016.

ReFS 1.1

  • Version of formatted by Windows Server 2012.
  • Version 1.1 is used already in Windows Server 8 Beta. I have never seen version 1.0.
  • Can use and store alternate data streams, when mount on 8.1/2012 R2 or later.

ReFS 1.2

  • Version of formatted by Windows 8.1, Windows 10 v1507 to v1607, Windows Server 2012 R2, and when specified ReFSv1 on Windows Server 2016 or later.
  • Cannot use alternate data streams, when mount on 2012.

ReFS 7.2

  • Version that can be formatted with Windows 10 Build 9780

ReFS 9.2

  • Version that can be formatted with Windows 10 Technical Preview build 9841 to 9860 and Windows Server 2016 TP1 (It's not default). Could not mount in 10 9879 or 2016 TP2 and later.

ReFS 11.2

  • Version that can be formatted with Windows 10 Technical Preview build 9879 (It's not default). Could not mount in 9926 and later.

ReFS 12.2

  • Version that can be formatted with Windows 10 Technical Preview build 9926 (It's not default). Could not mount in 10041 and later.

ReFS 22.2

  • Version that can be formatted with Windows 10 Technical Preview build 10041 to 10049 (It's not default). Could not mount in 10061 and later.

ReFS 2.0

  • Version of formatted by Windows Server 2016 TP2/TP3.
  • Version that can be formatted with between Windows 10 Technical Preview build 10061 or later and earlier than 10130 (It's not default). Could not mount in Windows 10 Insider Preview build 10130 and later, or Windows Server 2016 TP4 and later.

ReFS v2 Overview
http://www.snia.org/sites/default/files/SDC15_presentations/file_sys/JRTipton_ReFS_v2.pdf
http://www.snia.org/events/storage-developer/presentations15#file_sys

ReFS 3.0

  • Version of formatted by Windows Server 2016 TP4/TP5.
  • Upgrade to 3.1 when writable mount from Windows Server 2016 RTM.

ReFS 3.1

  • Version of formatted by Windows Server 2016.

ReFS 3.2

  • Version of formatted by Windows 10 v1703.
  • Version that can be formatted with Windows 10 Insider Preview 15002 or later (It's not default at 15002) and Windows Server Insider Preview build 16237.
    • It became the default between after than 15002 and 15019 or earlier.

ReFS 3.3

ReFS 3.4

  • Version of formatted by Windows 10 Enterprise v1803, Windows Server 2019 and Windows Server version 1803.
  • Version of formatted by Windows 10 Enterprise Insider Preview build 17083 and Windows Server Insider Preview build 17079.

ReFS 3.5

  • Version of formatted by Windows 10 Enterprise Insider Preview build 19536 and Windows Server Insider Preview build 19551.
  • Added hardlink support if fresh formatted volume.
    • Can't use hardlink if upgraded from previous version.
  • Upgrade to 3.6 when writable mount from Windows 10 Insider Preview build 21292.

ReFS 3.6

  • Version of formatted by Windows 10 Enterprise Insider Preview build 21292 and Windows Server Insider Preview build 20282.
  • Upgrade to 3.7 when writable mount from Windows 10 Insider Preview build 21313.

ReFS 3.7

  • Version of formatted by Windows 11 Enterprise v21H2 and Windows Server 2022.
  • Version of formatted by Windows 10 Enterprise Insider Preview build 21313 and Windows Server Insider Preview build 20303.

ReFS 3.9

  • Version of formatted by Windows 11 Enterprise v22H2.
  • Version of formatted by Windows 11 Enterprise Insider Preview build 22598 and Windows Server Insider Preview build 25099.
  • Added post process compression with LZ4 & ZSTD, transparent decompression.

ReFS 3.10

  • Version formatted by Windows 11 Enterprise Insider build 25324 through 25997 and builds 26010

ReFS 3.12

  • Version formatted by Windows 11 Enterprise Insider build 26002. Build 26010 reverts back to 3.10

Mountability

ReFS\Windows 2012 8.1/2012 R2 10 v1507 2016 10 v1703 10 v1709 10 v1803/2019 11 v21H2/2022 11 v22H2 Canary Channel
1.1 Yes Yes1 Yes1 Yes1 Yes1 Yes1 Yes1 Yes1 Yes1
1.2 Yes Yes Yes Yes Yes Yes Yes Yes Yes
3.1 No No No Yes Yes2 Yes3 Yes4 Yes56 Yes76
3.2 No No Yes Yes3 Yes4 Yes56 Yes76
3.3 No No Yes Yes4 Yes56 Yes76
3.4 No Yes Yes56 Yes76
3.7 No Yes Yes8
3.9 No Yes
3.10 No No Yes9
3.12 No No Yes

License: CC BY

Footnotes

  1. "Volume "?:" was mounted in an older version of Windows. Some features may be lost." was recorded to event log when writable mount. I don't know what's been lost. 2 3 4 5 6 7 8

  2. Upgrade to 3.2 when writable mount.

  3. Upgrade to 3.3 when writable mount. 2

  4. Upgrade to 3.4 when writable mount. 2 3

  5. Upgrade to 3.7 when writable mount. 2 3 4

  6. Can't use hardlink. 2 3 4 5 6 7 8

  7. Upgrade to 3.9 when writable mount. Can't mount read-only. 2 3 4

  8. Upgrade to 3.9 when writable mount.

  9. Builds 25324 to 25997

@YexuanXiao
Copy link

YexuanXiao commented Jun 1, 2024

If Windows is installed on an ReFS partition, it may not pass OOBE. This issue has been present since at least build 26080, and it also exists in builds 26095, 26100 (.1, .560), and 26200. I haven’t tested this on more version, but I believe the problem persists in all versions from the past six months. bypassnro is not the cause of the failure, but it results in different outcomes. Specifically, users may experience the following symptoms:

UI freezing when filling out security questions.
‘OOBELOCAL’ error after completing security questions.
Spinning indefinitely after logging in with a Microsoft account.

Initially, the issue occurred on my Surface Book 3. However, today it happened on an ASUS laptop using the unmodified Microsoft released 26100.560 image. Symptoms disappear after turning off SecureBoot on Asus laptop.

Therefore, even though Microsoft has officially announced that Windows Server supports using ReFS as the boot file system, there are still some compatibility issues.

@YexuanXiao
Copy link

Build 27686:

PS C:\Users\Bizwen> fsutil fsinfo refsinfo D:
REFS Volume Serial Number :                0xUUUUUUUUUUUUUUUU
REFS Volume Version :                      3.14
REFS Driver Maximum Supported Version :    3.15
Number Sectors :                           0xUUUUUUUUUUUUUUUU
Total Clusters :                           0xUUUUUUUUUUUUUUUU
Free Clusters  :                           0xUUUUUUUUUUUUUUUU
Total Reserved :                           0xUUUUUUUUUUUUUUUU
Bytes Per Sector  :                        512
Bytes Per Physical Sector :                4096
Bytes Per Cluster :                        4096
Fast Tier Data Fill Percentage :           0.0%
Slow Tier Data Fill Percentage :           0.0%
Fast Tier to Slow Tier Rate (Clusters/s) : 0
Metadata Checksum Type :                   CHECKSUM_TYPE_CRC64
Data Checksum Type :                       CHECKSUM_TYPE_NONE

Unlike previous versions, ReFS 3.14 does not automatically upgrade to ReFS 3.15.

@YexuanXiao
Copy link

As of Build 27686, refsutil salvage still does not work. refsutil salvage only supports ReFS 3.9 and earlier. Does this mean that the tool is deprecated and not maintained?

@Karl-WE
Copy link

Karl-WE commented Sep 25, 2024

Hi everyone, thanks for keeping this gist alive and updated.
Had the same question as you @YexuanXiao stated here

I have asked Microsoft and received the following answers to share:

Is it planned to update ReFSutil to salvage 3.9+ version?
Yes, we are working on updating refsutil salvage to handle the latest format. The updates have to be backported to the appropriate release
pipelines, which takes time, please be patient.

Is the reported behaviour intended that ReFS will not autoupgrade from 3.14 to 3.15?
3.14 is Ge/WS2025 ReFS version. 3.15 is for future, there’s no way to get to 3.15 publicly.

Hope this helps!

@Karl-WE
Copy link

Karl-WE commented Sep 25, 2024

Hi everyone, thanks for keeping this gist alive and updated.
Had the same question as you @YexuanXiao stated here
I have asked around and received the following answers I may share:

Is it planned to update ReFSutil to salvage 3.9+ version?
Yes, we are working on updating refsutil salvage to handle the latest format. The updates have to be backported to the appropriate release
pipelines, which takes time, please be patient.

Is the reported behaviour intended that ReFS will not autoupgrade from 3.14 to 3.15?
3.14 is Ge/WS2025 ReFS version. 3.15 is for future, there’s no way to get to 3.15 publicly.

@Colin-Y0470
Copy link

Build 27723:
C:\Users\ThinkPad>sudo fsutil fsinfo refsinfo e:
REFS Volume Serial Number : 0x847623a07623924a
REFS Volume Version : 3.14
REFS Driver Maximum Supported Version : 3.15
Number Sectors : 0x0000000003fe0000
Total Clusters : 0x00000000007fc000
Free Clusters : 0x00000000007a2ed8
Total Reserved : 0x0000000000025048
Bytes Per Sector : 512
Bytes Per Physical Sector : 4096
Bytes Per Cluster : 4096
Fast Tier Data Fill Percentage : 0.0%
Slow Tier Data Fill Percentage : 0.0%
Fast Tier to Slow Tier Rate (Clusters/s) : 0
Metadata Checksum Type : CHECKSUM_TYPE_CRC64
Data Checksum Type : CHECKSUM_TYPE_NONE
ReFS v3.15 is still not available now.

@Karl-WE
Copy link

Karl-WE commented Oct 29, 2024

Have filed a PR to address that "additional information" will link to this gist, instead of the abandoned one. MicrosoftDocs/windowsserverdocs#7960

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment