Skip to content

Instantly share code, notes, and snippets.

@0xbadfca11
Last active December 16, 2024 19:48
Show Gist options
  • Save 0xbadfca11/da0598e47dd643d933dc to your computer and use it in GitHub Desktop.
Save 0xbadfca11/da0598e47dd643d933dc 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 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.

Mountability

ReFS\Windows 2012 8.1/2012 R2 10 v1507 2016 10 v1703 10 v1709 10 v1803/2019 11 v21H2/2022 11 v21H2
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

Notes
Empty filed is "I don't know. I haven't tested.".

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.

バージョン番号はWindows 10とWindows Server 2016で使用可能なfsutil fsinfo refsinfoで報告されるもの。

ReFS 1.1

  • Windows Server 2012でフォーマットしたバージョン。
  • Windows Server 8 Betaの時点で1.1であり1.0の存在は不明。
  • 8.1/2012 R2以降でマウントした場合はAlternate Data Stream使用可能。

ReFS 1.2

  • Windows 8.1、Windows 10 v1507からv1607、Windows Server 2012 R2でフォーマットしたとき、およびWindows Server 2016以降でReFSv1を指定してフォーマットしたときのバージョン。
  • 2012でマウントした場合はAlternate Data Stream使用不可。

ReFS 9.2

  • Windows 10 TP ビルド9841から9860とWindows Server 2016 TP1でフォーマット可能なバージョン(デフォルトではない)。10 9879/ 2016 TP2以降ではマウント不可。

ReFS 11.2

  • Windows 10 TP ビルド9879でフォーマット可能なバージョン(デフォルトではない)。9926以降ではマウント不可。

ReFS 12.2

  • Windows 10 TP ビルド9926でフォーマット可能なバージョン(デフォルトではない)。10041以降ではマウント不可。

ReFS 22.2

  • Windows 10 TP ビルド10041から10049でフォーマット可能なバージョン(デフォルトではない)。10061以降ではマウント不可。

ReFS 2.0

  • Windows Server 2016 TP2/TP3でフォーマットしたバージョン。
  • Windows 10 TP ビルド10061から10130より前でフォーマット可能なバージョン(デフォルトではない)。10 10130以降、2016 TP4以降ではマウント不可。

ReFS v2の概要
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

  • Windows Server 2016 TP4/TP5でフォーマットしたバージョン。
  • Windows Server 2016から書き込み可能でマウントすると3.1にアップグレードされる。

ReFS 3.1

  • Windows Server 2016でフォーマットしたバージョン。

ReFS 3.2

  • Windows 10 v1703でフォーマットしたバージョン。
  • Windows 10 Insider Preview ビルド15002およびWindows Server Insider Preview ビルド16237でフォーマット可能なバージョン(15002ではデフォルトではない)。
    • 15002より後、15019までの間にデフォルトになった。

ReFS 3.3

ReFS 3.4

  • Windows 10 Enterprise v1803、Windows Server 2019およびWindows Server version 1803でフォーマットしたバージョン。
  • Windows 10 Enterprise Insider Preview ビルド17083およびWindows Server Insider Preview ビルド17079でフォーマットしたバージョン。

ReFS 3.5

  • Windows 10 Enterprise Insider Preview ビルド19536およびWindows Server Insider Previewビルド19551でフォーマットしたバージョン。
  • 新規フォーマットした場合に限りハードリンク使用可能。
    • 3.5未満からアップグレードした場合は使用不可。
  • Windows 10 Insider Preview ビルド21292から書き込み可能でマウントすると3.6にアップグレードされる。

ReFS 3.6

  • Windows 10 Enterprise Insider Preview 21292およびWindows Server Insider Previewビルド20282でフォーマットしたバージョン。
  • Windows 10 Insider Preview ビルド21313から書き込み可能でマウントすると3.7にアップグレードされる。

ReFS 3.7

  • Windows 11 Enterprise v21H2およびWindows Server 2022でフォーマットしたバージョン。
  • Windows 10 Enterprise Insider Preview 21313およびWindows Server Insider Previewビルド20303でフォーマットしたバージョン。

