Dual booting Windows RT and RT 8.1

Search This thread

xsoliman3

Senior Member
Jan 25, 2012
113
34
Dual booting Windows RT and RT 8.1 (almost)


I was original working on dual booting RT from internal flash and from SD card
by adding extra entries in the bcd store and a ‘copy’ of windows on the SD card

Note it actually still boots from the system partition on the internal flash but tries to boot an alternate Windows installation from \windows on the SD card

http://xdaforums.com/showthread.php?t=2343101


But now moved on to dual booting Windows RT and RT 8.1 (both from internal flash)
and almost have it working


Installing the RT 8.1 Preview saves the old OS in \windows.old\windows
Or rather saves most of it, but not all

So you need to pre-save much of the original \windows elsewhere, using the recovery environment, BEFORE installing 8.1
as certain important bits seem to get stripped out of windows.old

Then use the same technique of adding entries to the bcd store to allow the system to boot from \windows.old\windows

It wont be perfect as it will pick up certain hard coded \windows stuff and also will pick up the wrong \Program Files
but should be just about usable, especially in desktop mode which is the reason for keeping the original OS

It does boot, but doesn’t pick up the Start screen properly, so need further work on that


Could do it properly if we shrank the C: volume and set up a new dedicated volume for the alternate OS


Original RT
Use recovery environment to make a copy of
\windows\system32\*
\windows\system32\config\*
\windows\system32\drivers\*

Would be easier to copy \windows /s but then get a bloated mess due to the WinSxS hardlinks

Install 8.1 Preview

copy the copied data over the top of \windows.old\windows
will be lots of access denied for files already there
but will copy the important missing files
including the registry hives, ntoskrnl.exe, winload.efi [need the old winload.efi as the new one wont accept the signature of the old ntoskrnl etc]

Suspend bitlocker (if in use)
manage-bde -protectors -disable c:

bcdedit /copy {current} /d "Windows RT 8.0 hack”
note the new guid
bcdedit /set {guid} recoveryenabled no
bcdedit /set {guid} path \windows.old\windows\system32\winload.exe
bcdedit /set {guid} systemroot \windows.old\windows

Restart (or shift restart)

Select the Windows RT 8.0 hack

The original RT OS boots but no Start screen
but is running and a dot will follow your finger

Need to modify the windows.old registry and fix up something

To be investigated



Can also test and develop this with Windows 8.1 Intel on a PC
That also doesn’t get the full Start screen on the hacked (barstardised) alternate boot back to 8.0


Also best to rename \windows.old to something else, as \windows.old gets removed after a few days
 
Last edited:

xsoliman3

Senior Member
Jan 25, 2012
113
34
Note, this is a hack

The correct method would be to set up seperate OS partition on the internal flash drive
(but a bit small to do that)

Or to get the alternate OS to boot from SD card
 

xsoliman3

Senior Member
Jan 25, 2012
113
34
Also as mentioned in the 8.1 jailbreak thread, RT 8.1 wont run RT 8.0 OS binaries or office binaries
(due to the new and more restrictive signatures needed by RT 8.1)
 
Last edited:

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
You can create a VHD and extract recovery WIM there to get a complete copy of OS. Earlier I've played with that with success.
One note: you can't use the recovery to restore the original "main" windows while BCD has an VHD entry - it fails with an undescriptive error.
 
  • Like
Reactions: HDeVries

windowsrtc

Senior Member
Nov 21, 2012
94
35
My windows8.1 recovery file is .esd not .wim.So I must install windows8.1 first then make a windows8.0 vhd?And microsoft says windows rt cant boot from VHD.
 

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
My windows8.1 recovery file is .esd not .wim.So I must install windows8.1 first then make a windows8.0 vhd?And microsoft says windows rt cant boot from VHD.

Yes, just take WIM from the recovery partition of 8.0, extract it to VHD, then upgrade to 8.1
I was playing with the windows PE - it could boot from VHD. So I assume that "big" RT would boot too, but had no mood to finish tests.
 
Last edited:

Myriachan

Senior Member
Feb 11, 2013
117
175
Enjoy this while you can, because I suspect that the Windows 8.1 final release will include a firmware update that locks out booting 8.0 forever on your device.

Also, disable Windows Update or change it to manual mode, on both 8.0 and 8.1!! I think Microsoft will release RT 8.1 as a free upgrade that is forced upon 8.0 by being labeled an important Windows update.
 

windowsrtc

