btrfs icon indicating copy to clipboard operation
btrfs copied to clipboard

Not working on Windows 10 x86 Stable

Open claudiusraphael opened this issue 3 years ago • 2 comments

An external USB-3 2.5TB HDD containing an install of Fedora 34 Silverblue, which is accessible perfectly under Windows 10 Pro 64-bit with WinBtrfs/Btrfs does not populate volumes under Windows 10 Home 32-bit.

I tried the last 3 releases of the driver so far, but it reminded me of a situation in the early stages of WinBtrfs, namely that under a Windows 10 x86/32-bit somehow the .inf tried to install the 64-bit driver (similar to the behavior under Windows 7 64-bit where the x86-driver is installed, due to the host being 32-bit linked to a 64-bit kernel). I've seen this behavior with other (real hardware) device-drivers as well, where from Windows 10 20H1 on 64-bit drivers are installed without throwing an error although the whole system is 32-bit. This happens mostly on Atom/Celeron-based SoCs from Baytrail upwards.

@maharmstone could you provide steps to collect information that helps you/us to determine what the reason is and to find a solution? If i remember correctly earlier versions had separate .inf-files or maybe i modified it to make it work, but that was a long time ago (i used Fedora on these devices for a while), so any hint will be helpful.

Thank you!

claudiusraphael avatar Oct 19 '21 16:10 claudiusraphael

If you suspect that Windows is installing the sys file for the wrong architecture, the first thing I'd do is check the filesize of C:\Windows\System32\drivers\btrfs.sys, and see which file in the zip file it matches up to.

Also, what does sc start btrfs say?

maharmstone avatar Oct 19 '21 17:10 maharmstone

@maharmstone I compared the properties of C:\Windows\System32\drivers\btrfs.sys (after installing the latest release-version 1.7.9 via the provided .inf-file again) with the ones provided in the .zip in \x86 and \x64 folders and indeed the correct version for 32-bit/x86 was installed.

In PowerShell (Administrative) sc start btrfs didn't return anything, although it seemed to process the command. After switching to cmd inside that PowerShell ...

PS C:\Windows\system32> sc start btrfs
PS C:\Windows\system32> cmd
Microsoft Windows [Version 10.0.19044.1288]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\system32>sc start btrfs
[SC] StartService FAILED 577:

Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.

I checked then if the Digital Signature was active on btrfs.sys in System32, as i remembered checking the "Always trust ..."-checkbox appearing on first install and accepting it. The signature is given and is still valid.

On a sidenote: How would i go for complete removal of the installed files and signature to prevent errors from leftovers to try out other versions?

[Edit] Additional Information / Reasoning:

@maharmstone The example-machine that is affected by this is a Windows Convertible/2-in-1 with Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz Quad-Core SoC. RAM is just 2GiB, free space on the internal emmc is 2GiB, but i reserved a 4480MiB partition for experiments. The CPU is 64-bit, BIOS is UEFI 32-bit. I have at the moment besides that a AMD Phenom 9600b Desktop with Windows 10 Professional Stable 64-bit and Visual Studio 2019 Community with 8 GiB RAM, as well as a Intel Core i7 2nd Gen (Sandy Bridge) Notebook with Windows 11 Stable and Visual Studio 2022 Community and 16GiB RAM available, both Quad-Cores. If it turns out that it was not just a dumb failure due to ignorance on my end or a simple misconfiguration i am willed to use these resources to build and test patched versions if you are able to provide guidance. - My main target is to run Windows from btrfs on these Intel Atom SoC Convertibles, since NTFS is the only thing that makes them hickup every once in a while. I am also hoping for running a 64-bit version of Windows using Quibble to overcome the UEFI-32. The latter would allow to run Windows 11. Tests with older versions of Windows from btrfs as already successfully driven by other users would be on the menu, too. I am open to any hints and experiments.

claudiusraphael avatar Oct 20 '21 17:10 claudiusraphael

Closing old issues

maharmstone avatar Nov 30 '23 01:11 maharmstone