bobranten / Ext4Fsd

Ext4 file system driver for Windows
783 stars 54 forks source link

EXT4 Disk shows up as EXT3 and isn't accessible. #34

Open techflashYT opened 1 year ago

techflashYT commented 1 year ago

Hello. I have an EXT4 partition on my disk, and when I use this driver, it shows up as EXT3. When I hit the "Mount" button, it shows up as a drive in file explorer, however it says that the device does not contain a recognized filesystem. I did disable driver signature enforcement, but it still doesn't work. Any ideas?

krxdow commented 1 year ago

I have the same issue

Shadowphoenix commented 7 months ago

same issue still exists.

EDIT: using Windows 10 23H2

Superstarlex42 commented 5 months ago

Still Here Windows 11 23H2 Build: 22631.3296 Edit: Restart Required to finish installation, then works fine

bobranten commented 5 months ago

Are you sure it isn't a problem with that ext3 partition, I created an ext2 and ext3 partition on my computer and they show up and after writing to them with the Windows driver Linux still sonsiders them ext2 and ext3.

Bo Branten

Shadowphoenix commented 5 months ago

Are you sure it isn't a problem with that ext3 partition, I created an ext2 and ext3 partition on my computer and they show up and after writing to them with the Windows driver Linux still sonsiders them ext2 and ext3. Bo Branten

i am certain there wasnt an issue with the partition in my case - i created an ext4-partition and it got shown as ext3 by the windows-driver

Superstarlex42 commented 5 months ago

it occasionally shows as ext3 in the manager but windows always recognizes it as ext4 for me

what state was the partition in when you made it ext4, did it have files in it or did you format it to ext4

Shadowphoenix commented 5 months ago

it occasionally shows as ext3 in the manager but windows always recognizes it as ext4 for me

what state was the partition in when you made it ext4, did it have files in it or did you format it to ext4

freshly created root-partition created via Arch-Iso, had the base system in it

Superstarlex42 commented 5 months ago

How would I recreate to test

Shadowphoenix commented 5 months ago

