Forgot your password?
typodupeerror

Fully Open Source NTFS Support Under Linux 310

Posted by CowboyNeal
from the long-time-coming dept.
lord_rob the only on writes "The Linux NTFS project has released a beta version of its fully open source userspace (using FUSE) 3G-Linux NTFS support driver. According to the developer, this driver beats hands down other NTFS support solutions performance-wise (including commercial Paragon NTFS driver and also Captive NTFS, which is using windows ntfs.sys driver under WINE)." That's right, writing to NTFS even works. Soon it'll mean one less recovery disk to keep around, I hope.
This discussion has been archived. No new comments can be posted.

Fully Open Source NTFS Support Under Linux

Comments Filter:
  • Not Just Linux (Score:5, Informative)

    by TheRaven64 (641858) on Saturday July 15, 2006 @10:46AM (#15724529) Journal
    FUSE has been ported to FreeBSD, and it appears that the driver also works there.
  • No 64-bit (Score:5, Informative)

    by Bill Dimm (463823) on Saturday July 15, 2006 @10:46AM (#15724530) Homepage
    Looks like a great piece of work. One important note from the article:
    Problem: Why doesn't the driver work on 64-bit and bigendian systems?
    Answer: We have no resource for that. Neither hardware, nor workforce.
    Status: Low priority.
  • Re:Awesome! (Score:5, Informative)

    by lord_rob the only on (859100) <shiva3003@gmai[ ]om ['l.c' in gap]> on Saturday July 15, 2006 @11:01AM (#15724555)
    A reply from the developper :

    Currently I'm not interested in the kernel driver. It's a lost case for over a decade. Full read-write could be done in user space pretty fast and I can't see drawbacks, only benefits:

    - NTFS is huge and complex, not for the kernel. Crash in kernel (hw error, corrupt ntfs, etc) and game is over. Crash in user space then just restart the service.
    - kernel has a lot of limitations, restrictions which are all gone.
    - fedora/redhat users have never ending hassles with installing the driver. Instead they could install ntfs-3g once and forget the issue forever.
  • Re:Great news. (Score:5, Informative)

    by Tim C (15259) on Saturday July 15, 2006 @11:02AM (#15724559)
    You also can't hide from a different installation of Windows that has the infected disk mounted. Rootkits hide themselves by hooking into the running kernel/fs drivers - inspect the disk with a clean install and they can't hide then either.

    Of course, the more tools you have available to you, the better, and while it's very unlikely that a rootkit from one install can infect another as long as you're careful, it's *extremely* unlikely that it'll be able to infect a Linux install. That may change with time, of course - as with so many things, it's an arms race, and this one is unlikely to do anything but get hotter.
  • Re:Awesome! (Score:4, Informative)

    by rthille (8526) <web-slashdot@nOSPAM.rangat.org> on Saturday July 15, 2006 @11:05AM (#15724566) Homepage Journal
    Try booting a live linux CD, then using 'dd' to zero out the first 16K of the disk.
    Then reboot from the CD and reformat the drive.

    Sometimes the partition software can get confused by what's there, and the kernel will cobble up reasonable information about the drive from the drive's response itself.

    Of course if you want to preserve your NTFS partition that's not a good approach. However, I've had bad luck with resizing windows partitions, so my approach is to backup, reformat, reinstall, and reload from the backup.
  • Re:Awesome! (Score:2, Informative)

    by ABoerma (941672) on Saturday July 15, 2006 @11:07AM (#15724573)
    SUSE's intaller YaST let me resize NTFS partitions. You might want to try that.
  • Re:Awesome! (Score:3, Informative)

    by Bill Dimm (463823) on Saturday July 15, 2006 @11:08AM (#15724576) Homepage
    Have you tried the latest GParted? This article [itweek.co.uk] says a new version was released on July 9.
  • Re:Awesome! (Score:5, Informative)

    by ratboy666 (104074) <fred_weigel&hotmail,com> on Saturday July 15, 2006 @11:09AM (#15724578) Homepage Journal
    How to do it...

    Assuming partition tables are "fubar".

    #1 BACK UP ALL YOUR DATA. This is normally a sign of a failing drive.

    #2 Download and burn a bootable CD of you hard drive vendors diagnostic kit.

    #3 Run it, and "recertify" your drive. May take a couple of hours (and, you may just want to dumpster the drive, if your time is valuable). If the drive does not certify, discard it.

    #4 Boot your system with Knoppix, or another recovery Linux system. Issue the command: "dd if=/dev/zero of=/dev/hda" (replace hda with hdb, hdc, hdd, etc. depending on which hard drive it is).

    #5 Run Linux partitioning tool "fdisk /dev/hda". You *will* get a complaint about an improper partition table, which is ok. Partition, and write the new partition table.

    #5b Alternatively, boot a Linux installation CD, and load Linux. Ignore warnings about "improper partitioning", and choose to have the partition table replaced.

    The IMPORTANT steps are 1 to 3. If the partition table cannot be manipulated, it is an almost sure sign your drive is heading south.

    Ratboy
  • by Anonymous Coward on Saturday July 15, 2006 @11:14AM (#15724597)
    What ntfsmount can do?

            *
                Resize files. (Always work.)
            *
                Create files and hardlinks. (This will either succeed or it will be refused, 50-50% at the moment. Up to about 10 files can be created in a directory.)
            *
                Create directories. (Same as above.)
            *
                Remove files/directories (Works fine or removal will be refused, 90-10% at the moment.)
            *
                Operate with special Interix files (symlinks, devices, FIFOs and sockets.)

    this is from their wiki.. really.. no thanks
  • Re:Great news. (Score:5, Informative)

    by Vo0k (760020) on Saturday July 15, 2006 @11:19AM (#15724615) Journal
    AFAIK most of their methods of protection would fail. Still, they could quite nicely hide in "alternate data streams" - every file or directory in NTFS chan have arbitrary metadata attached to it. Usually it's things like ownerships, permissions etc, but 'arbitrary' in this case means that besides the official metadata you can attach whole files making them invisible in the filesystem tree, existing in separate namespace, each file entry being a root directory for a whole invisible filesystem. So plain 'ls' won't show them. You need a tool that will examine each file, extract its metadata, discard the "standard" metadata and list whatever has been attached to files additionally.
  • by Chris Pimlott (16212) on Saturday July 15, 2006 @11:25AM (#15724647)
    This new driver is "ntfs-3g". "ntfsmount" is the previous NTFS driver that ntfs-3g is based on. Since ntfs-3g is brand new, most of the documentation on the Linux-NTFS site is about the older driver. ntfs-3g promises practically unlimited file creation and deletion [sourceforge.net].
  • Re:Great news. (Score:2, Informative)

    by Anonymous Coward on Saturday July 15, 2006 @11:26AM (#15724651)
    Can't hide from a Linux boot disk and with complete write support, now these can be cleaned and studied more effectively.

    They can't hide from a Windows boot CD either, and given that NTFS is a proprietary file system (i.e. open source drivers will always be playing catch-up), I'd be more inclined to trust the official NTFS drivers on a Windows boot CD.

    The Windows Vista (beta) setup disc boots to a live system, which can be used for repairs and whatnot, but with older systems like XP, it's a bit of a hassle, in that you have to build your own CD (there are tools available for download that make this easy for the technically inclined, but for novices it's still difficult). In any case, anyone with the competence to use a Linux disc to repair Windows should have no problem building a live Windows XP (or 2003) disc, and using it for repairs.

    What this driver is good for is accessing data on a Windows partition from Linux. I primarily use Windows, so I like to keep my data on NTFS partitions, since all the Windows security attributes are meaningful. Although drivers for common Linux/BSD file systems are available for Windows, in my experience, the security attributes can only really be meaningful in one OS or the other, so I'd prefer to keep them meaningful in the one I use most, i.e. Windows. Being able to read and write from Linux, however, is a nice feature to have, especially with good performance, and either a reliable KM driver or a UM driver that's at least reliable enough not to corrupt the file system.
  • by Anonymous Coward on Saturday July 15, 2006 @11:33AM (#15724676)
    The limitations you reference are for linux-ntfs. This thread concerns a new project with the same goals that may or may not be merged into linux-ntfs in the future, but is "capable for unlimited file creation and deletion", according to this exchange between the respective developers

    http://sourceforge.net/mailarchive/forum.php?threa d_id=23836054&forum_id=2697 [sourceforge.net]
  • Re:Awesome! (Score:3, Informative)

    by LinuxGeek (6139) * <djand@nc.gmail@com> on Saturday July 15, 2006 @11:37AM (#15724684)
    Help is all around [linuxmafia.com]!
  • Why? (Score:2, Informative)

    by matt me (850665) on Saturday July 15, 2006 @11:43AM (#15724701)
    What drew you to using NTFS on your drives? That data is destined to obsolete itself. No other operating system can write to it ( Linux, BSD, Mac OS X, you name 'em) can write to it. Nor can older versions of Windows (98, ME). That leaves only Windows 2000 and XP. Vista may well stick with NTFS rather than WinFS, but the installer won't let you install over XP, but demand to reformat the target disc.

    But other operating systems can *read* NTFS, so you can just copy it off, format the drive to a better file system, and put the data back.
  • by Anonymous Coward on Saturday July 15, 2006 @11:47AM (#15724713)
    Two points:

    1. The likelihood that anyone at Microsoft cares about whether or not Linux can read and write to NTFS is vanishingly small. If anything, a good NTFS driver for Linux means more people who dual-boot will use NTFS for their shared partitions, which might be marginally good for Microsoft.

    2. From what I've read, WinFS (which stands for Windows Future Storage, not Windows File System) isn't a new file system at all, just a set of database services that run on top of NTFS. That's why Microsoft were able to delay it until after the Windows Vista release, since it can always be added to a Windows Vista system later on, without any changes to the underlying (NTFS) file system.
  • Is it stable? (Score:3, Informative)

    by rsilvergun (571051) on Saturday July 15, 2006 @11:50AM (#15724719)
    as I recall, the problem with the kernel driver is it's not considered safe for writing. There's plenty of antecdotal evidence that it's ok to write, and I've done it, but has the been run through it's paces?
  • ntfsmount != ntfs-3g (Score:5, Informative)

    by Chris Pimlott (16212) on Saturday July 15, 2006 @11:50AM (#15724721)
    ntfs-3g is brand new and it not the same thing as ntfsmount, which is what the current documentation covers. Please read the ntfs-3g announcement [sourceforge.net], which promises practically unlimited file creation and deletion.
  • Re:Awesome! (Score:3, Informative)

    by Dave2 Wickham (600202) on Saturday July 15, 2006 @12:02PM (#15724756) Journal
    Actually, it's not quite that simple; Windows (2000, at least) doesn't like it if it's not on the primary HDD. You have to make Windows think it is on the primary HDD to allow it to boot. In GRUB it's a case of adding the following lines:
    map (hd0) (hd1)
    map (hd1) (hd0)
    Not a major change, but without knowing this beforehand, you can't just get Windows to boot off a secondary HDD.
  • Re:Why? (Score:3, Informative)

    by SirTalon42 (751509) on Saturday July 15, 2006 @12:40PM (#15724873)
    1.) WinFS was canned a good while ago
    2.) Despite its name, WinFS is NOT a new file system, just a layer on top of NTFS.
  • Re:Performance (Score:5, Informative)

    by Schraegstrichpunkt (931443) on Saturday July 15, 2006 @12:42PM (#15724882) Homepage
    Performance problems are a well-known fundamental problem with microkernel architectures that use user-mode processes.

    It's a widely-believed myth, mainly due to the poor performance of bloated first-generation microkernels like Mach, although I suppose it probably also applies to Linux when Linux acts as a microkernel.

    Google is your friend.

    Just because Linus Torvalds thought something was impossible during the 1990s doesn't make it so, so I suggest you skip the infamous Linus vs. AST discussion from that time period.

    The reality is that:

    1. Microkernel architectures are hard to design. This is suspected as being the real reason why they are not very popular today.
    2. Monolithic kernel architectures are prone to insecurities. There is just way too much privileged code, and too many failure scenarios.

    Unlike Linus, some people are actually devoting much of their time to solving these problems. AST is one such person. See this page [cs.vu.nl] on the subject.

  • Re:Not Just Linux (Score:4, Informative)

    by Tim Browse (9263) on Saturday July 15, 2006 @01:12PM (#15724984)

    I changed the motherboard in my Windows machine once, but didn't reinstall the OS straight away - was curious if it would 'just work'.

    I was running a dual boot Windows 98 and Windows 2000 system.

    Windows 98 booted up and said "Crikey chief! It's all changed!", then had a bit of a scurry, and rebooted.

    Then it did it again.

    And again. And again. And again.

    Then it worked.

    After 5 reboots all my hardware had been auto-detected and configured, and Windows 98 was ready to go. I never had any problems with the installation after that.

    Then I booted to Windows 2000. It crashed out in the text mode boot screens and died in a flaming heap, telling me I'd committed some heinous act or other. I never got it past that. In the end I did a clean install of Windows 2000.

    I was impressed with 98, not so much with 2000. Surprising, as I'd fully expected the opposite result.

  • Re:Performance (Score:5, Informative)

    by azhrei_fje (968954) on Saturday July 15, 2006 @01:22PM (#15725002)
    Kernel drivers can not use virtual memory, explicit multithreading or advanced algorithms from MP, STL and hundreds of other C++ libraries.

    Wow, I don't know where to start with this. First, mod parent down using -1, vague.

    Have you written a filesystem? I have. The "virtual memory" you're apparently referring to is the process' virtual memory. This sounds like what you're trying to say is that the protection provided by process virtual memory isn't available in the kernel. And that's true. But that doesn't change the fact that the kernel can map any physical memory to any effective address. So the statement that the "kernel can not use virtual memory," is extremely bogus. ("Bogus" is a technical term. It means "completely wrong.")

    Concerning "explicit multithreading," you must be referring to the idea that the kernel can't call pthread_create()? But there's no reason for the kernel to do so. Multi-threading in a user-level process is often done to achieve concurrency related to the delays that a single-threaded application would have if it had to wait for I/O to complete. The kernel doesn't have to do that at all. The kernel would queue up the I/O request, then continue on its merry way. When the interrupt from the device signals that the I/O has completed, a separate handler takes care of it. In a user process, threads are useful in order to modularize the I/O functions. In the kernel, they often aren't needed, since callbacks are used instead. Same functionality, different design technique. And even if they are needed for some obscure reason, all modern kernels (Linux included) support kernel threads. (My SUSE Linux 10 box currently has 19 kernel threads executing.)

    The "advanced algorithms" you're referring to are probably coming out of user-space libraries. And in this regard, you're correct -- user-space libraries cannot (currently) be linked into the kernel and there is plenty of debate about whether such abilities should even be attempted. (The problem with user-space libraries inside kernel space revolves mostly around bugs and implementation deficiencies. The truth is that an algorithm that is mostly cpu-intensive probably could be loaded into kernel space using some kind of hack, and there are open source projects that are already working along these lines.)

    In any case, there's no reason why those algorithms couldn't be executed inside the kernel. For example, take the find() generic algorithm from the STL (a macro from one of the libraries you mentioned). Why can't I use it? (The truth is I can.) And why can't I use the list class from the same library? I admit that linking large objects into the kernel could result in quite a bit of bloat, but there is not a technical reason that it couldn't be done. (Except in the case of C++ exceptions within the kernel. There is a group that has patches available for the Linux kernel that add support for C++ exception handling. With those patches, any STL code should be able to work in kernel space, although I've not tried it personally.)

    It seems to me like the parent has read a magazine article and jumped to conclusions. Or perhaps they are even an experienced developer, but took huge liberties with the wording of their statement. But as "Captain Obvious," I felt it was my slashdot civic duty to clarify he issue. :)

  • by radarsat1 (786772) on Saturday July 15, 2006 @01:56PM (#15725109) Homepage
    I found I prefer simply being able to access my Linux partition from Windows by installing the (unfortunately not open-source) Ext3 driver [fs-driver.org].

    Seems to work quite well.
    Yes, unfortunately it can't be Windows' root partition, but at least I can use Windows & Linux without needing an EXTRA data partition, or using Windows on FAT32.
    (Though I usually do just use FAT32 to keep things easy, because I'm not all that worried about security on my home box.)

    Anyways one problem I ran into using a shared FAT32 partition is that I couldn't use files > 4GB. Haven't seriously tested it yet but I think using the Ext3 driver will fix that. (Mainly for virtual machine images for Qemu.)

    Steve
  • by wmaster (987425) on Saturday July 15, 2006 @02:15PM (#15725168) Homepage
    I have successfully installed and tested it on most recent Debian Sid/Kanotix with kernel 2.6.17 - http://kanotix.com/ [kanotix.com]. Creating and deleting folders (even in root directory), adding more than 100 files to a folder and deleting them again, removing some 100 temporary files, copying a 1,7Gb sized iso-file and moving it around - all that was possible whithout any error. A very promising initiative from a developer to get things moving again in this mine field of myths. As he is a true open mind he contacted first the existing ntfsprogs-project and handed all his work over to them - just a pitty that the head developer there recently started to work for Apple, and announced that he is not interested in getting a solution for Linux out, before he finished the same for his new employer next year. I would be more than happy to support the ntfs-3g developer getting his own project running, and also finding sponsors in order to solve this nasty hardware problem. Anybody interested in helping? ;-)
  • by msimm (580077) on Saturday July 15, 2006 @02:17PM (#15725173) Homepage
    this same argument. I'm glad for NTFS support myself, but a Linux recovery disk is definitely not the best solution for actual systems recovery. And were did we all seem to get this idea that Linux bootable disk were the only bootable disks anyway?

    I'd suggest taking a good long look at UBCD4WIN [ubcd4win.com]. Its *is* a bootable disk. It runs the Windows kernel of your choice (you build it off your own disk, but the process is much less painful then it sounds). It also happens to include a slew of native Windows programs/utilities for doing things like...password blanking, virus/spyware detection/recovery, partition recovery/disk repair, Windows networking, including SMB access for recoveryies where you can't get the core functioning but still need to retrieve those files.

    It is an all around good project and I'm sure I'm not even remotely doing it justice. Of course best of all, its native NTFS (assuming you build XP or a variety that supports it) so you don't have to worry about write problems in the same way.

    I work as a systems admin at a mainly Linux shop so I don't get much cause to use it, but its something I'd never leave home without. I'm sure I've got a Knoppix disk sitting around somewhere, but for (Windows) system repair there's simply no advantage.

    I sound like a commercial. :) Donate some money or something if you find it useful. Its free after all, but the guys time can't be.
  • by evilviper (135110) on Saturday July 15, 2006 @02:45PM (#15725266) Journal
    If I were Microsoft, I'd make just enough undocumented changes to screw up reverse-engineered implementations of NTFS... providing just enough increased functionality to which I could Point With Pride.

    And they'll call it NTFS6...

    They already did something like this with NTFS5, found in Windows 2000. Once Windows 2000 has booted-up with access to an NTFS partition, you can't run chkdsk from NT4 (or older) anymore. You're actually stuck with 2000, whether you like it or not. God help you if you remove your Windows 2000 installation.

    Personally, my hopes lie with FFS Drv. Absolutely EVERY major operating system other than Windows can read/write to UFS/FFS. [sourceforge.net]
  • by HoneyBunchesOfGoats (619017) on Saturday July 15, 2006 @02:48PM (#15725285)
    I use a large ext3 partition to store video files, as I'm experimenting with video editing in both Linux and Windows. No hiccups so far using the ext3 filesystem for big video files in Windows. One thing to be aware of, though, is that Windows sees it as ext2, so you lose the benefits of the journalling filesystem there. I haven't lost any data yet, but it is something keep in mind.
  • by cortana (588495) <sam@robots.orYEATSg.uk minus poet> on Saturday July 15, 2006 @03:31PM (#15725432) Homepage
    FYI, ext2fsd [sourceforge.net] is a Free Software alternative to the fs-driver.org IFS.
  • Re:No 64-bit (Score:2, Informative)

    by Briareos (21163) on Saturday July 15, 2006 @04:38PM (#15725623)
    Problem: Why doesn't the driver work on 64-bit and bigendian systems?
    Answer: We have no resource for that. Neither hardware, nor workforce.

    I suggest someone get them an NSLU2 from Linksys [linksys.com] - they retail for 80EUR here and have a 266MHz ARM CPU that can run in either little or big endian mode, with several distributions of Linux already available to install on them...

    np: Duo505 - Facing It (Live) (Monsters Of Morr Music)
  • Re:Not Just Linux (Score:3, Informative)

    by ecliptik (160746) on Saturday July 15, 2006 @04:39PM (#15725630) Homepage

    He's right, it's an issue with the IDE Drivers. Before you swap motherboards on a Win2k+ install make sure that the IDE driver in device manager is set to generic. Otherwise you'll get that dreaded STOP Error.

    Here's a good link for it:

    http://www.windowsreinstall.com/install/other/moth erboard/problems.htm [windowsreinstall.com]

  • Ubuntu Install (Score:4, Informative)

    by Aladrin (926209) on Saturday July 15, 2006 @04:45PM (#15725642)
    If you want to install this, you'll need FUSE 2.5. (K|X)Ubuntu only has 2.4, so you'll need to get an update.

    http://www.debuntu.org/2006/06/26/71-fuse-253-for- ubuntu-dapper/ [debuntu.org]

    I've installed that on my desktop machine and managed to mount my ntfs drive (for dual boot) and read files. I didn't try to write anything yet, though. It seems to work fine.

    Enjoy!
  • Re:Not Just Linux (Score:4, Informative)

    by mczak (575986) on Saturday July 15, 2006 @04:52PM (#15725663)
    That "heinous act" it told you must have been "inaccessible boot device".
    For W2k and XP (not sure about NT) there are basically 2 drivers which it absolutely needs to be able to boot. One is the graphic driver, which has fortunately a fallback to generic VGA. The other is the disk driver, so if you change your board to one with a different hd controller (for typical setups that means different chipset, though you might get lucky if it's a different chipset but which can use the same driver, dunno) then it will not boot. There are documented ways around this (for instance in the MS knowledgebase), though yes if you ask me it's really lame that there is no generic ide fallback. Apart from that board swaps seem to work pretty well with W2k (even though not recommended by MS), of course you might need to change hal (uniprocessor to multiprocessor and such things) and other drivers later.
    (Actually IME hd cloning / swapping is more problematic due to recognition of drives with some unique identifiers)
  • by Antique Geekmeister (740220) on Saturday July 15, 2006 @07:25PM (#15726084)
    No, Microsoft deliberately breaks compatibility. I suggest you look at the old FreeDOS lawsuits, and the Netscape lawsuits where Microsoft tried to pretend that NT Workstation couldn't work as a Netscape server, the oddness of Internet Explorer and their refusal to make it removable, and the weirdness they did to Kerberos that MIT sued them successfully over, and even take a look at what Active Directory does to DNS, and the current lawsuits about ODF in Massachusetts, and the recent EU lawsuit whaere Microsoft refused to document their software, instead publishing deliberately obfuscated and unusable documentation.

  • Re:Not Just Linux (Score:3, Informative)

    by algae (2196) on Saturday July 15, 2006 @08:38PM (#15726238)

    if you ask me it's really lame that there is no generic ide fallback.

    There is. Go to the device manager and find your IDE controller. Click "update driver" and then manually choose a driver from the list. Select "Generic IDE DEvice" or whatever they call it. After this driver is installed, you can reboot the machine with a completely different motherboard.

  • Re:No 64-bit (Score:3, Informative)

    by waveclaw (43274) on Saturday July 15, 2006 @08:50PM (#15726265) Homepage Journal
    Problem: Why doesn't the driver work on 64-bit and bigendian systems?

    I can confirm that it compiles, installs and works on 64-bit SuSE Linux 10.1 (AMD Athlon(tm) 64 Processor 3000+.) It does require you to get the latest 2.5 fuse (http://fuse.sourceforge.net/). And I do have a complete 32-bit environment installed, but the ./configure was clearly x86_64.

    # arch
    x86_64
    # uname -r
    2.6.16.13-4-default
    #lsmod | grep fuse
    fuse 39192 2
    # /usr/local/bin/ntfs-3g /dev/hda1 /windows/C -o rw,user
    # cd /windows/C
    # ls
    # touch autoexec.bat
    # ls
    autoexec.bat


    And I am just one checkinstall away from an rpm. (Too lazy to write yet another custom SPEC file today.)
  • Just tried it out... (Score:2, Informative)

    by pxc (938367) on Saturday July 15, 2006 @10:56PM (#15726602)
    And it works fine. The only problem is that SuSe 10.1 doesn't load the fuse module before it tries to mount the fstab, so after I boot I have to do a "modprobe fuse" and "sudo mount -a" to get it to work...

    PS: I've tried both ntfsmount and captive-ntfs on this same system and neither have worked.

Profanity is the one language all programmers know best.

Working...