Senior Member
Nov 21, 2012
94
35
I think I am strong enough to return my surface to microsoft and get my money back if microsoft block my windows 8.0.And then I will say goodbye to any windows rt device.
 

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
.. I suspect that the Windows 8.1 final release will include a firmware update that locks out booting 8.0 forever on your device.

Definitely not, at least not immediately after the 8.1 official release. As this would cause lots of complains and support calls from people not being able to use the recovery USB disks in the case if the upgrade process goes wrong or if they'd like to return to backup.
 

Myriachan

Senior Member
Feb 11, 2013
117
175
Definitely not, at least not immediately after the 8.1 official release. As this would cause lots of complains and support calls from people not being able to use the recovery USB disks in the case if the upgrade process goes wrong or if they'd like to return to backup.

Microsoft is copying Apple--that is the whole reason Windows 8 exists--and Apple is even worse than this, giving Microsoft plenty of precedent. On iPads, not only can you not downgrade after you upgrade, you can't even do a restore to your current version. If your iOS device is corrupted, you have to upgrade to the newest version.

Apple's enforcement of this mechanism is that during the reflash operation, the boot ROM generates a random challenge that needs to be answered by Apple's servers with public-key cryptography. Therefore, you can never flash a version of the OS to your device unless Apple is authorizing that version at that particular moment.

I don't think that Microsoft will add a phone-home requirement to restores like Apple does, but I think that they will lock out the old version.
 
Last edited:

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
Apple does not officially allow you to make a backup copy of your OS including all your data to a bootable USB. So they don't need to care about user-made backups. While MS recommends doing this before upgrade - so they'd need to support a downgrade path.

Anyway we see one improvement in Win8 development infrastructure. MS have published the whole Windows 8.1 RT WDK (a driver-maker kit), including all import libraries for usermode apps. So you can create a driver for WinRT or a normal desktop app without old hacks with manual import-library creation (of cause you'll need a working "jailbreak" or a development device). Have they done this as a mistake or intentionally - I don't know, but anyway go and grab your copy :)
 
Last edited:
  • Like
Reactions: farafr

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
My windows8.1 recovery file is .esd not .wim.So I must install windows8.1 first then make a windows8.0 vhd?And microsoft says windows rt cant boot from VHD.

ESD file is an encrypted WIM file. The 8.1 upgrade process has trashed the recovery partition upgrading it to 8.1
Today I'll try to revert to 8.0 (fortunately I've made a recovery USB before upgrade), then try to make an 8.1 VHD to use it in parallel with 8.0.
I'll publish instructions when (or if) I'll succeed.

And yes, seems that 8.1 stopped to support booting from VHD. At least I was unable to do this from the first attempt. But I had success with VHD in 8.0, so I'll start from reverting to it.
 

mamaich

Retired Recognized Developer
Apr 29, 2004
1,150
228
mamaich-eng.blogspot.ru
Here is a simple method of having both 8.0 and 8.1 on the same device. You'll need a 64Gb device.
I've decided not to play with VHD any more and just added the another partition.

So here is what to do (do everything in a running Windows 8.0, not in a command line mode):
1. manage-bde -protectors -disable c:
2. Shrink your OS partition from disk manager GUI leaving about 20 Gb free space.
3. Create new partition over the free space, format it to NTFS, add a drive letter, say, F:
4. Obtain image.wim from your recovery USB or from a recovery partition and do:
Dism /apply-image /imagefile:full-path-to-your-backup-install.wim /index:1 /ApplyDir:F:\
5. Add the needed entries to boot-menu:
bcdedit /copy {current} /d "Windows RT 8.0 copy”
bcdedit /set {guid} device partition=F:
bcdedit /set {guid} osdevice partition=F:
bcdedit /timeout 5
6. Reboot
Select the second OS - you'll see that it boots, but you'll get an error. This is due to the wrong drive letter assignments. Your backup image "knows" that the first partition has drive letter C:, while now this letter should be assigned to the second one. It is easy to fix this, read this article: http://support.microsoft.com/kb/223188. Just boot to a command line environment, run regedit, select HKEY_USERS, use "load hive" menu to load "\Windows\System32\config\SYSTEM" from the second partition (when asked how to name the key - type any name you like), then rename "\DosDevices\C:" to "\DosDevices\Z:" and "\DosDevices\D:" to "\DosDevices\C:" (they are located in HKEY_USERS\your-loaded-key\MountedDevices). Unload hive, reboot - and everything would be fine.

