Lately I’ve been toying with MIG (Windows Migration Backup) files and I’ve found no helpful viewer programs for looking inside. Fortunately there is a utility, MigRecover.exe, floating around. Unfortunately I don’t know the original developer of this software to give proper credit to, though it is likely developed by Microsoft. This utility has been quite handy for me, and I was looking to create a Viewer so I could look inside MIG files faster. Eventually I decided to pop in extra commands to allow for extracting the data as well. Please note, this is merely a wrapper for this handy utility! The utility is built into my program so you will not need MigRecover.exe.

MigRecover Interface 0.5

I figured, while currently its incomplete and full of bugs, it still may be better for some people than the command line at the moment. To extract, the only way at the moment is to right click on directory (single file extraction incomplete) and click Extract To…

Will work on this in my spare moments depending if this would be a utility that would actually provide help for the online community. All credit to the original developer!

Mike Morawski’s MigViewer Utility 0.1 (alpha) – (Download 2.6mb – Jan 17 2011 – screenshot)
Mike Morawski’s MigViewer Utility 0.2 (alpha) – (Download 2.6mb – Jan 18 2011 – screenshot)
Mike Morawski’s MigViewer Utility 0.3 – (Download 2.6mb – Apr 7 2011 – screenshot)
Mike Morawski’s MigViewer Utility 0.4 – (Download 5.5mb – Aug 26 2011- screenshot)
Mike Morawski’s MigViewer Utility 0.5 – (Download 5.5mb – Feb 11 2013- screenshot)
Note: This program requires Windows Vista/7 and cannot be adjusted for XP. Testing is minimal, please report any bugs or issues!

Jan 25 2015- 0.5 Source

Development has been discontinued for some time. I am uploading the source for anyone that may find it useful.

MigViewer Latest Source Code – Download

Feb 11 2012- 0.5 Released

  • Applied patch for bug which should help those getting error trying to open file dialog select prompt.
  • Sorting fixed on right side file view. Now alphabetical grouped by files/folders.
  • Selecting individual files and folders on the right file view now allows for extraction as opposed to only being able to extract directories from the left.
  • Folders can be navigated into from the right hand side
  • Highlighted current directory when folder tree loses focus

Aug 26 2011 – 0.4 Released

  • Add more verbose console messages, console messages will not repeat
  • Added MigRecover capability for USMT v3 files
  • Added detection to warn user if file may be USMT3 (though not 100% as there is no concrete way)

Apr 4 2011 – 0.3 Released

  • Added lots of debugging code for future problems
  • Added console window for visible end user tracing of logs and errors
  • Added ability to open encrypted MIG files
  • Allow for all file extensions in open dialog
  • Several bug fixes
  • Deletes temporary files after use
  • Allowed for code to continue on minor errors in some places
  • Disabled interface when waiting for file extraction and opening of MIG

Jan 18 2011 – 0.2 Released

  • Fixed fatal bug upon loading MIG
  • Improved form design
  • Listed folders in right hand side
  • Bugfixes
  • Debugging alerts on failure


  • Extraction file queue/progress
  • Ability to cancel opening or extraction of MIG files
  • Extra Debug Info and Testing
  • Look into any hacks to get this working on XP.
  • Possible bug: Missing files on extraction containing international characters


  • If you are getting a LARGE AMOUNT OF NUMBERS LISTED when trying to open a MIG file you have a VERSION 3 Mig file. There is now functionality to do this via the USMT3 Extractor menu.


I was curious on how data recovery would work starting from scratch. While I have most of the needed knowledge down to complete an extraction tool, it appears that the utility my GUI is based off of appears to work on a similar premise. In any case, below is a download of a rough experiment which was stripped down to just finding file names. May be helpful to someone for some reason so I may as well post it here. This merely reads data however I must say if the data is important back it up first, even if it is corrupted to begin with!

