User State Migration Tool (USMT) 5.0 - jak migrovat uživatelská data

Ondřej Výšek
7 minuty, 58 sekundy
1

Jedním z nástrojů velmi často používaných při nasazení, resp. migracích operačních systémů je právě User State Migration Tool. Součástí Automated Deployment Kitu (následovník WAIK) je USMT ve verzi 5.0, které m.j. podporuje Windows 8, coby cílový operační systém. Nástroj USMT je možné využít při migraci uživatelských dat a nastavení v automatizovaných instalacích. V případě reinstalace jednotlivých “kusů” počítačů je vhodnější využití “Easy Transfer Wizard”.

Následující tabulka zobrazuje kompatibilitu při přenosu nastavení a souborů mezi různými verzemi operačních systémů. Tedy je důležité, že USMT 5 podporuje Windows XP jako zdrojový operační systém. U 64bit systémů: je možné migrovat 32 na 64, nicméně není možné migrovat 64 na 32. Migrace 32 na 32 a 64 na 64 jsou samozřejmě podporované.

  Windows XP Windows XP 64 Windows Vista 32/64 Windows 7 32/64 Windows 8 32/64
Windows XP USMT 3 USMT 3 USMT 4 USMT 4, 5 USMT 5
Windows XP 64 USMT 3 USMT 3 USMT 4 USMT 4, 5 USMT 5
Windows Vista není podporováno není podporováno USMT 4 USMT 4, 5 USMT 5
Windows 7 není podporováno není podporováno není podporováno USMT 4, 5 USMT 5
Windows 8 není podporováno není podporováno není podporováno není podporováno USMT 5

