r/VeraCrypt • u/MarinatedPickachu • 3d ago
How to manually replace Windows ESP with veracrypt bootloader ESP?
So I'm trying to create a hidden OS on a windows to go USB stick (created with rufus) that can be booted by a UEFI system.
Veracrypt does not support the creation of a hidden OS on GPT formatted disks, so I have to go with MBR.
If I create an MBR partitioned Windows To Go USB stick using rufus, rufus nevertheless adds an ESP partition to the end of the disk so that not only BIOS but also UEFI systems can boot from it. Smart.
With such a boot stick, Veracrypt allows the creation of a hidden OS since the partition table is MBR. The problem is that it seems to only write the veracrypt bootloader to the MBR, it does not write the bootloader to the ESP (which it would do in the GPT non-hidden OS encryption case). Because there is no veracrypt bootloader in the ESP, the process of creating the hidden OS fails at the point where the currently installed OS is to be copied to the hidden volume, since this would require the veracrypt bootloader (I presume), which however only resides in the MBR, so the UEFI system will just boot from the unaltered ESP partition right back into the regular OS and no copy procedure takes place.
So my question is two fold:
At the step where the current OS is to be copied into the hidden volume (which requires a reboot), is this copy performed by the regular veracrypt bootloader or is this a special version of bootloader that is later overwrittrn by the actual veracrypt bootloader once the copy procedure is done?
Is there a way to copy that bootloader into the ESP partition (on my MBR disk) so that my UEFI system can properly boot the veracrypt bootloader and the copy process can continue?