You'll have two OSes, I'd recommend to upgrade the one located on the first partition to 8.1 and leave the newly created one as 8.0, so later, when you'd decide to stay on 8.1 you'd just would need to delete a second partition and expand the 8.1 over the remaining space.

Usual note: be careful when playing with the partitions and registry. As you can't kill the device even by deleting all the partitions (you can always boot from usb and recover them manually) - the recovery process is rather complex for the ordinary user.
 
Last edited:

emielch

New member
Aug 12, 2009
2
0
Here is a simple method of having both 8.0 and 8.1 on the same device. You'll need a 64Gb device.
I've decided not to play with VHD any more and just added the another partition.
...

Thanks! That worked perfectly, even on my 32Gb Surface RT. :laugh:
I only had to tweak the 5th step a bit; on the second and the third line I had to change "{guid}" to "{current}" if I remember correctly.
But afterwards I didn't even get the error you spoke about, the dual boot worked directly.

I also enabled the classic boot menu with "bcdedit /set {default} bootmenupolicy legacy", as the new one first boots and then lets you choose, which can be time consuming.
The problem with this legacy bootloader on the surface rt is that the touchcover doesn't work, you can select a OS with the volume buttons of the tablet, but you can't press enter.
It works with an usb keyboard, but It would be nice if the touchcover would work.
 

BIade

Senior Member
Apr 11, 2013
693
545
Cologne
Hey mates!
I wanted to try out 8.1 final with dual boot on my 64GB surface RT. Are there any updates on this topic?
I would take the instructions from @mamaich and wanted to know if we can use the touch cover to select the OS by now?

If not, we could create 2 scripts for changing the default OS.
1) Placed on 8.0 Desktop: Switch default OS to 8.1 and reboot
2) Placed on 8.1 Desktop: Switch default OS to 8.0 and reboot

Cheers
Blade
 

BIade

Senior Member
Apr 11, 2013
693
545
Cologne
So far so good. I got dual-boot 8.0 and 8.1.

... then rename "\DosDevices\C:" to "\DosDevices\Z:" and "\DosDevices\D:" to "\DosDevices\C:"...
I did not have to do this step. Doesnt matter which Windows i load, it sets the active Windows Partition to C and the non active one to F or D :)
Here I am on my main sytem (Jailbroken RT 8)
Click to enlarge

Here I am on the newly created untouched System 8.1
Click to enlarge


And for {guid} in step 5 line 2 and 3 i inserted the ID given me in the Output of line 1...

For those who got Problems with shrinking the partition: deactivate Pagefile ;)
How to deactivate Pagefile:
  1. press search
  2. type in "advanced"
  3. press on "Settings"
  4. click on "View advanced System Settings"
  5. click on the tab called "Advanced"
  6. click on "Settings" in "Performance"-section
  7. click on "Advanced"-tab
  8. click on "Change" in "Virtual Memory" section
  9. untick "Automactically manage ..."
  10. set bullet-point to "No paging file"
  11. click on "Set"
  12. 3 times OK and then reboot
Don't Forget to set it back after resizing!!
 
Last edited:

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,933
Seattle
A quick warning: you'll probably want to re-enable paging after resizing the partitions. Most RT devices only have 2GB of RAM. Even with just web browsing, email, etc. you could end up hitting that if you're a heavy browser tab like me. Gaming, really big Excel spreadsheets, running desktop apps via jailbreak (why else keep 8.0 around?) and so on are much more likely to hit that limit. When apps hit the limit, and the OS can't increase the commitable memory because there's no paging file to back data swapped out of RAM, stuff will start crashing.
 
  • Like
Reactions: BIade

BIade

Senior Member
Apr 11, 2013
693
545
Cologne
Yes, ofc. I write a warning in my list (I thought it would be self-explaining). Thank you master.
btw I did it. Got dual-booting JB8.0 and RT8.1. everything works very nice. (Even though i used 2nd Partition for win8.1 with only 14,6GB, because I wanted to Keep my highly modified and customized winRT8.0)

For those who want a shortcut on the Desktop to get to advanced boot Options: download shortcut
Works in both 8.0 and 8.1, if C:\ is root path for each (see my last post)
This way you can set the timeout of your boot-menu to 0 and set the OS you are using mainly as Default. To Switch OS simply use the shortcut, OR: open Charms-bar - Settings - Power - hold SHIFT while clicking on restart
After that: [Could not take a screenshot]
use-another-operating-system-in-windows8.gif
 
Last edited:
  • Like
