Is it possible to install Windows on an unsupported filesystem?

6,217

Solution 1

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.

Solution 2

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

Solution 3

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.

Share:
6,217

Related videos on Youtube

Mateusz Drost
Author by

Mateusz Drost

Updated on September 18, 2022

Comments

  • Mateusz Drost
    Mateusz Drost over 1 year

    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?

    • Ramhound
      Ramhound over 9 years
      No; it's not...
    • Mateusz Drost
      Mateusz Drost over 9 years
      Why? Without Microsoft support it will be never possible to install Windows for example on ext4?
    • NullBit
      NullBit over 9 years
      Drivers do not control what file system an Operating System can be installed on.
    • Ramhound
      Ramhound over 9 years
      Because the Windows installer does not have support for ext4, has no concept of it, and while you can configure the installer, you won't be able to modify the installer so the system disk itself will be ext4. Feel free to write a ext4 driver and use it as a data drive it just can't be a system disk.
    • Zoredache
      Zoredache over 9 years
      Just to be clear are you asking if it is possible to modify the stock installer to install to your filesystem, or you asking if you could get Windows to boot from your FS? If the later, then you could possibly use some tool you create to extract the Windows source from the WIM file (like imagex).
    • Mateusz Drost
      Mateusz Drost over 9 years
      Boot. For me 'install' even mean "copy existing Windows from ntfs to your filesystem and modify some files".
    • JW0914
      JW0914 about 3 years
      It's likely impossible at this specific time, and if by someone managed it, whole portions of the OS would likely be broken since NTFS has been the default filesystem since XP, with tools like chkdsk only supporting NTFS and FAT variants. Considering Microsoft's 180 on Linux with Nadella at the helm, it's possible Windows will eventually support Linux filesystem variants, but it likely wouldn't occur for years as significant parts of the OS would need to be re-engineered. ext variants can be used for non-OS partitions via paragon.
  • Alexander C. Solon
    Alexander C. Solon about 8 years
    I don't currently have the reputation to comment on other peoples answers quite yet, so I'm going to leave this as almost a foot note to my answer. If you read Matt's post on Windows having expectations to be installed on FAT, FAT32, or NTFS, it is entirely true and correct. That would be one of the many hurdles of implementing the Ext-4 file-system. You would almost have to write a separate interface between the Ext-4 driver and the Windows kernel. But if you could get it to be on par with the speed of the NTFS driver then the fragmentation improvements (or rather no fragmentation) is worthit
  • Alexander C. Solon
    Alexander C. Solon about 8 years
    Actually one part of Matt's answer was incorrect. Ubuntu could be installed on an NTFS partition, but you would most-likely have to recompile the kernel with the necessary modules. The fact you can do this attests to the gracefulness of an open-source operating system.
  • psusi
    psusi about 7 years
    Windows has its own read-ahead.. this is handled by the filesystem cache layer, not the filesystem driver layer. Also Linux can not be installed on an NTFS partition per se as it requires unix filesystem semantics. The best you can do is host an ext4 or other unix filesystem inside a loopback file on an NTFS partition.
  • phuclv
    phuclv about 3 years
    @psusi NTFS is fully POSIX compliant because Windows NT already has a POSIX subsystem and MS must store POSIX filenames and permissions on NTFS. ntfs-3g can also do that so it's actually possible to install Linux directly on NTFS without an image
  • psusi
    psusi about 3 years
    @phuclv, I suppose it is possible these days, though I can't think of any reason why you would want to. Also I wonder what windows would do if you had two files that only differed in case, which is allowed by posix, but not Windows.
  • psusi
    psusi about 3 years
    The main reason why you can't install Windows on unsupported filesystems is because the Windows boot loader doesn't understand those filesystems and it isn't possible to boot the Windows kernel using, for example, GRUB ( other than by chain loading the Windows boot loader to actually do it ).
  • phuclv
    phuclv about 3 years
    @psusi it has always been possible to store POSIX filenames because NTFS was designed for that since the beginning, as Windows NT had to include POSIX subsystem due to US federal government requirements in the '80s. If you have 2 files with the same case-insensitive name then win32 apps can only access one of those files What happens with the case sensitive directories and files in an NTFS partition under Windows?