How would I recreate to test

  1. plug in spare disk or create spare space on existing disk (for example shrink a random partition with windows' partitioningtool)
  2. download Arch-Iso, boot into it*
  3. take a spare disk or spare space on a disk and create a normal Linux-Filesystem partition (command: cfdisk /dev/nodenameofdisk - example cfidsk /dev/nvme0n1 or /dev/sda - the UI of cfdisk is pretty selfexplanatory: use up- and down-arrowkeys to navigate to empty space, use left- and right-arrowkeys to select "new" in bottomselector and hit enter to create new partition - Type should be Linux-Filesystem, then select write, confirm by typing yes and hitting enter, then select quit and confirm that to get back to the terminal)
  4. create ext4-filesystem within partition mkfs.ext4 /dev/nodeofpartition (example: mkfs.ext4 /dev/nvme0n1p7 or /dev/sda3) and confirm creation when prompted
  5. mount the partition mount /dev/nodeofpartition /mnt
  6. create a file with something in it (for testing/verification purposes) - cd /mnt && touch file.txt && echo "This File is fine!">> file.txt (cat /mnt/file.txt should now show your verificationphrase)
  7. unmount partition umount /dev/nodeofpartition
  8. and reboot system (simply type reboot and hit enter)
  9. try to access partition within windows and open the file
  10. ?

*For booting into the Arch-Iso, i recommend using Ventoy: flash ventoy to a spare usb and then just drag and drop iso-files onto the stick as needed - way more convenient than reflashing the USB each time

austonpramodh commented 5 months ago

I am having the same issue. My partition was created on SteamOS.

image

windenchanter commented 4 months ago

I am having the same issue. My partition was created on SteamOS.

image

I had the same issue. Steamdeck created ext4 partition is not working on my Windows. Showing as ext3.

bobranten commented 4 months ago

I am trying to investigate this problem. If someone has a partition that is not to big it would be of help to get an image file of it to investigate?

But to begin with if you can show what the command: tune2fs -l /dev/partition tells about the partition on Linux? That could give a hint on the problem.

Bo Branten

windenchanter commented 4 months ago

I don't know how to dump the partition., This is what I can get from using the tune2fs command.     tune2fs 1.47.0 (5-Feb-2023) Filesystem volume name:    Last mounted on:          /run/media/deck/baf29dbd-2218-4768-ae3b-d42704413cd3 Filesystem UUID:          baf29dbd-2218-4768-ae3b-d42704413cd3 Filesystem magic number:  0xEF53 Filesystem revision #:    1 (dynamic) Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg metadata_csum_seed casefold sparse_super large_file huge_file dir_nlink extra_isize metadata_csum Filesystem flags:         signed_directory_hash   Default mount options:    user_xattr acl Filesystem state:         clean Errors behavior:          Continue Filesystem OS type:       Linux Inode count:              3817472 Block count:              15266816 Reserved block count:     0 Overhead clusters:        318489 Free blocks:              14948319 Free inodes:              3817459 First block:              0 Block size:               4096 Fragment size:            4096 Group descriptor size:    64 Reserved GDT blocks:      1024 Blocks per group:         32768 Fragments per group:      32768 Inodes per group:         8192 Inode blocks per group:   512 Flex block group size:    16 Filesystem created:       Wed Apr 10 14:35:59 2024 Last mount time:          Wed Apr 10 16:37:48 2024 Last write time:          Wed Apr 10 16:37:48 2024 Mount count:              2 Maximum mount count:      -1 Last checked:             Wed Apr 10 14:35:59 2024 Check interval:           0 () Lifetime writes:          4323 kB Reserved blocks uid:      0 (user root) Reserved blocks gid:      0 (group root) First inode:              11 Inode size:               256 Required extra isize:     32 Desired extra isize:      32 Journal inode:            8 Default directory hash:   half_md4 Directory Hash Seed:      990d674c-18b6-45fd-ac46-fc4bbb7255ff Journal backup:           inode blocks Checksum type:            crc32c Checksum:                 0x36bf5d1f Checksum seed:            0xeca77890 Character encoding:       utf8-12.1

bobranten commented 4 months ago

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg metadata_csum_seed casefold sparse_super large_file huge_file dir_nlink extra_isize metadata_csum

This was realy helpful, I think it is the "casefold" feature that is the problem, our driver refuses to mount new features it doesn't know about yet. (casefold is case insensitive file search to be compatible with Windows behaviour)

It would be interesting to hear how you formated the filesystem, normally you must explicitly enable casefold when giving the mkfs command, parhaps some distrobution has enable it as defult?

You should be able to turn it off with this command tune2fs -O ^casefold /dev/xxx

or create a new partition witout it: mkfs.ext4 -O ^casefold /dev/xxx

bobranten commented 4 months ago

We are trying to understand when the feature "casefold" is enabled and one more thing you could tell us is if it is present in /etc/mke2fs.conf.

windenchanter commented 4 months ago

Thanks!

I used the command to disable casefold, it is still showing as ext3 in windows under the Ext2 Volume Manager. I then recreated the partition using the next command, the drive is no longer recognized by windows .

I think it is likely an issue with using Steam Deck to format the SD card.

This is what I see under the config file.

[defaults] base_features = sparse_super,large_file,filetype,resize_inode,dir_index,ext_attr default_mntopts = acl,user_xattr enable_periodic_fsck = 0 blocksize = 4096 inode_size = 256 inode_ratio = 16384

[fs_types] ext3 = { features = has_journal } ext4 = { features = has_journal,extent,huge_file,flex_bg,metadata_csum,metadata_csum_seed,64bit,dir_nlink,extra_isize

   }
   small = {
           blocksize = 1024
           inode_ratio = 4096
   }
   floppy = {
           blocksize = 1024
           inode_ratio = 8192
   }
   big = {
           inode_ratio = 32768
   }
   huge = {
           inode_ratio = 65536
   }
   news = {
           inode_ratio = 4096
   }
   largefile = {
           inode_ratio = 1048576
           blocksize = -1
   }
   largefile4 = {
           inode_ratio = 4194304
           blocksize = -1
   }
   hurd = {
        blocksize = 4096
        inode_size = 128
        warn_y2038_dates = 0
   }

On Thu, 11 Apr 2024 at 10:00, Bo Brantén @.***> wrote:

We are trying to understand when the feature "casefold" is enabled and one more thing you could tell us is if it is present in /etc/mke2fs.conf.

— Reply to this email directly, view it on GitHub https://github.com/bobranten/Ext4Fsd/issues/34#issuecomment-2050026436, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFM7PJY7OPG4QEUPOUULMR3Y42XRJAVCNFSM6AAAAAAZUZLQVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGAZDMNBTGY . You are receiving this because you commented.Message ID: @.***>

bobranten commented 2 months ago

I have now updated the manager to give better information on the filesystems on disk, it can list XFS/BTRFS and LVM and MD partitions but the most important new feature is that it shows a '+' sign after the filesystem name like "EXT4+" if the on disk filesystem contains new ext4 features that is not supported by the windows driver. You can try it from here, it works with an already installed driver: https://www.accum.se/~bosse/ext2fsd/next/Ext2Mgr.exe