Tripredacus

Windows 8.1 creates 2nd Recovery Partition

5 posts in this topic

If you have a computer with Windows 8 that was installed by an OEM on a GPT disk, the Windows 8.1 update from the Store will create a second recovery partition! Alternatively, if your OS is installed on an MBR disk, the 2nd partition is not created. This second partition is seen as a 350MB Recovery partition. For example a standard deployment of Windows 8 on GPT with recovery partition and diskpart:

DISKPART> list part  Partition ###  Type              Size     Offset  -------------  ----------------  -------  -------  Partition 1    Recovery           300 MB  1024 KB  Partition 2    System             100 MB   301 MB  Partition 3    Reserved           128 MB   401 MB  Partition 4    Primary             50 GB   529 MB  Partition 5    Primary           5000 MB    50 GB

The above is outlined as:

Part 1 = WindowsRE (winre.wim)

Part 2 = BCD/boot file location

Part 3 = MSR

Part 4 = OS

Part 5 = Recovery Image (install.wim)

After the update to Windows 8.1, it will stick a new Recovery partition after the OS. Here is the new layout including details:

DISKPART> sel disk 0 Disk 0 is now the selected disk. DISKPART> list part   Partition ###  Type              Size     Offset  -------------  ----------------  -------  -------  Partition 1    Recovery           300 MB  1024 KB  Partition 2    System             100 MB   301 MB  Partition 3    Reserved           128 MB   401 MB  Partition 4    Primary             50 GB   529 MB  Partition 5    Recovery           350 MB    50 GB  Partition 6    Primary           5000 MB    51 GB DISKPART> sel part 1 Partition 1 is now the selected partition. DISKPART> detail part Partition 1Type    : de94bba4-06d1-4d40-a16a-bfd50179d6acHidden  : YesRequired: NoAttrib  : 0X8000000000000000Offset in Bytes: 1048576   Volume ###  Ltr  Label        Fs     Type        Size     Status     Info  ----------  ---  -----------  -----  ----------  -------  ---------  --------* Volume 3         Windows RE   NTFS   Partition    300 MB  Healthy    Hidden DISKPART> sel part 5 Partition 5 is now the selected partition. DISKPART> detail part Partition 5Type    : de94bba4-06d1-4d40-a16a-bfd50179d6acHidden  : YesRequired: YesAttrib  : 0X8000000000000001Offset in Bytes: 54401171456   Volume ###  Ltr  Label        Fs     Type        Size     Status     Info  ----------  ---  -----------  -----  ----------  -------  ---------  --------* Volume 5                      NTFS   Partition    350 MB  Healthy    Hidden

The update goes through a checklist when updating:

2013-10-25 09:41:16, Info                  SP         F Suspend bitlocker if needed2013-10-25 09:41:16, Info                  SP         S Boot WinPE2013-10-25 09:41:16, Info                  SP         S Prepare SafeOS for rollback2013-10-25 09:41:16, Info                  SP         S Set SafeOS boot entry as the default boot entry2013-10-25 09:41:16, Info                  SP         S Cleanup safe OS mount directory2013-10-25 09:41:16, Info                  SP         S Apply WIM file PathForNewOS, index 4 to C:\$WINDOWS.~BT\NewOS2013-10-25 09:41:16, Info                  SP         S Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /postoobe for phase 32013-10-25 09:41:16, Info                  SP         S Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /presysprep for phase 02013-10-25 09:41:16, Info                  SP         S Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /postsysprep for phase 12013-10-25 09:41:16, Info                  SP         S Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /preoobe for phase 22013-10-25 09:41:16, Info                  SP         S Set entropy for C:\$WINDOWS.~BT\NewOS2013-10-25 09:41:16, Info                  SP         S Add boot entry for C:\$WINDOWS.~BT\NewOS\WINDOWS. Locale = en-US2013-10-25 09:41:16, Info                  SP         S Set OS Switch rollback checkpoint2013-10-25 09:41:16, Info                  SP         S Backup the recovery partition to C:\$WINDOWS.~BT\Sources\RecoveryPartitionBackup2013-10-25 09:41:16, Info                  SP         S Apply EAs for C:\$WINDOWS.~BT\NewOS2013-10-25 09:41:16, Info                  SP         S Install Dynamic Updates2013-10-25 09:41:16, Info                  SP         S Install Driver DU Updates2013-10-25 09:41:16, Info                  SP         S Install OS updates (DU) to keep installation up-to-date2013-10-25 09:41:16, Info                  SP         S Relocate OS from C:\$WINDOWS.~BT\NewOS to C:\2013-10-25 09:41:16, Info                  SP         S Add boot entry for C:\WINDOWS. Locale = en-US2013-10-25 09:41:16, Info                  SP         S Prepare the new OS for first boot2013-10-25 09:41:16, Info                  SP         S Setup the recovery partition2013-10-25 09:41:16, Info                  SP         S Orchestrate OS switch for NewOS with safe OS SafeOS and rollback OS ExternalRollback. DelayedSwitch: 02013-10-25 09:41:16, Info                  SP         S Copy log files from C:\$WINDOWS.~BT\Sources\Panther to C:\WINDOWS

