Jump to content











Photo
- - - - -

Boot VHD(X) files from exFAT partitions

vhd(x) fat exfat

  • Please log in to reply
8 replies to this topic

#1 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 20 August 2020 - 08:02 AM

I just saw 2 post on WinNTSetup page about VHD(X) files in FAT/exFAT partitions, and wanted to share with you:

 

From:  https://msfn.org/boa...comment=1186155

 

I successfully installed and booted Windows on the exFAT partition many years ago. I was the first to study the exFAT file system boot.

 

This is a detailed installation tutorial I wrote in Simplified Chinese (because I am from China)
http://bbs.wuyou.net...88226&mobile=no

 

From: https://msfn.org/boa...comment=1186156

 

Microsoft has already supported the use of VHD(X) files in FAT/exFAT partitions in versions after Windows 10 v1809.

 

For booting in exFAT+VHD(X) mode, please refer to: http://bbs.wuyou.net...14354&mobile=no

 

Haven't tested this but the author of both posts claims he has done it since long time ago and provide links to his test and instructions.

 

alacran



#2 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 20 August 2020 - 08:07 PM

Contrary to first thing we can think about this, a VHD file is not capable to boot from a exFAT partition even on new 10 versions. As I tested creating a exFAT partition on my internal HD and copying there a previously made 10x64-19H1.vhd NTFS formated.

 

After reading the links on first post I understood better the proposed procedure:

 

1.- To boot a VHD from a exFAT partition the VHD has to be exFAT formated too.

 

2.- To create an install on a exFAT formated VHD, first make an standard install on a NTFS formated VHD and boot it and install your prefered software, then capture it to a WIM or ESD image file, and latter apply it to a new exFAT formated VHD.

 

3.- It is better to iniciate as MBR your VHD, but UEFI booting is also possible, VHD has to be active and PBR requires botmanager.  He also suggest exFAT format with cluster size 4K (not the standard exFAT cluster of 32K).

 

4.- Booting process is very slow on x64, but there are links to download a modded exFAT driver to make the booting pocess faster. he also suggest to use a SSD device not mechanical HD. But also said after booting speed should be as usuall.

 

5.- He also says it is a few faster if installed directly on the root of the exFAT partition and not on a VHD.

 

TESTING:

 

To test this I created a logical 16 GB NTFS partition, and latter reformated it as exFAT with cluster size 4K with PartitionGuru, on my internal HDD and deployed there my 10x64-19H1 WIM image using wimlib-clc (wimlib-imagex GUI). NO pagefile or hiberfile. Used size was 12GB (it was before 7.71 GB used size on a normal install on NTFS formated VHD). After this created the BCD entry with BootIce and rebooted to the new install.

 

NOTE: I couldn't download the exFAT driver for 10x64 from the links, to improve the booting speed.

 

Booting process was too slow and I got tired of waiting and just terminated it, and reformated the drive as NTFS.  Maybe as ZhuMa said on an SSD could be faster, but on a HDD it is unusable and I don't have at the moment an spare SSD to try it.

 

As booting from a exFAT formated VHD located on a exFAT partition will be even slowler, I didn't test this approach.

 

EDIT: See new info on post No. 5

 

alacran


  • wimb likes this

#3 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 20 August 2020 - 08:22 PM

Wonko asked on MSFN forum: https://msfn.org/boa...comment=1186235

 

can you list what you observed/which usage cases exFAT would be suited for?

 

And this was the answer: https://msfn.org/boa...comment=1186247

 

Some advantages of installing and booting Windows system in exFAT partition:
Optimize volume bitmap management and page block allocation to improve the read and write speed of flash storage media
No volume log records, reducing the number of flash memory read and write operations to extend its service life
The non-authority management mechanism defaults to the highest authority, and management system files no longer report insufficient authority errors
Windows To Go cooperates with platforms such as Mac and Linux to have stronger interaction capabilities and wider compatibility
Allows to allocate larger clusters to improve IO performance
Support TFAT protection mechanism (Win8 only)
Support ECC checksum (metadata only)

 

