Announcement

Collapse
No announcement yet.

A Btrfs File-System Kernel Driver For Windows

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • nasyt
    replied
    Originally posted by Hi-Angel View Post
    Where did you find one yottabyte? NTFS format supports 16 Exabyte maximum size as well.
    NTFS' on disk format has 64 bit block addresses (2^64 - 1 clusters). If the block-size/cluster-size is configured to be 64kB the maximum size will be 64kB * 2^64 (=1YB).

    Leave a comment:


  • DrYak
    replied
    Originally posted by drSeehas View Post
    When I use a "flash drive" e.g. SD card, I don"t need a partition table for Windows and I can format the whole SD card as a "super floppy"?
    So I have no problem with Windows and OS X.
    Sorry, at that point, I don't have enough experience with Windows.
    I don't know if an SD card without a partition table, formatted as UDF is recognized properly.
    I have not tested this configuration yet.

    On the other hand, in my experience, all media that I have formatted *with* the "partition table in the bootloader region pointing back to whole disk formated in UDF" (using tools like format-udf or udfhd.pl) has flawlessly worked with Linux (used to create. That's my main working OS), Windows (when swapping flash stick with friends) and Mac OS X (some work colleagues).

    Also, all the SD cards I've encountered have always been partitioned (with sometime special care given to properly align partition to "allocation units" - the big chunks of a few MB used by the wear levelling algorithm of the SD card). Might be a sign that Windows expects to see partition tables on them. But I haven't been testing any patition-less SD cards ever. (And any way, most of the SD cards I use are mainly plugged into Linux only devices, like GPS, Raspberry Pi, etc.) (My brother's 3DS also insist on having a partition table on its microSD card, and is even picky about the partition type in the table).

    I would really recommend giving a try to format-udf: it works on both Linux and Mac OS X. So unless you're exclusively stuck with Windows machine(*), you could use it
    (*) - In which case, having a cross-compatible filesystem on your media isn't useful. Nor is using BTRFS. If a media is only used on Windows, better stick to its native formats, liks NTRFS or exFAT.
    Last edited by DrYak; 03-23-2016, 09:54 PM.

    Leave a comment:


  • drSeehas
    replied
    Originally posted by DrYak View Post
    ...... As explained in the articles I'm citing above:
    Saddly, it's not necessarly enough.
    This will get cross-compatible with Linux, but not Mac OS X.
    It all boils down to how each OS will detect the partition.
    ...
    Windows: *only* detect UDF when it is on partitions (you can't format a whole disk UDF, the X: letter must be a valid partititon)
    Thank you.

    But I am confused:
    ‚ÄčOn https://j0nam1el.wordpress.com/2015/...inux-with-udf/ and https://github.com/JElchison/format-udf I read
    ... Windows does not support hard disks without a partition table. This is strange because Windows does not apply the same limitation to flash drives.
    When I use a "flash drive" e.g. SD card, I don"t need a partition table for Windows and I can format the whole SD card as a "super floppy"?
    So I have no problem with Windows and OS X.

    Leave a comment:


  • DrYak
    replied
    Originally posted by drSeehas View Post
    Which Linux articles are you refering to?
    Ooops. Sorry, that's entirely my fault. Usually I quote these source when I speak about UDF on flash media:


    At least check the last two.

    Originally posted by drSeehas View Post
    Thank you, BUT
    Why 5 solutions?
    I'm partial to multiple solutions.
    Also I'm not a hardcore windows user, so I would like to throw some alternative solution in case another doesn't work.

    Originally posted by drSeehas View Post
    Shouldn't the command line
    FORMAT x: /FS:UDF /R:1.50 or 2.01
    be sufficient?
    As explained in the articles I'm citing above:
    Saddly, it's not necessarly enough.
    This will get cross-compatible with Linux, but not Mac OS X.
    It all boils down to how each OS will detect the partition.

    Linux: has a very robust plug-n-play system and will happily use whichever you throw at it.

    Windows: *only* detect UDF when it is on partitions (you can't format a whole disk UDF, the X: letter must be a valid partititon)

    Mac OS X: exact opposite, *only* detects UDF when it's a bare drive (like a DVD).

    Now there is a small trick:
    UDF on purpose leaves a few KiB at the beginning untouched (that's mainly used to put bootloaders in there like on bootable installation DVDs).
    So you can format the whole drive, and then use the empty bootloader space to put a partition table with a partition entry that points back to the whole disk.
    (Or feel free to do it in ther other order around if your formatter leaves the bootloader space untouched).

    So now Mac OS X is happy (the UDF partition uses the whole disk), AND Windows is happy too (there is a partition table pointing to said whole-disk partition).
    Linux is happy no matter what anyway.

    (This boot loader space might also be another source of problems: some formatters won't touch it by design. But if you're re-formatting a stick that was previously formatted as FAT32, there might be enough left-overs in said space that windows might detect and attempt to use the wrong type.
    Linux doesn't give a damn, there's a "-t" option of mount exactly for that purpose: to be able to force a specific type, when a partition holds several.
    But Windows might choke on it).

    Originally posted by drSeehas View Post
    One question remaining:
    What partition type/ID for UDF?
    On my USB stick, formatted back at the time with Pieter Wullie's code, the partition is marked as a 'b' (FAT32).
    The newer code by JElchisson does the same too.

    But in my experience, Windows has never paid any attention to the partition type. Win XP regularily wanted to reformat ext3 partition which were clearly marked as type Linux. As long the data is recognized as some format supported (FAT32, exFAT, NTFS, exFAT, UDF, ISO, etc.) windows is happy.

    Mac OS X doesn't pay attention to the partition table (as explained above it goes straight for the whole disk when looking for UDF).

    Linux has a robust scheme of detection.

    (My brother's Nintendo New 3DS was the only device to choke on a wrong FS type entry in the partition table).
    Last edited by DrYak; 03-23-2016, 12:23 PM. Reason: bbcode typo fix

    Leave a comment:


  • drSeehas
    replied
    Originally posted by DrYak View Post
    ...
    If you still want to format it as UDF *and* only have access to a Windows 7 box, I would recommend, in order:
    ...
    Solution 3:
    according to the stackexchange cited elsewhere:
    `format x: /fs:UDF` (without the quickformat option) ...
    Thank you, BUT
    Why 5 solutions?
    Shouldn't the command line
    FORMAT x: /FS:UDF /R:1.50 or 2.01
    be sufficient?

    Originally posted by DrYak View Post
    ... Pay attention to create the special "boot region of the UDF contains a partition table pointing back at itself" structure mentionned in the Linux articles I mention (and handled by the Perl scripts) using you favorite windows disk partitionning tool (and disabling its warnings about overlapping partitions). ...
    Which Linux articles are you refering to?

    One question remaining:
    What partition type/ID for UDF?

    Leave a comment:


  • DrYak
    replied
    Originally posted by drSeehas View Post
    How do I format an USB stick or a SD card on Windows (7) with UDF?
    NTFS, FAT32 and exFAT are the only options offered.
    My proposition of UDF is for when you want cross-OS portability of the data.
    That would pre-suppose that you have access to several other OSes, the majjority of which is able to do the formatting.
    (So just format the stick using the non-windows OS with which you want to inter-operate with)

    If you're only ever going to use a stick in a Windows 7 machine, exFAT (as the "official" FS for Microsoft) would make more sense. (Though UDF is also tested a lot given its use on optical media, including read-only, eraseable and packet writing).

    If you still want to format it as UDF *and* only have access to a Windows 7 box, I would recommend, in order:

    (The first solutions are basically "use linux anyway". It's a bit lame but that's what i'm most fluent with)

    Solution 1:
    Get a boot disk. System Rescue CD is a very nice candidate: it has ton of tools that come handy.
    Then you can format your stick with that (and also use the disk if you need to use to rescue a machine)

    Solution 2:
    Use a Linux install on a VM like virtual box, and forward the USB stick (either the USB device itself, or the block device) to the VM and format it from there.

    (I don't have as much experience with windows so the next solutions are approximative)

    Solution 3:
    according to the stackexchange cited elsewhere:
    `format x: /fs:UDF` (without the quickformat option)
    I haven't tested this my self.
    Pay attention to create the special "boot region of the UDF contains a partition table pointing back at itself" structure mentionned in the Linux articles I mention (and handled by the Perl scripts) using you favorite windows disk partitionning tool (and disabling its warnings about overlapping partitions).

    Solution 4:
    Check your DVD burning software, and its low-level packet writing drivers and tools. For older versions of Windows and DOS that don't support UDF, that's the route to add support for UDF, and maybe the UDF support software offers formatting possibility ?
    (This will very likely NOT generate the necessary partition table)

    Solution 5:
    Generate an image with any UDF-generating tools (your favourite DVD burning software should be able to write an .ISO file. Pay attention to have at least UDF version 1.5 selected and no ISO9660).
    Then RawWrite should be able to write your image on the device.
    (you might still need to have the proper partition table, though. So using a combo of your favorite partitioning software, rawwrite in read mode and your favorite hexeditor to combine it into the image might be necessary)
    I have regularily used this tool when I needed to write a partition in a format not supported by windows, mostly for EXTn formatted linux USB boot sticks, when stuck on a windows machine. Rawwrite is a nice Windows substitute for Linux' `dd`

    Note that none of the windows solution (3 to 5) are completely straight-forward compared to the Linux ones (just download the perl script and run it).


    Originally posted by nasyt View Post
    What the hell is the usecase of BTRFS on Windows?
    When you need a format that is cross portable accross OSes, and has additionnal features like copy-on-write, checksumming, transparent compression, cheap snapshotting, support for posix permissions.

    (Though UDF is also cross-os and at least is log structured).

    Leave a comment:


  • Hi-Angel
    replied
    Originally posted by nasyt View Post
    What the hell is the usecase of BTRFS on Windows? The On-disk format of NTFS supports one yottabyte. BTRFS just supports 16 Exabyte. Thats not much.

    And Storage Spaces will fill the gap.
    Where did you find one yottabyte? NTFS format supports 16 Exabyte maximum size as well.

    Leave a comment:


  • maharmstone
    replied
    I've just released a new version of the driver which contains a load of bug fixes - if anybody's been having problems, could you try this please? https://github.com/maharmstone/btrfs

    Leave a comment:


  • nasyt
    replied
    What the hell is the usecase of BTRFS on Windows? The On-disk format of NTFS supports one yottabyte. BTRFS just supports 16 Exabyte. Thats not much.

    And Storage Spaces will fill the gap.

    Leave a comment:


  • SystemCrasher
    replied
    Lol, now Windows can finally get more or less adequate filesystem, and one can use btrfs on e.g. removable drives.

    Leave a comment:

Working...
X