USMT se skládá z několika jednotlivých nástrojů, primárně budou využívány ScanState.exe - pomocí kterého je prováděna záloha uživatelského stavu a následně pak LoadState.exe - pomocí kterého je prováděna obnova / aplikace uživatelského stavu. Oba nástroje musí být spouštěny s oprávněním administrátora a to včetně následujících oprávnění:

  • SeBackupPrivilege (Back up files and directories)

    • SeDebugPrivilege (Debug programs)
    • SeRestorePrivilege (Restore files and directories)
    • SeSecurityPrivilege (Manage auditing and security log)
    • SeTakeOwnership Privilege (Take ownership of files or other objects)

    Výhodou USMT je dozajista to, že se jedná pouze o nástroj příkazové řádky, neexistuje žádné uživatelské rozhraní. Modifikace chování nástroje USMT se provádí pomocí .XML souborů. Součástí instalace USMT jsou soubory

  • MigApp.xml - předdefinovaná migrace aplikačního nastavení a to včetně migrace ze starších verzí Outlook na Outlook 2010/2013

    • MigDocs.xml - využíván coby “Doc finder” v případech, kdy není možné přesně identifikovat soubory určené pro migraci
    • MigUser.xml - definice migrace uživatelských souborů a nastavení.

    Pozn.: soubory MigDocs.xml a MigUser.xml by neměly být používány zároveň, může dojít k duplicitním migracím či neočekávaným výsledkům. Pozn.: s ohledem na skutečnost, že identické xml soubory musí být používány při Scan i Load procesu, není možné provádět úpravy per počítač. Kompletní popis elementů využitelných v definičních xml souborech je uvedena zde. V rámci xml souborů je možné použít i tzv. Well known folder Names - CSIDL_ Popis těchto proměnných a v jakých kontextech (User a System) je uvedený zde (pro USMT 4.0) a zde (pro USMT 5.0). Chování nástroje ve fázích Scan a Load může být částečně modifikováno za použití souboru Config.xml - popis struktury je uvedena zde. Velkou výhodou USMT je využití tzv. hardlink migrací při scénáři refresh (reinstalace počítače, kde nedochází k formátování disku), v takovém případě dochází k vytváření propojení mezi starým souborem a adresářem určeným pro migraci a následně pak z migračního adresáře do cílového adresáře. Nejedná se o vlastnost USMT, USMT je v tomto případě pouze “konzumentem” standardní funkcionality NTFS. Identického výsledku můžete docílit nástrojem FSUTIL, např.: fsutil.exe hardlink create c:\nejakyadresar\mujsoubor.txt c:\migracniadresar\mujsoubor.txt. Výhodou takové migrace je to, že s daty není fyzicky manipulováno (ani přesun) a proto je celá migrace podstatně rychlejší. Využití hardlink migrace je řízeno parametrem /hardlink.

    Další výhodou USMT je využití i v tzv. offline režimu, nejčastější případy využití jsou 2:

      * Při reinstalaci Windows instalátor automaticky vytváří adresář Windows.old, je následně z nové instalace přesunout data a nastavení uživatele do nové instalace. * Využití USMT z Windows PE, kdy např. původní instance OS není funkční, je možné provést zálohu uživatelských dat a nastavení a tu následně obnovit do nové instalace OS.
    Využití Offlice režimu je indikováno parametrem /offlineWinDir:WinDir nebo /offlineWinOld:WinDir. Tyto parametry jsou využitelné pouze u příkazu ScanState. ### Novinky v USMT 5.0 USMT 4.0 zavedlo nový nástroj UsmtUtils.exe, jedná se o jednoduchý nástroj, pomocí kterého bylo možné primárně mazat obsah úložiště s hardlink migrací. UsmtUtils.exe ve verzi 5.0 obsahuje 2 nové možnosti: **/verify**[:reportType] <filePath> [/l:logFile] [/decrypt[:<AlgID>]] [/key:keyString] [/keyfile:fileName] **/extract** <filePath> <destinationPath> [/i:<includePattern>] [/e:<excludePattern>] [/l:logFile] [/decrypt[:<AlgID>]] {/key:keyString] | [/keyfile:fileName] [/o] Parametr /verify je možné použít pro kontrolu vytvořeného komprimovaného .mig souboru na konzistenci, a zdali neobsahuje poškozené soubory či katalog. Jedná se pouze o reportovací funkcionalitu, nejsou prováděny žádné opravy,… Tato kontrola je vhodná zejména v případech, kdy je migrační soubor ukládán na USB zařízení, při ukládání na USB nemusí být chybná hlášena nazpět procesu, který je zapisuje a může dojít k nekonzistenci migračního souboru. Parametr /extract umožňuje obnovu vybraných souborů z migračního .mig souboru, ev. v případě, kdy není možné pomocí LoadState.exe obnovit celý archiv je pak možné extrahovat potřebné soubory. Možnost využití může být také v případech, kdy uživatel krátce po migraci smaže soubory, které potřebuje, je možné pomocí UsmtUtils.exe extrahovat takové soubory. ### Změněná funkcionalita USMT 5.0 proti verzi 4.0
  • Změna v logování - ScanState a LoadState nyní informují v konzoli v případě, kdy není možné nalézt manifest (definice toho, co se má standardně v rámci OS migrovat).
    Je možné využít parametr /C pro zevrubné zobrazení informace, které soubory nebyly migrovány. Informace je zobrazována i v případě, že log verbosity je nastavena na nízkou úroveň.
    ----------------------------- USMT ERROR SUMMARY ------------------------------

    • One or more errors were encountered in migration (ordered by first occurence)
      +------------------------------------------------------------------------------
      | Error Code | Caused Abort | Recurrence | First Occurrence
      | 33         | No           | 18         | Read error 33 for D:\foo [bar.pst]. Windows error 33 description: The process cannot access the file because another process has locked a portion of the file.[gle=0x00000012]
      +------------------------------------------------------------------------------
      18 migration errors would have been fatal if not for /c. See the log for more information

    • Škálovatelnost při migraci uživatelských profilů - USMT 4.0 mohlo havarovat v případě, že se migrovalo velké množství profilů, ale nebyla dostupná paměť s chybou “Close programs to prevent information loss. Your computer is low on memory”. USMT 5.0 obsahuje nový parametr systémové proměnné: MIG_CATALOG_PRESERVE_MEMORY=1. V případě, kdy je tento parametr konfigurován, LoadState uvolňuje paměť mnohem agresivněji, což má za následek také zpomalení vlastní migrace - používejte tento parametr s rozumem.
    • Chybné profily - ve verzi USMT 4.0, v případě, že byl identifikován neplatný či poškozený profil (např. profil fyzicky smazaný z disku, ale informace o profilu byla nadále v registry), USMT čekalo 60 vteřin, což se pro každý profil opakovalo 20x. Ve verzi 4.0 bylo možné neplatné profily ignorovat pomocí systémové proměnné MIG_IGNORE_PROFILE_MISSING. USMT 5.0 má tuto funkcionalitu již vestavěnu, není nutné tento parametr používat.
    • Podpora proměnných - USMT 5.0 podporuje všechny systémové proměnné a proměnné well known adresářů.
    • Parametr /SF - USMT ve verzi 5.0 plně implementuje parametr /SF (Restores shell folder redirection.), již nezpůsobuje chyby
    • Zpracování souborů s neplatnými daty - v některých případech, kdy soubor obsahoval neplatné znaky, způsobil problém “Windows error 4317 description: The operation identifier is not valid”. USMT 5.0 již tento problém neobsahuje.
    • Nahrávání NTUSER.DAT - při běhu ScanState.exe již není modifikován datum modifikace souboru NTUSER.DAT. Díky tomu parametr /UEL funguje správně při opětovných migracích.
    • Manifest a UNC cesty - v předchozí verzi USMT došlo k chybě, pokud se USMT spouštělo z UNC cesty s tím, že nebyly nalezeny migrační manifesty. USMT 5.0 hledá manifesty v adresáři, ve kterém je USMT umístěno, tedy funguje bez ohledu na cestu, ze kterého je spouštěné.

    Na závěr, po dlouholetých zkušenostech s editací migračních souborů, mohu doporučit nástroj USMT XML Builder ($49,95AUD), který napomůže s přípravou xml souborů, nicméně je také nutné vědět “jak to funguje”, tím myslím xml soubory a jejich parametry. Přeji šťastné migrace uživatelských dat :)

Autor: Ondřej Výšek

Ondřej je Microsoft MVP od roku 2004, v roce 2008 založil komunitní web optimalizovane-it.cz. Za svou IT karieru, jenž započala v roce 1993 prošel celou řadou pozic, od konzultanta, přes architekt, až po vytváření vizí a strategií zákazníků. V prostředích, ve kterých pomáhal byly desítky, ale i stovky tisíc uživatelů a systémů. V posledních letech se zabývá především cloudovými technologiemi Microsoft 365 a Azure ve společnosti KPCS CZ.

Následující článek Předchozí článek