ReFS 3.9

  • Windows 11 Enterprise v22H2でフォーマットしたバージョン。
  • Windows 11 Enterprise Insider Preview 22598およびWindows Server Insider Previewビルド25099でフォーマットしたバージョン。
  • LZ4 & ZSTDによる事後圧縮と透過伸長が追加。

マウント可否

ReFS\Windows 2012 8.1/2012 R2 10 v1507 2016 10 v1703 10 v1709 10 v1803/2019 11 v21H2/2022 11 v21H2
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

空欄は「テストしてないので分かりません」を意味します。

License: CC BY

Footnotes

  1. 書き込み可能でマウントするとイベントログに「ボリューム "?:" は、以前のバージョンの Windows にマウントされていました。一部の機能が失われた可能性があります。」が出力される。具体的に何が失われるのかは不明。 2 3 4 5 6 7 8

  2. 書き込み可能でマウントすると3.2にアップグレードされる。

  3. 書き込み可能でマウントすると3.3にアップグレードされる。 2

  4. 書き込み可能でマウントすると3.4にアップグレードされる。 2 3

  5. 書き込み可能でマウントすると3.7にアップグレードされる。 2 3 4

  6. ハードリンク使用不可。 2 3 4 5 6 7 8

  7. 書き込み可能でマウントすると3.9にアップグレードされる。書き込み禁止でマウントすることはできない。 2 3 4

  8. 書き込み可能でマウントすると3.9にアップグレードされる。

@Karl-WE
Copy link

Karl-WE commented Mar 6, 2024

Thank you for the notice and including it in the top. Also, massive thanks for all the time and maintenance of this gist!
Just for those that might overlook it, ReFS version to be continued here: https://gist.github.com/XenoPanther/15d8fad49fbd51c6bd946f2974084ef8

@HotCakeX
Copy link

I found a new feature in ReFS v3.14 in build 24H2 release preview

HotCakeX/Harden-Windows-Security#260

@13xforever
Copy link

I love how the official documentation removed the version info, and just links here instead

@Karl-WE
Copy link

Karl-WE commented Oct 22, 2024

This gist is no longer updated can you cite the reference?

@Karl-WE
Copy link

Karl-WE commented Oct 29, 2024

Thank you for spotting this @13xforever. Strongly believe this was an update request from my end longer ago.

MSFT docs never contained this specific versioning information focused on ReFS features and limitations only. My attempts to implement a similar thing as this gist (or maintained follow-up), were not successful.

I have filed a PR to address this: MicrosoftDocs/windowsserverdocs#7960

Much appreciate participation!

As per request of the original maintainer, let's continue on the gist linked above.

@13xforever
Copy link

They had a table comparing ntfs/refs features with specific version notes when they were implemented

@Karl-WE
Copy link

Karl-WE commented Oct 29, 2024

Ah yes. I can remember that. They used footnotes. But that was hard to read at times and not easy to maintain. Some changes that I proposed back then via PRs.

Since the most ReFS features are available on fully supported Windows Server / Client versions, I think the reference is a good approach.

@mdealer
Copy link

mdealer commented Dec 16, 2024

After a Windows Update from Windows 10 22H2 to Windows 11 23H2 build 22631.2715, a ReFS volume (mirrored storage space) became inaccessible. The event log is full of entries like "Volume X: is formatted as ReFS but ReFS is unable to mount it; ReFS encountered status The file system encountered a metadata file with inconsistent data."

ReFS was version 3.4 when it was created six months ago. I do not know if it silently updated to a newer version after that. fsutil fsinfo refsinfo x: now gives "Error: The file system encountered a metadata file with inconsistent data. A local REFS volume is required for this operation."

It is obviously a disgrace that a simple Windows Update can (again) break ReFS. Perhaps the experts here have some suggestions?

I posted about this experience at https://techcommunity.microsoft.com/t5/windows-11/refs-volume-inaccessible-after-update-from-windows-10-22h2-to/m-p/3999414

Just wanted to post a warning to anyone else upgrading: I had almost the same experience, except that 23H2 started WRITING to the RAW volumes in the background (System process kept doing activity on the non-mounted RAW volumes). I thought, OK, weird, it should not be doing that if it does not know their filesystems.