MiG Recovery Experiment


  • Looking good, I’ll add a link so that readers can jump straight over to this page and check it out 🙂

  • Thanks Michael! Also: If you know where this originated from please let me know. It’s odd to see such a handy utility floating around but no definite source. All this credit, someone deserves it 😛

  • After downloading and tried to extract my window easy transfer MIG file, it said “waiting for MIG file selection” but nothing happened. Any help?

  • It just remained idle even after clicking File > Open and selecting the correct file? If so you might want to go use the MigRecover.exe provided in the link in the blog. This program is unstable at the moment and its hard to troubleshoot without proper logging which I have not had time to code in yet.

    This was built with the intent of me being able to quickly review the contents of MIG files in a controlled environment. If you find that MigRecover works, let me know.

  • Hi Mike:

    I downloaded your application and tried to open a .mig file. The file is 16GB in size and when I selected it and clicked open I got a pop up window with error information. Can you provide me with an email address and I will send you a word document with a screen capture of the two pop ups that I get when trying to open the file.

    Thanks in advance.

  • Thanks for the excellent GUI, however I am having the same issues I was with the CMS app. When I open or extract the MIG file I get thousands of file just labeled by number. There will be no extension or anything. I think I opened a 1.3GB file and got over 9k files labeled 1 to 9000+. I am unable to determine what it would even need to be opened it.

    Any ideas?


  • Hi Adam,

    I had helped Tony above your comment via email and after some investigation and fixing some simple bugs in my program he eventually received the same problem you had — numbers galore. This was awhile ago but I believe after looking into it, the file that my interface wraps around was giving my interface those numbers — so I couldn’t fix it.

    Does this work on any other files? Can you try running scanstate from downloading USMT4 and seeing if my program will open that? I think the one you are working with may be corrupt.

  • @Adam, I would also try the migrecover.exe directly. This can be downloaded at the link in the beginning of the article.

  • I have 193 gigabytes of a Windows Easy Transfer .mig file. I have started using this program to open it. I have not seen anything listed as of yet. Will it take a while for the File Name list to populate due to the size of the file? I can see a text list with numbers and it appears that the program is going through the files. I’m just curious if this will take hours or days. I appreciate your help by developing this program. This is the first sign of hope I have had during this whole process. Thank you Mike 🙂

  • Hi Elicia,

    Others are having the same problem (within comments above). The issue is with the tool that my interface wraps around. I’m not sure what causes this.

    I would goto and manually try both migrecover (both versions) and see if either causes any luck. Please let me know if you resolved this, as I can patch my program (sending 193 GB so I can recreate the problem is out of the question methinks)

  • Elicia – The problem is that your working with a USMT version 3 file. You need to use the USMT3 file provided in the link above. My program will only work with 4 at the moment.

  • Is there a way to recover a usmt4 password.. our admins delete the recover key after only a few days after and SMP on a user who was gone on vacation so now we can’t restore his encrypted Mig file. migRecover.exe will see all the folders and files, however they are corrupted and empty?

    thanks in advance


  • I think MIG files are rather secure and if the password is lost the only way I would imagine would be a brute force crack. Unfortunately I don’t have the time to integrate this into this program 🙂

    Sorry for the bad news.

  • That’s OK…..I was just Hoping someone had taken the time to write a Brute Force Crack and was willing to to share…



  • I would like to try this programme, but I don’t have a Vista or 7 OS installed at this time. I have tried to run it on windows xp, but it does not open. I am trying to receive a bunch of Office documents from a Vista Easy Transfer .MIG file that I made on a Vista machine. Are there any options for xp?

  • Not much can be done about this. USMT 4 only allows for backup on Windows 2000/XP. Only on Windows Vista/7 can you actually extract/do extra with it. It’s because it uses core windows functionality not included in earlier versions. My program IS compatible with XP per say, but the USMT 4 back end it uses isn’t.

  • Superb, thanks so much. Enables selective recovery from MIG files when Windows Easy Transfer is ineffectual and when the MIG files are apparently corrupted. You cannot imaging the relief when this worked and years of files can be moved to your clean install Windows computer that had slowed to a crawl. Thanks again, and again.

  • Just wanted to say thank you very much for this tool. Your hard work is very much appreciated.

  • Dear Im facing one problem when i click on File > Open one dialog box appears containing the following message

    OpenFileDialog Crash: System.InvalidOperationException: File”C:\Users\Mike\Desktop\USMT.MIG” is not a valid file name. and when I click OK nothing happens, so basically it is not opening the file. Please help me with this problem I tried this program on many machines but everywhere I recieve this same message even I ur previous version of this program.

  • Thanks for the program. It seems to work just as the command line but with the visual confort of the GUI.

    In my case it didn’t solve my problem.

    I have an encrypted Mig file in 3 pieces : backup.mig / backup.mig01 / backup.mig02. The destination disk was formatted in FAT32. Windows Easy Transfer told me it had to split the file (at the 4 GB boundary).

    As I tried to migrate from 7 64 to 7 32, it didn’t work, so I tried the migrecover command line utility as well as your version.
    I didn’t find a way to make them open the backup file correctly. The program seems to consider that it has 3 separated files.

    As a result the data is scattered among the 3 files and sometimes corrupted :
    – backup.mig can be opened with a password but one big file is corrupted (as well as the structure from what the program reports)
    – backup.mig01 can be opened without a password and all files seem to be ok
    – backup.mig02 contains almost only corrupted files as well as structure and other corrupted data (probably the data that describes how the file was build).

    Do you know a way to deal with splitted files ?

    For the record as a work around I used Windows Easy Transfer on another 7 64-bit to restore the files (it detected my splitted mig file correctly) and then I copied all files manually to my 7 32.

  • Hmm.. I’ve never thought of the fact of how WET handles those files on FAT32. I can’t see why the 4gb limit would be a problem if it knows how to span files. Unfortunately I can’t see a solution in my tool if the command line version can’t handle it either. I’m assuming you have the split files in the same directory when trying to open it?

    Also after a quick glance I’m seeing that 64bit MIG file will not work with 32bit windows. So that explains a bit.

  • Is it possible to extract single file to a selected location without relative path
    for example : C:\Documents and Settings\xxx\Desktop\office.doc to C:\FilesToRestore\office.doc

  • Not at this time. For now the only possible way is to extract a directory and sub-directories of it. Crude way of doing it. It is definitely possible to have this added in.

    Seeing as this tool is getting more use lately I’ll likely add on to it in the near future.

  • Thank you! God Bless you! You saved me from an extremely bad situation.

    Thank you!

  • Hi, I am having the same exact issue as Ali, a few posts up. It seems the program is hard coded to only look in your user profile, hence the /users/mike/desktop path it seems to want to find. Any way to fix that?

  • @Jerry: Much welcome!

    @Devis: Only the default value is hard coded. This was done to make testing a bit faster. I tested it on other desktops and it works just fine so long as a file with the .mig extension is selected before clicking OK. I find it very odd that this is causing a crash as I cannot get it to break on other systems. I will look into this when I have time (and I havn’t had much lately! 🙁 )

  • I was having the same problem as Ali & Devis when using a WinXP system, then I tried it with a Win7 system and it worked.

  • Same problem as Ali and Devis on a Win XP system. I click on File -> Open and immediately get a OpenFileDialogCrash File c:\users\mike\desktop\usmt.mig is not a valid file name

  • This program is not compatible with XP because it relies on the USMT back-end files which are contained within Windows Vista/7. I’ll update the post to be more clear about this.

  • Hi Mike,

    This program is perfect. the only problem I am facing at the moment is that I password protected my mig file so all the files appear as corrupt. (forgot the password) Is there a way that you can assist in this regards?

    Your help will be higly appreciated.

  • I would have to combine it with a brute force password program to do so. There is no easy way in, these files most definitely use proper encryption.

  • please let me know the commandline you used to extract specific folders using migrecover.exe.

    thanks!! and this is a really awesome tool. 🙂 saved me today. 🙂

  • If you can share the source code i would be happier. 🙂

  • Hi, I wonder if someone knows any workaround for using USMT scanstate offline (by WINPE) for XP SP0,SP1,SP2 (USMT 3.0.1).
    This should be using for example to get User Settings from unbootable XP system.

  • @aneeth I will consider getting the source up at some point. I haven’t had much time to do anything with this lately. If you download migrecover itself from one of the links in the article, you can get a listing by just typing the migrecover command by itself and it should list all commands. One of them lists all files and my program just parses them into a visible tree.

    @noam Sorry not sure what you are asking.

  • Thank you for saving me from a difficult situation! Microsoft technical support had given up. Your utility extracted all of my data…all 448 GB of it. Thanks again!

  • Any idea what to do if the password was never written down??

  • Thanks for this – it’s a really great util! Any thoughts of adding the ability to cache the password for future use? Like save the password in a migviewer config file to maintain the password every time you open the program?

  • @Richard: Welcome!
    @Yidi: Learn from your mistakes (not much you can do)
    @Jeff: When the day comes where I have free time again I will be going through the comments and trying to integrate those features. Thanks for another good idea!

  • I used your tool to try to recover a USMT v3 file of 247 GB. When it started extracting it extracted files with just numbers as names. I canceled it as I extracted it to the wrong disk.

    When extracting will it recover the files names; will it change the numbers to the original names?

    It is currently scanning the Mig file again so I can give another shot later.

  • This is happening using the USMT 3 extractor drop down?

  • It is happening when using the USMT 3 extractor. I made a screenshot yesterday when it was running just in case it was needed: .

    It is now unpacking the file as USMT 3 file. I will report back when it finished. It is right now extracting and it extracts files with numbers for name and no extensions. I hope it will change the file names and extensions in the process.

    I bumped into a peculiarity. I tried to extract one file from the archive as it were a USMT 4 file and it did not end it seemed. I checked with Task Manager and saw the program read away GB after GB after GB… After 20 GB I concluded it started reading the whole MIG file again and left the computer run over night. When I came back today it was done but had not extracted the file I had asked to extract.

    Can we use BB code here?

  • >It is now unpacking the file as USMT 3 file. I will report back when it finished.

    For USMT3 all that needs to be done is to open the program itself, then go straight to the USMT3 extractor. File -> Open is only for USMT4.

    [b]BB code, unlikely![/b]

  • The USMT 3 file is now extracted. It converted the file names, which in the first phase of the process only are files with numbers for name with no extensions, to folders and files with extensions.

    Approx 19 GB of 247 GB did not get converted and are stored as extracted as files with a numbers for their names and hold no extension. Is there a way of converting these? Or have I reached the limits of this tools capabilities?

    I have Recuva scanning the original hard drive to see what can be restored when needed.

  • Sorry I don’t think I can help. Also, again, file – open should not be used for USMT3. If numbers are still appearing the tool that is wrapped in my interface is likely causing this and I have no control of this.

    Best bet is to download the USMT 3 extractor itself and use it via command line and see if directly interacting with that solves the problem.

  • what can you do if you just can not remeber the password for the file and your able to open it useing your utility but everything is corputted? i forgot because i have a very bad memory since a car wreck in 98 in the US ARMY

  • Hi Loran,

    There are currently no tools available that can crack the password on these files.

  • when tring to open Mig file it open only 2GB instead of 66GB – is there any solution?

  • I just tired your tool on a MIG file that is in 8 pieces (MIG, MIG01, MIG02, etc.)
    The MIG files are on an external hard drive. I pointed your tool at them, the drivelight flashed on and off for 4-5 minutes, and it displayed several items.

    When I clicked on structure items I was familiar with, it showed files that were in the folders.
    BUT, all the files were marked with an X.

    I created the MIG files while my mcahcine was an XP oS. A third party changed it to Windows 7 & said they backed up the files manually.

    I’ve ended up missing many music files.

    I see them in the structure recovered by your tool, but the files are X’d

    Don’t know what that would be or what I’ve done incorrectly.

  • @Asaf: Sorry for late response but if you could elaborate I can see what I can find.


    At the very end there should be four indicators listed, CACHE/catalog/MIGSTATE/STRUCTURE. Are they all X’s as well? Unfortunately it is hard for me to troubleshoot without spending time and adding more code to it (something I’ve had no time for… for a long time!).

    Something worth pointing out is an earlier post in this blog post:

    The tool my GUI is based on may not support split files (just my possible speculation) OR you’ve had a scenario such as P-A where you had a 64 bit XP MIG Backup, and are trying to use it on 32 Bit System.