Painful RAID recovery after failed windows 10 upgrade

RAID drives are a common approach to protect your files and photos in case of a disk failure.

I just recovered a failed RAID10 hard drive volume after a Windows 10 upgrade caused it to show up as FAILED. After doing lots of online searching and many hours of experimenting I found a relatively simple solution that worked.

I have an ASUS P7P55D Deluxe motherboard running Windows 7 Pro. It has a RAID10 array of 4 - 2TB Hard drives.
Microsoft has been bugging me for months to upgrade to Windows 10. Its tests showed that my system was compatible with the upgrade. I finally gave in and started the upgrade yesterday. The upgrade left me without Ethernet or WiFi and my 4TB of data was absent.

Long story short, it looks like somewhere in the process, the SATA configuration in the BIOS was changed from RAID to ACHI which then changed 2 of my hard drives in the Intel RST Option ROM from RAID to NON-RAID and in turn changed the 4TB RAID Volume to FAILED! 

So I reverted my system back to Windows 7, which by itself did not fix the problem,  and began searching for an answer. I found the thread below where many responded that it was not possible to recover a FAILED RAID volume:

see: "Missing harddisk from RAID volume even though its there attached"

but further down I found a link to  : "Intel RAID5 Disaster Data Recovery ICH10R"
which got me 90% of the way there but some of his instructions didn't work for me. My system boots from and SSD and used the RAID only for data. If your failed RAID was also your system drive you will need to have a separate boot disk with a copy of windows or Windows to go. Here are the details of what it took me to get my failed RAID drive back online. :

YOU SHOULD NOT ATTEMPT TO FOLLOW THESE DIRECTIONS UNLESS YOU UNDERSTAND EXACTLY WHAT YOU ARE DOING AND YOU HAVE A GOOD BACKUP OF YOUR DATA.

 1) During boot, enter the Ctrl-I Intel Rapid Storage Technology option ROM configuration utility. Write your raid level, array size, stripe size and everything else that can be configured on a piece of paper, you’ll need this info later. The option ROM told me that my array was 3.6TB total but I knew that I had used the default it offered which was actually 3.7TB.
 2) Mark all the drives as “non-raid drives”.
 3) Reboot and entering the option ROM again with CTRL-I create a new array identical with all the specifics you wrote down in step one. 
 4) Reboot in windows. Download and install testdisk. http://www.cgsecurity.org/wiki/TestDisk and read the manual.
Run the Windows "computer management" app and choose "Disk Management". You should see your RAID partition but it might be offline and uninitialized. If so, click to bring it online and initialize it.
 5) Start testdisk. The program ask you whether or not it should create a log file. Create one in case you have issues and want help from the cgsecurity forum. Select your brand new raid array. Next Select the partition type, normally it should default to the correct type, mine was ‘EFI GPT’. Next choose ‘Analyse’, then ‘Quick search’. Your NTFS partition should come up in seconds. If your array doesn’t show up quickly, you can try ‘Deeper search’ but this can run for hours. Now your partition should show. Select the partition with the up/down arrows, using the left/right arrows change the partition type to * for a bootable partition or P for a non bootable primary partition and press Enter, then ‘Write’. Testdisk now writes the old partition table on your new array.
 6) Close the program, reboot and everything should be fine. Good luck!