To mitigate the problem and to understand if the Microsoft touted "ReFS improvements" do any good in W11 24H2, I updated to it and now the volumes got mounted and the directory data seemed fine. That is, until I clicked a file and was greeted by "file not found" error. Every existing file data "disappeared". The directory metadata is still there, I am still able to create new files and access them, but I can now only export old files using refsutil to access their data, I only see dead husks of the existing files everywhere.

I think W11 started upgrading ReFS volumes without notice and corrupted them in the process.

@JonasKlose
Copy link

After a Windows Update from Windows 10 22H2 to Windows 11 23H2 build 22631.2715, a ReFS volume (mirrored storage space) became inaccessible. The event log is full of entries like "Volume X: is formatted as ReFS but ReFS is unable to mount it; ReFS encountered status The file system encountered a metadata file with inconsistent data."
ReFS was version 3.4 when it was created six months ago. I do not know if it silently updated to a newer version after that. fsutil fsinfo refsinfo x: now gives "Error: The file system encountered a metadata file with inconsistent data. A local REFS volume is required for this operation."
It is obviously a disgrace that a simple Windows Update can (again) break ReFS. Perhaps the experts here have some suggestions?
I posted about this experience at https://techcommunity.microsoft.com/t5/windows-11/refs-volume-inaccessible-after-update-from-windows-10-22h2-to/m-p/3999414

Just wanted to post a warning to anyone else upgrading: I had almost the same experience, except that 23H2 started WRITING to the RAW volumes in the background (System process kept doing activity on the non-mounted RAW volumes). I thought, OK, weird, it should not be doing that if it does not know their filesystems.

To mitigate the problem and to understand if the Microsoft touted "ReFS improvements" do any good in W11 24H2, I updated to it and now the volumes got mounted and the directory data seemed fine. That is, until I clicked a file and was greeted by "file not found" error. Every existing file data "disappeared". The directory metadata is still there, I am still able to create new files and access them, but I can now only export old files using refsutil to access their data, I only see dead husks of the existing files everywhere.

I think W11 started upgrading ReFS volumes without notice and corrupted them in the process.

I've got multiple mirrored ReFS volumes working perfectly fine on 24H2. So it must be an issue with your configuration. Please don't try to stop file system access before making sure it's not a repair job. If you stop a repair, you can actually have data loss. A fact often unknown is that Windows clients sometimes don't run the scrub job in the Task Scheduler. Not running that for a long time can create incorrectable errors on ReFS volumes. I set mine to auto-run every now and then.

@mdealer
Copy link

mdealer commented Dec 16, 2024

After a Windows Update from Windows 10 22H2 to Windows 11 23H2 build 22631.2715, a ReFS volume (mirrored storage space) became inaccessible. The event log is full of entries like "Volume X: is formatted as ReFS but ReFS is unable to mount it; ReFS encountered status The file system encountered a metadata file with inconsistent data."
ReFS was version 3.4 when it was created six months ago. I do not know if it silently updated to a newer version after that. fsutil fsinfo refsinfo x: now gives "Error: The file system encountered a metadata file with inconsistent data. A local REFS volume is required for this operation."
It is obviously a disgrace that a simple Windows Update can (again) break ReFS. Perhaps the experts here have some suggestions?
I posted about this experience at https://techcommunity.microsoft.com/t5/windows-11/refs-volume-inaccessible-after-update-from-windows-10-22h2-to/m-p/3999414

Just wanted to post a warning to anyone else upgrading: I had almost the same experience, except that 23H2 started WRITING to the RAW volumes in the background (System process kept doing activity on the non-mounted RAW volumes). I thought, OK, weird, it should not be doing that if it does not know their filesystems.
To mitigate the problem and to understand if the Microsoft touted "ReFS improvements" do any good in W11 24H2, I updated to it and now the volumes got mounted and the directory data seemed fine. That is, until I clicked a file and was greeted by "file not found" error. Every existing file data "disappeared". The directory metadata is still there, I am still able to create new files and access them, but I can now only export old files using refsutil to access their data, I only see dead husks of the existing files everywhere.
I think W11 started upgrading ReFS volumes without notice and corrupted them in the process.

