3

Suppose that I want to write Windows driver for other filesystems (maybe my own?). Is it possible to install Windows on that? Eventually problems could come from just Windows installer or it could be much deeper problem from Windows itself?

phuclv
  • 30,396
  • 15
  • 136
  • 260

3 Answers3

11

Given that ReactOS supports ext2 I don't see why Windows couldn't be run on some other filesystems if drivers were added, but Windows does require the filesystem to have certain features so not all filesystems will be fair game. Unlike Linux systems Windows doesn't rely on the filesystem for permissions so it's more likely to work on unsupported filesystems than some operating systems are.

There already are third party drivers for ext2 for Windows so you might be able to try it without having to write your own driver. The Windows installation process would not be aware of these drivers though, and so it would refuse to allow you to install.

Your best hope would be to install Windows normally, install the third party drivers (or your own driver), then create a .zip archive of the installation from a live-cd, boot into a Gparted live-cd, apply a new filesystem to the OS partition (eg: ext2), and then use a live-cd to restore the .zip contents to the partition.

3

Yes. Try Quibble

Quibble is the custom Windows bootloader - an open-source reimplementation of the files bootmgfw.efi and winload.efi, able to boot every version of Windows from XP to Windows 10 2009. Unlike the official bootloader, it is extensible, allowing you to boot from other filesystems than just NTFS.

You still have to install to NTFS first before converting to a different file system because it's just the bootloader that was changed, the Windows installer isn't modified at all. But if you have an alternative installer then you can install directly without crossing through NTFS at all

This is only a proof of concept at this stage - don't use this for anything serious.

Screenshot of Windows 10 1909 running on Btrfs:

Windows on Btrfs screenshot

phuclv
  • 30,396
  • 15
  • 136
  • 260
1

Preamble: Sorry to revive a dead question, but it happens to be one of the first few results on google so I feel adding some valuable information to it will be beneficial.

Answer: Technically speaking, it's entirely possible and wouldn't be that hard to implement, but do keep in mind it will not work nearly as it will on Linux. The reason for this is that the extension-4 file-system is built into the kernel of Linux where very special, low-level features are implemented. This includes performance enhancing features such as read-ahead, how Linux handles fragmentation, etc. If I'm not mistaken, Windows NTFS file-system is isolated to it's own driver, meaning that things like fragmentation is handled in that driver. If this is true then the Linux style of fragmentation (it's actually not the "Linux Style". It's the "ext4 Style," but it's implemented in the Linux kernel itself) and the extension-4 file-system could easily be implemented in Windows. You may even be able to port the Linux driver for ext-4 directly to Windows if you changed some basic system calls and kernel-interaction logic (while the ext-4 driver implemented in the kernel, it is a separate module all together. Look up how the Linux kernel is built if you don't understand).

Now certain features, such as read-ahead, are built into the Linux kernel and may be near impossible to implement in Windows without somehow managing to modify the Windows kernel. And as for loading the driver when you install windows: when you go to select the disk you're installing on you can add additional drivers from a usb flash-drive. The hard part would be tricking Windows into not formatting the drive as NTFS first. If this can't be done then it's not an entirely unworldly idea to make a custom windows installer.