How to set reserved blocks for a NTFS file system

bashdebianlinuxntfspartitioning

I have an NTFS partition that I need to share with Windows that is on DualBoot on my computer, this partition now has 56GB free, but when I try to save anything on it, Linux says it's full due to reserving 5% of the blocks for the operational system.

I know that for ext* extensions I would use tune2fs to manage this buffer, but how would I manage this for an ntfs partition?

Today I use ntfs-3g for assembly.
The system running is Debian Bullseye (11)

Below are some screenshots of the space in use

df -h output

Gparted screen

Best Answer

extN reserves a percentage for the root user (and by extension, all system daemons which run as root). This a feature mostly specific to extN on Linux – most other filesystems actually do not have equivalent "root-only" reservations.

For most of its lifetime, NTFS also did not have any space reservation for "the OS". If the filesystem reports that it is full, then it is actually full.

A recent version of Windows 10 did introduce NTFS space reservation for Windows Update, which is only enabled for the system volume (not for all NTFS volumes).

The reserve in NTFS system volumes is fixed-size (approx. 7–8 GB) and not percentage-based. You can only control it through Windows, not through ntfs-3g yet.

  • To check the reserve size:

    fsutil storagereserve query c:
  • To check whether the reserve is enabled (Cmd and PowerShell):

    dism /online /Get-ReservedStorageState
    Get-WindowsReservedStorageState
  • To disable the reserve (Cmd and PowerShell):

    dism /online /Set-ReservedStorageState /State:Disabled
    Set-WindowsReservedStorageState -State Disabled

Source: https://winbuzzer.com/2020/08/18/how-to-enable-or-disable-windows-10-reserved-storage-xcxwbt/