Attached is selected entries from the setupact.log after the update, which shows some of the things that the update does. Things left out is when the update downloads and install.wim, mounts it with DISM, scans the existing OS for applicable drivers and packages and injects them, unmounts the image and them uses DISM to apply it to the hard drive.

Regarding the extra recovery partition, there does not seem to be a way to prevent it from happening. :(

neatstuff.txt

0

Share this post


Link to post
Share on other sites

All your hard disk space are belong to us! :w00t:

jaclaz

0

Share this post


Link to post
Share on other sites

Just fixed this on my laptop.

 

Essentially you can just move the WinRE environment to the original Recovery Partition (Partition 1). 

 

Step Zero obviously is back up your entire system with clonezilla or something else nice.

 

First note the time stamps of WinRE.wim or other files everywhere:

c:\dir /ah c:\windows\system32\recovery

 

Backup your disk partition info:

diskpart>  list volume

diskpart>  list disk

diskpart>  select disk 0

diskpart>  select par 1

diskpart>  detail par

diskpart> select par 2

diskpart>  detail par

...

Until you have saved all the partition details.  You will use the GUID to make the Recovery partitions accessible.

select the old recovery partition

set id=07 # Many of the guides show to do this, but it didn't work for me.  My other system with Win8.1 Enterprise shows it as 07 hIdden, but my Win8.1 corporate OEM edition showed it differently... so try setting it as a GUID

OR

set id=GUID of a basic didks...

set id=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7

 

Refer to this wiki for more info about GUIDs:  http://en.wikipedia.org/wiki/GUID_Partition_Table#Windows:_64-bit_versions

Now assign a drive letter for the old partition

select the volume for the old recovery partition

assign letter=o # O for Old

dir /ah

dir /s

Note time stamps of the old recovery folder and recovery files... probably from before you re-installed windows

Now make a new sub directory:

mkdir o:\Recoverynew\WinRE

now disable WinRE globally

reagentc /disable

Check the date / timestamp of any new files in c:\windows\system32\recovery... if it is brand new you can copy this one to the Old partition, or you will grab it from the "new recovery partition"

Now perform the same partition change to basic disk type to unhide and assign a drive letter (N) to the "new recovery" partition which you will be removing:

Either copy the WinRE.wim and its associated attributes (hidden, system) from the C: or the N: drive:\

 

Robocopy.exe C:\Windows\System32\Recovery\ O:\Recoverynew\WindowsRE\ Winre.wim /copyall /dcopy:t /move

 

Now re-set reagentc and re-enable it:

  1. Configure Win RE: reagentc /setreimage /path Q:\Recovery\WindowsRE
  2. Enable Win RE: reagentc /enable

(thanks:  http://www.sepago.de/e/nicholas/2012/07/25/windows-recovery-environment-re-explained )

 

Kill the new partition... reboot and test

Then test winre environment by going to PC settings - Update and Recovery - Recovery - Advanced - Restart Now - Advanced - Advanced Command prompt...

Once you know that WinRE is working, go back to windows, and expand your Primary Partition.  That's why I had to do all the above.  I had the extra second recovery partition blocking my C: drive from being able to expand into some unused disk space (hey!  11G on a 250G SSD is worth it for all this).

 

Enjoy.

Edited by boostcraver
0

Share this post


Link to post
Share on other sites

select the old recovery partition

set id=07 # Many of the guides show to do this, but it didn't work for me.  My other system with Win8.1 Enterprise shows it as 07 hIdden, but my Win8.1 corporate OEM edition showed it differently... so try setting it as a GUID

Of course, Disk IDs like 07 are for MBR disks, not GPT. GPT uses GUIDs as you found out.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.