NTFSPLUS Driver Updated As It Works Toward The Mainline Kernel
Posted by lebron8@reddit | linux | View on Reddit | 61 comments
Posted by lebron8@reddit | linux | View on Reddit | 61 comments
pppjurac@reddit
Good.
ReFS is next to be ported ?
Zaev@reddit
Please! I have so much data in a Windows storage space from before I switched, that I wouldn't be able to migrate off without spending hundreds on more HDDs. They're currently serving off an old Optiplex Micro on Win11 that I'd love to switch over, but ReFS is the only thing holding that back
AtMaxbo@reddit
This driver is awesome and was such a great surprise, ntfsck in ntfsprogs-plus even fixed a 1.8TB NTFS partition for me that not even chkdsk could fix.
xTeixeira@reddit
Just curious, how did you test it? Did you compile your kernel with the patches applied? Or did you use this DKMS version (or something else)?
AtMaxbo@reddit
I'm using the dkms package with kernel version 6.17.8-1-cachyos
MaruThePug@reddit
So now I can make my root filesystem ntfs and it will actually run?
whosdr@reddit
As far as I know, not at all.
vip17@reddit
not true. NTFS is fully POSIX-compliant. The Linux ntfs3 driver can show rwx and acl permissions just fine, and it's also possible to boot Linux from NTFS
whosdr@reddit
Wait, what? Now I have something to research, and far more confusion on how Windows handles permissions at a low level..
nightblackdragon@reddit
It’s not that surprising when you remember that Windows NT was designed with POSIX compatibility in mind as Microsoft wanted to get government contracts that required POSIX compatible OS. NTFS can handle case sensitivity or POSIX filenames, it just doesn’t do that on Windows by default.
bullwinkle8088@reddit
There are more than POSIX permissions in play on some Linux systems. SElinux contexts and filesystem ACI’s for a start and I’m likely missing some.
Will work? Maybe. Will work well? Likely not.
nightblackdragon@reddit
They can be implemented with metadata just like POSIX ACL are implemented on NTFSPlus despite the fact that NTFS doesn't support them natively.
bullwinkle8088@reddit
Can be, but currently are not. That is significant to some.
Many admins these days are not even aware these capabilities exist, but they should be. Horner that non-use is a mitigation of the lack in NTFS.
whosdr@reddit
I'm struggling to find the right documentation on the permissions side of NTFS. Any hints or links you can share?
nightblackdragon@reddit
As far I know NTFS doesn’t support POSIX permissions natively however you can store them as metadata. It’s something that WSL does if you enable it and I guess Linux ntfs3 driver also uses them to implement POSIX ACL.
https://learn.microsoft.com/en-us/windows/wsl/file-permissions
whosdr@reddit
Ah! That's starting to make more sense. I tried looking up the structures for native NTFS permissions, I hadn't thought that it was maybe a second-class citizen for running Linux atop of.
MaruThePug@reddit
(for the glory of satin)
spyingwind@reddit
I don't know what clothing has to do with this, but I'm here for it!
Atomicmoosepork@reddit
Satin sheets are the best
JoeDawson8@reddit
I call them satan sheets when I wake up all sweaty in the morning
ipsirc@reddit
Avoid to modify the partition table.
hkric41six@reddit
Just use a XENIX root then
Dwedit@reddit
I have an installation of MX Linux that's running on an NTFS partition. MX Linux makes the actual root filesystem a series of layers. One layer is a SquashFS filesystem that contains all the actual content. Another layer is the writable in-RAM filesystem, and if you want persistence, you can use a disk image file instead of RAM.
Still not the actual filesystem root. Things like user/group ids and the three octal digits for permissions just don't map well to NTFS.
vip17@reddit
wubi used an image on NTFS as the Ubuntu root, but that's fragile so Canonical didn't continue on that. The modern solution is just install Linux directly on NTFS using the ntfs3 driver
nightblackdragon@reddit
NTFS doesn’t support POSIX permissions natively, however you can store them using extended attributes.
ipsirc@reddit
Why do you need mapping?
pppjurac@reddit
No. Ntfs is by default case insensitve on outside (to user), internally it is actually case sensitive. Linux can be made case insensitive though.
Atributes for execution and similliar are on nux, nix , while on windows it is file extension (exe, bat, cmd, ps1, and in old times .com ) which tells os about execution .
Also a lot of hard, soft, etc linking is different on ntfs .
shroddy@reddit
There was a time when you could have your root filesystem in a directory on a fat32 drive. Not as a disk image, but every file of the Linux filesystem was a file on the fat32 filesystem, with additional files for permissions and stuff.
There was a .exe file you could run from Dos that started Linux. Was a very risk less was to try Linux, no partitioning or boot loader needed.
Why I suddenly remember that I have no idea.
MaruThePug@reddit
I vaguely remember that too, I don't recall how it worked though
vip17@reddit
It's UMSDOS driver http://linux.voyager.hr/umsdos/ https://en.wikipedia.org/wiki/FAT_filesystem_and_Linux
shroddy@reddit
It was slower than installing it on an ext2 partition, but it worked. But during that time I didn't know much about Linux and had no real use for it so I deleted it when disk space ran out.
jdog320@reddit
Loadlin? Wasn't just that a substitute for a bootloader? Instead of grub or lilo, you'd pass the kernel parameters to loadlin and let it rip. You still need a linux partition tho.
shroddy@reddit
Yes, I think the program was Loadlin. The filesystem was called umsdos.
djxfade@reddit
Yes, and years later, Ubuntu used to have something called Wubi, that worked similar, letting you install Ubuntu directly from Windows through a setup executable, and creating a disk image file stored on the NTFS volume instead of partitioning
shroddy@reddit
Yes I remember now, that was much later, but that one made a boot entry into the Windows boot loader, and after an Ubuntu update it did no longer boot.
__konrad@reddit
WinLinux distro could be installed on Windows C:\ disk and booted from Desktop shortcut
ppp7032@reddit
you can already do that with ntfs3, actually.
JockstrapCummies@reddit
That fucking driver gave me the old
sync && sync && synccreeps again after a hard reboot straight up deleting minutes of writes.Plus for the longest time it craps itself when dealing with something as basic as symlinks.
ipsirc@reddit
https://github.com/CyanoHao/NTFS-as-rootfs
Dwedit@reddit
I'd need support for LZX compression before I'd consider using it over NTFS-3G.
vip17@reddit
why on earth do you use ntfs-3g? ntfs3 is far more superior
TameemAlshebel@reddit
ntfs3 is barely maintained and buggy.... that's why ntfsplus exists
shroddy@reddit
So we can finally get an ntfs driver that does not require to boot Windows and perform a disk check when you did shutdown Windows instead of Rebooting it? (Yes, that is really a thing)
WindyMiller2006@reddit
There is a setting in Windows to disable that behaviour. It's called fast startup or something. Just turn it off
arf20__@reddit
You don't need to do that with the current driver with ntfstools
New_Grand2937@reddit
Isn’t that because windows basically hibernates on shutdown by default?
shroddy@reddit
Not a real hibernate I think. More like some in-between things where the drives are not cleanly unmounted.
Jristz@reddit
Hybrid-supend/Hibernate?
Linux does it too but Window can't read XFS/BTRFS/Extra by default and even when it's does the driver actually take care of that.
nightblackdragon@reddit
Linux doesn’t do partial hibernation on shutdown.
vip17@reddit
Windows shutdown nowadays is a hibernation by default, but only hibernation of the kernel space, unlike a full userspace hibernation
ipsirc@reddit
-o forceshroddy@reddit
A bad idea that will lead to data loss sooner or later.
ipsirc@reddit
Who cares? All important data are in the daily backup.
pppjurac@reddit
I did reopen ntfs drives from *nux on numerous times , no problems whatsoever. It could go awry only for files that were open during hibernation , so unless specific docx/xlsx is open and not flushed/commited to drive (which hibernate does beforehand) you are quite safe.
gmes78@reddit
No, because that has nothing to do with the NTFS driver. Windows leaves the filesystem locked when it hibernates (which it must do, otherwise its state would get corrupted).
If you don't want that to happen when you shut down, disable Fast Startup.
shroddy@reddit
Afaik Windows can cleanly mount a drive that was in another pc that was shut down with fast startup enabled. So it can detect the drive is locked / not completely unmounted, and bring it to a clean state (which if I think is not the case with true hibernate or standby)
nightblackdragon@reddit
It probably won't and it's not its fault. Windows is doing partial hibernate during shutdown and some file system metadata of all mounted partitions are restored when Windows is starting making write unsafe. If you want to use Windows partitions on Linux without rebooting Windows disable Fast Startup.
ryogo_lint@reddit
That would be great.
Jristz@reddit
So... I can make a NTFS root ftl?
pppjurac@reddit
Aye. And it would work too.
But to share data with Win* install a separate partition for data is better option - as you should always separate OS and data anyways.
ipsirc@reddit
You already can.