Jump to content











- - - - -

Boot Windows 10 from logical partition on MBR, without separate System Reserved/boot volume?


  • Please log in to reply
2 replies to this topic

#1 Guest_AnonVendetta_*

Guest_AnonVendetta_*
  • Guests

Posted 02 May 2019 - 01:23 AM

OK, so to clarify, I know it's possible to boot Windows from a logical partition, I've did it before. And even though I've specified W10, it's only because that is what I use and is the only Windows that my hardware officially supports, this issue really can apply to any recent-ish Windows version.

 

But anyway, I have a 3 disk setup, 2 are MBR, the 3rd is GPT (it's not over 2TB, but I am testing OS X and FreeBSD, the most recent versions of those OSes prefer UEFI/GPT). The first 2 are SSDs and contain Windows/Linuxes as OSes. The 3rd is an HDD and contains 2 OSes, but is mostly non-boot able data partitions (i.e. /home partitions for Linuxes, games, etc).

 

I prefer to boot Windows and the Linuxes on legacy MBR, since it compatible with more tools, bootloaders, etc. So, to anyone that wants to suggest that I just install Windows as UEFI.....no. Don't bother.

 

The biggest issue with MBR is the partition limit, either 3 primaries and an extended containing logicals, or just 4 primaries. My setup must include an extended because of the # of separate compartmentalized partitions I have a need for. I'm finding myself squeezing as many partitions into logicals as possible, reserving the other primaries only for the purposes they are really needed for. I'm just trying to partition smartly and make the most optimized use of MBR's partitioning requirement. I figure if I can force Windows to live in a logical without issues, that is one more primary slot freed up.

 

We all know that Windows preferred to be installed on a primary. But this is just a stupid artificial MS thing that they insist on. It is not necessary, Linux lives perfectly happily on logicals, even a separate boot partition doesnt need to be primary, as long as the boot code can find it, it doesn't care.

 

And.....the issue:

 

I can chainload the W10 logical from GRUBDOS, no issue. But since Windows wants its' volume to be active/bootable, and it currently isnt, I can't do things like hibernate, updates, msconfig/diskpart shows the W10 partition is a boot volume but not a system volume. Of course, easiest way is to let 10 have its' primary, then C drive will be both the system/boot/active volume. Or, 10 (the OS files) on a logical as the boot volume, and the boot files on a small primary System Reserved. But the SR partition is so small, I do not feel it is deserving of a primary slot, not when I am booting lots of alternative OSes.

 

Then there is the possible issue of my encryption solution not being happy about there being a boot volume but no system volume.

 

I can use dism/imagex to install the OS, and then bcdboot to install boot files to the same logical. Then I can mark it as active with GParted, which doesn't have diskpart's limitation of a logical not being able to be marked as bootable. But I am not sure if Windows will fully function with this arrangement. Does the setup I want have any other potential downsides I should know about (things that won't work)?. Or, is there a better way to approach this that I'm missing (boot files in a VHD, WIM, ramdisk partition, etc)? I may consider UEFI on MBR, or hybrid MBR, but those will be considered last. UEFI on MBR works fine on my firmware, not sure about hybrid MBR since I have never tried it. want to run lots of tests in a VM to try out different scenarios before I commit to anything.

 

And...an unrelated question:

 

Is it possible to chainload a UEFI bootloader, without rebooting, from a legacy bootloader like G4D? Or vice versa? If not, why? And without UEFI emulation such as Clover or vice versa? It doesn't kill me to hit F7 at boot to select the GPT disk, but it's an extra step.

 

Edit: Oh, one more thing, I'm not running Apple hardware. It is a Sager gaming laptop, with OS X installed from a official Apple Store DMG converted to bootable ISO, with the install media booted from an iODD. I just had to install some kernel extensions, NVIDIA driver, and the Clover bootloader to get it working. Disk is standard GPT created from GParted, with a FAT32 EFI system partition shared with FreeBSD. Just wanted to be sure that people don't think I'm using Apple hardware.



#2 Guest_AnonVendetta_*

Guest_AnonVendetta_*
  • Guests

Posted 02 May 2019 - 06:31 AM

No such luck with a VirtualBox test. My steps:

 

Create virtual disk, fixed size

Create extended partition that spans the entirety of the disk

created 2 logicals in the extended, first is 10 and marked as bootable, 2nd is 512MB partition for Grub4Dos.

Install 10 to first partition with imagex, install boot files to same partition with bcdboot, install default Windows boot code to MBR with bootrec /fixmbr. bootrec /fixboot command fails

Install G4D boot code to MBR, with a simple menu.lst to chainload bootmgr in the C drive

Windows boots and sets up just fine. msconfig properly displays the OS, diskmgmt shows C drive as both Boot, System, logical, active

Install BestCrypt Volume, encrypt C drive, no complaints. Upon reboot BCVE asks password, then chainloads G4d, at which point the system BSODs with "inaccessible boot volume" or similar. BCVE has no issue encrypting logicals.

 

I did not get to test updates, I'm going to give it another go with VMware Workstation. I have had more success with that in the past when testing.



#3 Guest_AnonVendetta_*

Guest_AnonVendetta_*
  • Guests

Posted 02 May 2019 - 08:54 AM

After running a quick test in VMware, I had the issue that BestCrypt Volume would not start after I installed it. Not sure why. So, I took an external drive, swapped it into an internal SATA port, and installed 10 to that. With the same setup as before, 10 does boot fine, either encrypted or unencryted. BCVE loader hands off to G4D and then G4D chainloads bootmgr. I need G4D in this scenario because default Windows MBR boot code is too stupid to just find the bootmgr and load it. I'll just assume that the inaccessible boot volume thing was a VM-specific thing, since it doesn't happen on real hardware.

 

Also found out that hibernation does work, with a caveat. When the machine powers off, when I turn it back on it goes straight to "Resuming from hibernation", and I can't intercept it with any key no matter how fast I am. So I get an error about there not being an OS installed. But if I power off and reboot I can intercept with F7, type password, Windows loads normally and resumes from hibernation. Same windows and programs are open when I log in, so I know it worked. Maybe I'll try disabling Fast Boot but leaving hibernation enabled to see if I get different results. Worst case is I just dispense with hibernation entirely, not so bad.

 

I'm letting Windows do its' auto-updates, just to see if any will fail. I normally wouldn't do so, opting only for manually installed security updates, but I have to know the results. I started with a Windows 10 Pro RTM MSDN ISO (i.e. the first official releases), from at least several years ago, with no modifications. I'm just thinking that maybe any updates that change the boot files might fail, since it expects either a System Reserved partition, or for C drive to be primary. It is not expecting for Windows to be on a logical with no System Reserved, and for that logical to be marked bootable by alternate means. I'm also going to test whether Modern apps work and update as expected. As well as my OEM drivers.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users