EDIT: See new info on post No. 5

 

alacran


Edited by alacran, 22 August 2020 - 01:14 AM.

  • wimb likes this

#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 21 August 2020 - 08:33 AM

Well, you should rename your post in NOT-TESTING as you initiated a test, and didn't bring it to any result.

 

 

 

TESTING:

 

To test this I created a logical 16 GB NTFS partition, and latter reformated it as exFAT with sector size 4K with PartitionGuru, on my internal HDD and deployed there my 10x64-19H1 WIM image using wimlib-clc (wimlib-imagex GUI). NO pagefile or hiberfile. Used size was 12GB (it was before 7.71 GB used size on a normal install on NTFS formated VHD). After this created the BCD entry with BootIce and rebooted to the new install.

 

Booting process was too slow and I got tired of waiting and just terminated it, and reformated the drive as NTFS.  Maybe as the guy said on an SSD could be faster, but on a HDD it is unusable and I don't have at the moment an spare SSD to try it.
 

 

As a matter of fact, I personally find your "conclusion":

 

 

But IMHO after testing the procedure I can say:
 
  • This is only a curiosity and boots so slow it is useless.

 

not only technically/scientificaly not justified, but border line with offensive and unrespectful to the good and hard work Zhuma did and was so kind as to share with us.

 

Having the 4KB cluster (NOT sector) size in exFAT puts it on par with NTFS (that also normally gets cluster size 4KB), this seems logical.

 

Most probably during first boot a number of things need to be self-adjusted by the OS, but it is also possible (due to the complexity of the procedure) that simply *something* went wrong, very likely the (well documented) issue with the exFAT driver signature:
https://translate.go...tysAVQ0ENFTYWdw

 

 

When the exFAT driver added the built-in digital signature and tested the 64-bit system, the startup time of the 64-bit system was shortened from the original few hours to the same ten seconds as the 32-bit system. The problem was solved successfully!

 

I don't see - at face value - any reason (set apart the above and the "on VHD" way) why an exFAT volume should be much slower than a NTFS one (even if most probably the good MS guys have optimised NTFS booting sequence), at least during my (old, quick and dirty) windows 7 on FAT32 experiment I didn't notice any particular increased slowness of the system.

 

The increased amount of disk space occupied should be corresponding to the "duplication" of the (NTFS only) hard links.

 

IMNSHO the tests should be repeated (and completed) before deriving any conclusion, in any case it would be easier to test the 32 bit version(s) as they don't need the replacement of the exFAT driver.

 

:duff:

Wonko



#5 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 22 August 2020 - 01:10 AM

Yes, you are right, that comment was very disrespectful to ZhuMa the author of the procedure. I deleted it, and I apologize for the comment.

 

I assume on my previous test booting 10x64-19H1 deployed on a exFAT drive, it was very slow because I couldn't download his modded exFAT driver for 10x64 from the links.

 

I tested booting 10x86-19H1 applied on a exFAT drive, and it boots fine at usuall speed. NO pagefile or hiberfile. Used size is 9.65GB, it was before 5.70 GB used size on a normal install on NTFS formated drive, as Wonko said diference in size is because exFAT do not alow the use of hardlinks and/or softlinks, then all files are full size files.

 

After testing more extensively the procedure I can say:

 

Win10x86 boots fine at usual speed. No need for a special exFAT driver.

 

Without the modded exFAT driver for 10x64 to improve the booting speed, Win10x64 boots so slow it is useless.

 

But using the ZhuMa's modded exFAT x64 driver, Win10x64 boots fine.

 

See: https://msfn.org/boa...comment=1186353

 

I just copied it to: Windows\System32\drivers replacing the previous exfat.sys and the OS booted fine.

 

Win10 2004 DOES NOT require the modded driver to boot fine.

 

I edited my previous posts with a link to this new info, to avoid confusion for future readers.

 

 