I've got multiple mirrored ReFS volumes working perfectly fine on 24H2. So it must be an issue with your configuration. Please don't try to stop file system access before making sure it's not a repair job. If you stop a repair, you can actually have data loss. A fact often unknown is that Windows clients sometimes don't run the scrub job in the Task Scheduler. Not running that for a long time can create incorrectable errors on ReFS volumes. I set mine to auto-run every now and then.

I get what you mean, but the days of special configuration excuses are gone. These days every single machine is potentially a super special configuration. The problem is 23H2, I am 99% sure of it. None of the tools reported any errors before or after but 23H2 started writing to the RAW disk like crazy. Also, I got HDDs and SSDs. The process on the SSDs came to a halt I think, still same result.

@JonasKlose
Copy link

After a Windows Update from Windows 10 22H2 to Windows 11 23H2 build 22631.2715, a ReFS volume (mirrored storage space) became inaccessible. The event log is full of entries like "Volume X: is formatted as ReFS but ReFS is unable to mount it; ReFS encountered status The file system encountered a metadata file with inconsistent data."
ReFS was version 3.4 when it was created six months ago. I do not know if it silently updated to a newer version after that. fsutil fsinfo refsinfo x: now gives "Error: The file system encountered a metadata file with inconsistent data. A local REFS volume is required for this operation."
It is obviously a disgrace that a simple Windows Update can (again) break ReFS. Perhaps the experts here have some suggestions?
I posted about this experience at https://techcommunity.microsoft.com/t5/windows-11/refs-volume-inaccessible-after-update-from-windows-10-22h2-to/m-p/3999414

Just wanted to post a warning to anyone else upgrading: I had almost the same experience, except that 23H2 started WRITING to the RAW volumes in the background (System process kept doing activity on the non-mounted RAW volumes). I thought, OK, weird, it should not be doing that if it does not know their filesystems.
To mitigate the problem and to understand if the Microsoft touted "ReFS improvements" do any good in W11 24H2, I updated to it and now the volumes got mounted and the directory data seemed fine. That is, until I clicked a file and was greeted by "file not found" error. Every existing file data "disappeared". The directory metadata is still there, I am still able to create new files and access them, but I can now only export old files using refsutil to access their data, I only see dead husks of the existing files everywhere.
I think W11 started upgrading ReFS volumes without notice and corrupted them in the process.

I've got multiple mirrored ReFS volumes working perfectly fine on 24H2. So it must be an issue with your configuration. Please don't try to stop file system access before making sure it's not a repair job. If you stop a repair, you can actually have data loss. A fact often unknown is that Windows clients sometimes don't run the scrub job in the Task Scheduler. Not running that for a long time can create incorrectable errors on ReFS volumes. I set mine to auto-run every now and then.

I get what you mean, but the days of special configuration excuses are gone. These days every single machine is potentially a super special configuration. The problem is 23H2, I am 99% sure of it. None of the tools reported any errors before or after but 23H2 started writing to the RAW disk like crazy. Also, I got HDDs and SSDs. The process on the SSDs came to a halt I think, still same result.

Try the Microsoft ReFS recovery tool then and copy everything to a new volume, maybe make a RAW backup first or get it to be read-only. That's all advice I can give.

I like to enable ReFS file integrity checks in an attempt to reduce the chance of unexpected corruption. Though there's hardly any official guidelines besides that they write that the feature exists.

That said, I did also upgrade to 23h2 and then to 24h2 and upgraded all my ReFS volumes without any issue.

@Karl-WE
Copy link

Karl-WE commented Dec 16, 2024

When you in-place upgrade all ReFS volumes that are not set as "offline" will be upgraded to the latest ReFS unless you set the registry to block the upgrade.

The upgrade process will write on the disk for the ReFS metadata update.

There is no progress showing anywhere.

Mind that this gist is no longer updated. I would appreciate if discussion would be moved to
https://gist.github.com/XenoPanther/15d8fad49fbd51c6bd946f2974084ef8

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