Reactions: hberntsen and Fasin

elspag

Member
May 21, 2012
25
6
Hello, everyone.
Tomorrow I will get a surface RT with windows 8.1 already. Is it possible to make the dual boot like this too?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Here is a simple method of having both 8.0 and 8.1 on the same device. You'll need a 64Gb device.
    I've decided not to play with VHD any more and just added the another partition.

    So here is what to do (do everything in a running Windows 8.0, not in a command line mode):
    1. manage-bde -protectors -disable c:
    2. Shrink your OS partition from disk manager GUI leaving about 20 Gb free space.
    3. Create new partition over the free space, format it to NTFS, add a drive letter, say, F:
    4. Obtain image.wim from your recovery USB or from a recovery partition and do:
    Dism /apply-image /imagefile:full-path-to-your-backup-install.wim /index:1 /ApplyDir:F:\
    5. Add the needed entries to boot-menu:
    bcdedit /copy {current} /d "Windows RT 8.0 copy”
    bcdedit /set {guid} device partition=F:
    bcdedit /set {guid} osdevice partition=F:
    bcdedit /timeout 5
    6. Reboot
    Select the second OS - you'll see that it boots, but you'll get an error. This is due to the wrong drive letter assignments. Your backup image "knows" that the first partition has drive letter C:, while now this letter should be assigned to the second one. It is easy to fix this, read this article: http://support.microsoft.com/kb/223188. Just boot to a command line environment, run regedit, select HKEY_USERS, use "load hive" menu to load "\Windows\System32\config\SYSTEM" from the second partition (when asked how to name the key - type any name you like), then rename "\DosDevices\C:" to "\DosDevices\Z:" and "\DosDevices\D:" to "\DosDevices\C:" (they are located in HKEY_USERS\your-loaded-key\MountedDevices). Unload hive, reboot - and everything would be fine.

    You'll have two OSes, I'd recommend to upgrade the one located on the first partition to 8.1 and leave the newly created one as 8.0, so later, when you'd decide to stay on 8.1 you'd just would need to delete a second partition and expand the 8.1 over the remaining space.

    Usual note: be careful when playing with the partitions and registry. As you can't kill the device even by deleting all the partitions (you can always boot from usb and recover them manually) - the recovery process is rather complex for the ordinary user.
    3
    This works great for getting both 8.0 and 8.1 on a device - I managed with a 12.3G partition for 8.1, which for the purpose of playing around with it, is more than enough. (I've got a 32G VivoTab RT, so disk space is already at a bit of a premium...)

    Of course, you might need to remove some stuff in order to free up the space for the upgrade - after installing 8.0 into the newly created partition and performing the updates (Windows started downloading them automatically, so the disk space was going to be used for a while anyway...) I ended up with about 2G free - not enough for the 8.1 upgrade. It helps to recover as much space as possible - otherwise, as I ended up with in one of the early tries to run the upgrade, it aborted with a message in the setup log about being out of space.

    Workarounds:
    * Make a restore USB stick and get rid of the recovery partition if you're on a 32G device. On a 64G device, I suspect it's less of an issue but it's still another 4G to play with for a second partition. Make sure you've got your install.wim file from that partition before getting rid of it - that's where your initial OS comes from and you'll need it for actually making the second copy of the OS.

    * Disable the paging file. You can (and should) turn it back on later, but for downloading & installing 8.1, it's not needed and occupies a fair chunk of space - the default configuration has Windows tending to use a paging file equal to the size of memory, so about 2G can be released by turning it off. The instructions are floating around elsewhere in this thread for doing this.

    * Uninstall all of the pre-installed applications. You can get these back later through the Windows Store if you want them, and they're all removed or replaced in the upgrade process anyway; this got me about 450M back.

    From your Start screen: every app that's there, uninstall it. You should be left with IE, Store, and Desktop. Make sure there aren't any hiding under "All Apps" as well.

    Once that's done, open powershell as an administrator and run:
    Get-AppXProvisionedPackage -Online | Remove-AppXProvisionedPackage -Online

    That command will completely remove all of the apps that came with the system. To verify, check (as an administrator) that C:\Program Files\WindowsApps contains only a directory "Deleted".

    * Uninstall Office RT.
    Again, this comes back in the upgrade, but removing it frees up about 2.5G of space for the upgrade.

    As an administrator:
    C:\Program Files\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe

    Uninstall all of the components of Office from there.

    * Get rid of the Windows Update cache.
    As administrator:
    rd /s C:\Windows\SoftwareDistribution

    It takes up a fair bit of space itself, the update files aren't necessary any longer (the cache will be nuked by the upgrade anyway).

    * Finally, run the Disk Cleanup utility and clear out everything. Theoretically, there shouldn't be much to cleanup here because most of the usage that it pulls up is the Windows Update cache, but it never hurts to get back every bit of space you can.

    At the end of that, there should be about 6G of free space available (on a 12G volume): the store won't install 8.1 unless there is at least 3.3G of free space after the download completes, and I found that for it to work, you need closer to 4G free.

    Once you've finished the upgrade:
    * Run Disk Cleanup again and get rid of the old Windows installation.
    * Turn back on your paging file.
    * If you want any of the apps that were provided with your system, check the Windows Store under "My Apps". They'll all be in the list.

    With everything said and done, on 8.1 for a few days, my 8.1 volume has 3G of space left on it.
    2
    Dual booting Windows RT and RT 8.1 (almost)


    I was original working on dual booting RT from internal flash and from SD card
    by adding extra entries in the bcd store and a ‘copy’ of windows on the SD card

    Note it actually still boots from the system partition on the internal flash but tries to boot an alternate Windows installation from \windows on the SD card

    http://xdaforums.com/showthread.php?t=2343101


    But now moved on to dual booting Windows RT and RT 8.1 (both from internal flash)
    and almost have it working


    Installing the RT 8.1 Preview saves the old OS in \windows.old\windows
    Or rather saves most of it, but not all

    So you need to pre-save much of the original \windows elsewhere, using the recovery environment, BEFORE installing 8.1
    as certain important bits seem to get stripped out of windows.old

    Then use the same technique of adding entries to the bcd store to allow the system to boot from \windows.old\windows

    It wont be perfect as it will pick up certain hard coded \windows stuff and also will pick up the wrong \Program Files
    but should be just about usable, especially in desktop mode which is the reason for keeping the original OS

    It does boot, but doesn’t pick up the Start screen properly, so need further work on that


    Could do it properly if we shrank the C: volume and set up a new dedicated volume for the alternate OS


    Original RT
    Use recovery environment to make a copy of
    \windows\system32\*
    \windows\system32\config\*
    \windows\system32\drivers\*

    Would be easier to copy \windows /s but then get a bloated mess due to the WinSxS hardlinks

    Install 8.1 Preview

    copy the copied data over the top of \windows.old\windows
    will be lots of access denied for files already there
    but will copy the important missing files
    including the registry hives, ntoskrnl.exe, winload.efi [need the old winload.efi as the new one wont accept the signature of the old ntoskrnl etc]

    Suspend bitlocker (if in use)
    manage-bde -protectors -disable c:

    bcdedit /copy {current} /d "Windows RT 8.0 hack”
    note the new guid
    bcdedit /set {guid} recoveryenabled no
    bcdedit /set {guid} path \windows.old\windows\system32\winload.exe
    bcdedit /set {guid} systemroot \windows.old\windows

    Restart (or shift restart)

    Select the Windows RT 8.0 hack

    The original RT OS boots but no Start screen
    but is running and a dot will follow your finger

    Need to modify the windows.old registry and fix up something

    To be investigated



    Can also test and develop this with Windows 8.1 Intel on a PC
    That also doesn’t get the full Start screen on the hacked (barstardised) alternate boot back to 8.0


    Also best to rename \windows.old to something else, as \windows.old gets removed after a few days
    2
    Also as mentioned in the 8.1 jailbreak thread, RT 8.1 wont run RT 8.0 OS binaries or office binaries
    (due to the new and more restrictive signatures needed by RT 8.1)
    2
    Yes, ofc. I write a warning in my list (I thought it would be self-explaining). Thank you master.
    btw I did it. Got dual-booting JB8.0 and RT8.1. everything works very nice. (Even though i used 2nd Partition for win8.1 with only 14,6GB, because I wanted to Keep my highly modified and customized winRT8.0)

    For those who want a shortcut on the Desktop to get to advanced boot Options: download shortcut
    Works in both 8.0 and 8.1, if C:\ is root path for each (see my last post)
    This way you can set the timeout of your boot-menu to 0 and set the OS you are using mainly as Default. To Switch OS simply use the shortcut, OR: open Charms-bar - Settings - Power - hold SHIFT while clicking on restart
    After that: [Could not take a screenshot]
    use-another-operating-system-in-windows8.gif