Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specifically the 2TB Samsung 990 EVO can't be read in windows when using BTRFS. (and now all BTRFS drives won't work) #698

Open
Jellybit opened this issue Sep 16, 2024 · 3 comments

Comments

@Jellybit
Copy link

Jellybit commented Sep 16, 2024

My 2TB Samsung 990 EVO works fine in Windows 10 when formatted in NTFS. I formatted it in Unbuntu (tried both Batocera v40, and command line) to BTRFS, which reads it just fine in Linux. Bringing it back into Windows, however, doesn't seem to work. It doesn't show up as a drive letter or anything. Other BTRFS drives work just fine.

So I did another test. I formatted a 64GB Samsung SD Card on Linux. It can be read perfectly by Windows. So I did a clone of that SD card to the 2TB Samsung 990 EVO. Windows couldn't read the BTRFS drive partition when on the 990 EVO. I have another 1TB Samsung drive that works fine between Linux and Windows, so it's this 2TB drive specifically that's having issues. Again, it reads fine in both operating systems if I use their native formats, but BTRFS doesn't cross over.

I also tried multiple SSD enclosures to make sure it wasn't that. It was the same between different enclosures, which I thought was the case, because the 1TB drive worked fine in both enclosures.

I tried this, but it didn't help:
go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy in Regedit, create a new DWORD value called UpgradedSystem and set to 1, and reboot.

The drive reads fine on my Windows 11 laptop. I tried removing BTRFS and reinstalling it, but now it won't read any BTRFS drive, so I'm not sure what just happened. How do I ensure a 100% clean uninstall? And do I install both of the "inf" files? I think I made a mistake before by uninstalling from Device Manager, and telling it to delete the drivers with the check box. After reinstall, I can't use the usual uninstall method:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultUninstall 132 btrfs.inf

It simply says "Installation Failed". So yeah, maybe my install got messed up somehow.

@Jellybit
Copy link
Author

Jellybit commented Sep 16, 2024

Update: After uninstalling and reinstalling, all my BTRFS drives now stopped reading. It used to only be that one 2TB drive, and I was able to swap between and the other BTRFS drives would work in Windows 10. So I tried a full driver removal. I removed every trace of btrfs drivers from Windows, no btrfs.sys, no registery entry, no backup files, nothing. Even rebooted twice between stages of removal. I did a lot of what's included in this thread: #654

Once everything was cleaned off, I installed btrfs.inf, rebooted twice to be sure, and now it won't read any of my BTRFS drives. This is weird. It also doesn't show in the Device Manager like it used to. btrfs.sys got copied to the System32/drivers folder, and all the regular stuff was added to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\btrfs in the Registry. I also checked and the driver is active. It just doesn't show up in Device Manager, I assume because it can't detect BTRFS drives?

I have no idea where to go from here. Even after the freshest install possible, without installing a new OS, nothing works. It was literally working yesterday, used daily for weeks.

@Jellybit Jellybit changed the title Specifically the 2TB Samsung 990 EVO can't be read in windows when using BTRFS. Specifically the 2TB Samsung 990 EVO can't be read in windows when using BTRFS. (and now all BTRFS drives won't work) Sep 16, 2024
@Jellybit
Copy link
Author

Jellybit commented Sep 16, 2024

Alright, I formatted with mkbtrfs, instead of formatting on Linux. Now the drive doesn't show up when plugged in, but I did see an errored out drive letter in Device Manager. I try to select a driver for it (Update Driver), and it gives me "WPD FileSystem Volume Driver". Maybe that's BTRFS? Either way, I decided to get specific, so I go to "Have Disk", and point to the BTRFS driver installation folder with the inf files. However, when I do this, it gives the following error:


Select Device

The folder you specified doesn't contain a compatible software driver for your device. If the folder contains a driver, make sure it is designed to work with Windows for x64-based systems.


OK

Maybe this relates to its inability to use the driver?

Finally, when I try to tell it to use the WPD FileSystem Volume Driver, it gives this error:


Update Drivers - WPD FileSystem Volume Driver

Windows encountered a problem installing the drivers for your device
Windows found drivers for your device but encountered an error while attempting to install them.
WPD FileSystem Volume Driver
This device cannot start. (Code 10)
If you know the manufacturer of your device, you can visit their website and check the support section for drivers.


Close

To be clear, this is no longer just that 2TB drive. I'm using SD cards and whatever else. This particular error happened when using a 64GB SD Card

@sskras
Copy link

sskras commented Sep 17, 2024

If the driver is missing from Device Manager, what does sc query say? On my box:

C:\Users\saukrs> sc query btrfs

SERVICE_NAME: btrfs
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants