5 minute read

Only limited Windows Phones are eligible to be upgraded to the latest Windows 10 Mobile release. The second generation Lumia (x2x series) are unfortunately no longer supported by M$ to run Windows 10. I recently upgraded my own Lumia 1020 to the latest stable release of Windows 10 Mobile (build 14393) following the posts by ssmb212 (http://forum.xda-developers.com/showpost.php?p=68222283&postcount=3) and Stealing_heart (http://forum.xda-developers.com/windows-10/windows-10-mobile/installing-windows-10-mobile-tech-t3431454). I would like to share my experience step by step here.

1. Obtain root access

These steps let us access the system files of the operating system.

1.1 Install Windows Device Recovery Tool. Plug the phone to the PC and do a recovery flash using this tool. Note that in my first attempt I skipped this flashing and I got a boot loop in later steps… so try not to be lazy here.

1.2 Install Windows Phone Internals. The phone will be recognized by this software and let you know the exact model (RM-xxx) and Product Code (a string like 059S9T1).

1.3 Search for the exactly same product in http://www.lumiafirmware.com/. Download the .hex file from Emergency Files section. Also download this file and unpack it.

1.4 In WPinternals, go to Unlock bootloader. Select all required files (FFU, which is available in C:\ProgramData\Microsoft\Packages\... when we used the recovery tool to flash the phone; Emergency flash Loader, the .hex file; SBL3 engineering file, the unpacked Lumia 1020 file). Continue to do the unlock and wait for the software to complete processes.

1.5 In WPinternals, Enable root access. This will also turn the phone to Mass Storage Mode, which makes the phone looks like a USB drive to the PC and thus allowing us to modify system files.

2. Change device targeting information

These steps changes the registry of the phone system to let the system think this is a newer generation of Lumia phone so upgrading to Windows 10 is allowed.

2.1 Open regedit on the PC. Click on HKEY_LOCAL_MACHINE. Select Files - Load Hive. Navigate to the phone drive (MainOS)/Windows/system32/config. Select the file SYSTEM. Type in wp-sys as the name. Actually you can choose any name here but wp-sys will be used in my later steps.

2.2 In regedit, navigate to wp-sys/Platform/DeviceTargetingInfo. Look for the below keys. First save the original values and then change them according to below:

PhoneManufacturer = NOKIA,
PhoneManufacturerModelName = RM-984_1006,
PhoneModelName = Lumia 830,
PhoneHardwareVariant . = RM-984

This will let your phone to pretend to be a Lumia 830 Indian variant temporarily. Click on wp-sys and select File - Unload Hive. This will save the above edits to the phone.

2.3 Go back to WPinternals, Disable root access. On your phone, hold the Power button and the VolumeDown button at the same time until a vibration to let the phone reboot.

2.4 On your phone, you are ready to upgrade! Download the Upgrade Advisor app, or the Windows Insider app to configure the upgrade process. Note your phone may firstly download some updates for wp 8.1 and before finishing updating you cannot enroll in the Insider program. We will first reach the build 10586 of Windows 10 after long long waiting.

2.5 Now only the Windows Insider app can lead us to the Anniversary Update version (1607, build 14393) of Windows 10. Note after comprehensive rolling out of this build in release channel, you may receive this update directly from Windows Update. In case you do not, use the Insider app. Select Insider Production channel does the job.

3. Post-installation clean-ups

We are now running the latest Windows 10 on our Lumia 1020 phone! However we still need some works to make everything working on our phone.

3.1 Use WPinsiders and select Manual mode. Go to Mass Storage Mode. This will reboot the phone and make it a USB drive again.

3.2 Use regedit on PC, Load Hive of the same SYSTEM file, and restore the information that we changed in 2.2 to the original values of Lumia 1020.

3.3 Hard reset the phone by firstly holding the Power button and VolumeDown button. Feel the vibration, and release the Power button while still holding VolumeDown, until an exclamation mark appears on the phone screen. Release VolumeDown and press these buttons IN ORDER:

VolumeUp - VolumeDown - Power - VolumeDown.

Wait and this will reset the phone to an initial stage after clean installation (with the latest operating system we just installed).

3.4 Complete the setting up process. I encountered a very strange setting up with no wifi, no cellular and 0% battery level. I guess the drivers were not loaded successfully in this initial booting-up. I went through the setting-ups without logging in using MS account and reboot the phone. The phone then boot up normally.

3.5 Update all apps in the Store. This will also install/update supporting system apps. Some system apps may not be updated automatically, and you can scan the QR codes from here to install/update them manually. Remember to get a QR scanner app first!

3.6 About the language pack. Downloading keyboards or speech language may not work, with constant “Attention needed” errors. This can be solved by following below:

Go to Settings - Update & security - Windows Insider Program, and enroll the phone as a insider. After rebooting, you will be able to install language files. You can de-activate Insider configuration after that and it seems you can still install language files from then on.

3.7 Fix the glance screen. There are some missing registry keys and system files in the Anniversary build that are necessary for glance screen. Method comes from many posts in this thread.

3.7.1 In WPinternals let the phone enter Mass Storage Mode.

3.7.2 On the PC to Load Hive for SYSTEM (as wp-sys) and also for SOFTWARE (as wp-soft) in the same folder.

3.7.3 Download this attached file. Run this .reg file to combine entries into the phone registry.

3.7.4 Unload Hive for both wp-sys and wp-soft to save everything to the phone.

3.7.5 Then download this file and unpack all included files to phone drive (MainOS)\SharedData\OEM\Public. Power + VolumeDown to reboot the phone.

3.7.6 Go to Settings - Extras - Glance screen to enable this function, and it should be working now.

It took me an afternoon plus evening to finish everything up, but it’s absolutely worth the time. :-)