alacran



#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 August 2020 - 08:26 AM

Very good :).

 

Now back to the reasons why.

 

Having no issue with file permissions/access and having it flat-flat (and on a filesystem that is more "friendly" to solid state storage) seems to me very valid points.

 

Surely it is not a universal solution, but it may have its uses.

 

On the original thread on bbs.wuyou there are also a couple hints about booting from a read only filesystem, that could be another avenue of experiments. 

 

And now, I will throw this on the table (and quickly hide my hand behind my back):

What about UDF?

 

https://en.wikipedia...sal_Disk_Format

 

Up to XP UDF was an older version and read only, but starting with 7 version 2.50 R/W should be supported just fine, yet it seems loke noone makes experiments with it.

 

Old experiment/report:

https://web.archive....portable-disks/

https://web.archive....s/udf-harddisk/

Perl script:
https://web.archive....2/udfhd.pl_.txt

 

 

:duff:

Wonko



#7 ZhuMa

ZhuMa
  • Members
  • 2 posts
  •  
    China

Posted 28 August 2020 - 08:25 AM

To boot Windows from exFAT volume, please install the system in the root directory of the partition as much as possible. It is not recommended to boot VHD(X) from the exFAT partition unless it is particularly necessary. Microsoft's Windows Boot Manager and OS Loader are extremely poorly optimized for exFAT boot. Installation Booting into VHD(X) requires not only reading the VHD(X) file but also parsing the system files inside, so traversing the file system multiple times will cause the operating system to boot very slowly.



#8 ZhuMa

ZhuMa
  • Members
  • 2 posts
  •  
    China

Posted 28 August 2020 - 08:26 AM

Very good :).

 

Now back to the reasons why.

 

Having no issue with file permissions/access and having it flat-flat (and on a filesystem that is more "friendly" to solid state storage) seems to me very valid points.

 

Surely it is not a universal solution, but it may have its uses.

 

On the original thread on bbs.wuyou there are also a couple hints about booting from a read only filesystem, that could be another avenue of experiments. 

 

And now, I will throw this on the table (and quickly hide my hand behind my back):

What about UDF?

 

https://en.wikipedia...sal_Disk_Format

 

Up to XP UDF was an older version and read only, but starting with 7 version 2.50 R/W should be supported just fine, yet it seems loke noone makes experiments with it.

 

Old experiment/report:

https://web.archive....portable-disks/

https://web.archive....s/udf-harddisk/

Perl script:
https://web.archive....2/udfhd.pl_.txt

 

 

:duff:

Wonko

I have successfully implemented running Windows systems on UDF and ReFS partitions, but for the time being only supports running Windows Preinstallation Environment.
http://bbs.wuyou.net...21466&mobile=no
The problem is that running Windows PE on UDF and ReFS partitions has some limitations and no advantages. It is better to use exFAT.



#9 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 28 August 2020 - 01:27 PM

I have successfully implemented running Windows systems on UDF and ReFS partitions, but for the time being only supports running Windows Preinstallation Environment.
http://bbs.wuyou.net...21466&mobile=no
The problem is that running Windows PE on UDF and ReFS partitions has some limitations and no advantages. It is better to use exFAT.

Thanks for the link, very interesting.

 

A couple of small pieces of info, JFYI.

 

The 3 MB NTFS boot.sdi can be reduced (since years) to a 300 KB  :

https://msfn.org/boa...ize-of-bootsdi/

https://github.com/jschicht/Tiny_NTFS

still not as good as the 28 KB for exFAT, but comparing to the original 3 MB is not fair.

 

 

The usage of BootFlags to promote driver loading in cae of needs is - strangely enough - documented by MS:

https://docs.microso...iver-load-order

0x80 or 128 is (CM_SERVICE_WINPE_BOOT_LOAD).

 

 

 

:duff:

Wonko





Also tagged with one or more of these keywords: vhd(x), fat, exfat

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users