ハードリンク移行ストア

ハードリンク移行ストアを使うことで、すべてのユーザー状態をコンピューター上に残したまま以前のオペレーティング システムを削除して新しいオペレーティング システムをインストールする、インプレース移行を実行できます。この点で、ハードリンク移行ストアは、"コンピューターのリフレッシュ" を行う状況で最も適した方法と言えます。ハードリンク移行ストアを使ったコンピューターのリフレッシュによって、移行のパフォーマンスは大きく向上し、ハード ディスクの使用量もきわめて小さくなります。展開コストは削減され、まったく新しい移行シナリオが実現します。

このトピックの内容

ハードリンク移行が適しているケース

ハードリンク移行について

ハードリンク移行のシナリオ

ハードリンク移行ストアの詳細

ハード ディスク領域

ハードリンク ストアのサイズの見積もり

複数ボリューム上の移行ストア パス

場所の変更

暗号化ファイル システム (EFS) の証明書とファイルの移行

ハードリンク移行ストアを利用したロックされたファイルの移行

Config.xml ファイルの XML 要素

ハードリンク移行が適しているケース

ハードリンク移行ストアは、予定している移行作業が、次の 2 つの条件を満たしている場合に使うことができます。

  • 新しいコンピューターに移行するのではなく、既にあるハードウェア上のオペレーティング システムをアップグレードする。

  • 対象コンピューターの同じボリューム上のオペレーティング システムをアップグレードする。

予定している移行作業が次の条件に 1 つでも該当するとハードリンク移行ストアは使用できません。

  • 2 台のコンピューター間でデータを移行する。

  • 同じコンピューターの異なるボリューム間でデータを移行する (C: から D: など)。

  • ディスクのフォーマットまたは再パーティションを Windows セットアップを介さずに行う (または、Windows セットアップの中で、移行ストアが削除されるような形でのディスクのフォーマットまたは再パーティションを指定する)。

ハードリンク移行について

ハードリンク移行ストアは、コマンド ライン オプション /hardlink を使って作成されるもので、他の種類の移行ストアと大きな違いはありません。ただし、移行元コンピューターに格納されているファイルを移行中も維持するためにハード リンクが利用されている点が異なります。 移行元コンピューターにファイルを維持することによって、ファイルの複製という無駄な作業が不要になります。パフォーマンスが高く、ディスク使用量が小さくて済むという点も、このシナリオの特徴です。

ハード リンクを作成すると、既にあるファイルに別のパスが追加されます。たとえば、c:\file1.txt に対して c:\hard link\myFile.txt というハード リンクを作成することができます。この 2 つのパスは同じファイルを参照します。ファイル c:\file1.txt を開いて変更を加え、保存した後、c:\hard link\myFile.txt を開くと同じ変更が適用されているのがわかります。c:\file1.txt を削除しても、コンピューターには依然として c:\hardlink\myFile.txt が残ります。ファイルを削除するには、このファイルに対する両方の参照を削除する必要があります。

注意

ハード リンクは、同じボリューム上のファイルに対してのみ作成できます。ハードリンク移行ストアを別のドライブまたは外部デバイスにコピーした場合、非圧縮の移行ストアの場合と同じように、(リンクではなく) ファイルがコピーされます。

ハード リンクについて詳しくは、ハード リンクとジャンクションに関するページをご覧ください。

ほとんどの点で、ハードリンク移行ストアは非圧縮の移行ストアと同じです。ストアは Scanstate コマンド ライン ツールで指定した場所に格納され、その内容はエクスプローラーで閲覧できます。いったん作ったストアは、ユーザー状態を変えることなく、削除したり、別の場所にコピーしたりすることができます。ハードリンク移行ストアの復元は、他の移行ストアの復元とさほど大きな違いはありませんが、ストアの作成時と同様、同じハードリンク機能を使ってファイルが維持されます。

Loadstate ツールによってファイルが正しく移行されていることを確認したら、ハードリンク移行ストアは削除することをお勧めします。新たにインストールされた Windows オペレーティング システム上のファイルには Loadstate によって新しいパスが作成されているため、移行ストア内のハード リンクを削除しても、対象ファイルに対するパスが 1 つ削除されるだけです。実際のファイルやそのパスが新しいオペレーティング システムから削除されることはありません。

重要

Loadstate ツールに /c オプションを指定すると、エラーが発生してもそれが致命的なエラーでなければファイルを強制的に適用することができます。データの損失を防ぐため、/c オプションを指定した場合は、ログを見てエラーが報告されていないことを確認したうえで、ハードリンク移行ストアを削除してください。

ハードリンク移行ストアを残しておくと、ディスク領域が余分に消費されたり、アプリケーションによっては問題が生じることもあります。その理由を次に示します。

  • ハードリンク移行ストアが存在している状態では、ファイル システムの統計情報 (使用領域、空き領域など) を報告するアプリケーションから不正確な統計情報が報告される場合があります。これは、同じファイルを参照するパスが 2 つあるために、1 つのファイルが 2 回報告されるためです。

  • ハード リンクと元のファイルとの関連付けが失われる場合があります。アプリケーションによっては、ファイルに対する変更を保存する手段として、一時ファイルを作成したうえで元のファイル名をバックアップ ファイル名に変更する方法が採用されています。このアプリケーションでファイルを開くときに使われなかった方のパスは、未変更のファイルを参照し続けます。使われていない未変更のファイルによって、ディスク領域が余分に占有されます。すべてのファイルの最新バージョンを確実に移行するために、ハードリンク移行ストアは、移行作業の直前に作成し、ストアの作成後はアプリケーションの使用を避けてください。

  • 異なるパスを使って同時にファイルを編集すると、データが破損する場合があります。

重要

ハードリンク移行ストアを削除すると、移行したファイルの読み取り専用属性は失われます。これは、NTFS ファイル システムのハード リンクの制限によるものです。

ハードリンク移行のシナリオ

たとえば、ある企業で、社内のすべてのコンピューターに Windows(R) 7 を展開することになったとします。すべての従業員は今後も同じコンピューターを使うものとし、各コンピューターのオペレーティング システムだけを更新することになりました。

  1. この場合、管理者は、個々のコンピューターで ScanState コマンド ライン ツールを実行します。その際、コマンド ライン オプションには、/hardlink を指定します。ScanState ツールによって、各コンピューター上のハードリンク移行ストアにユーザー状態が保存されます。ごく限られたケースを除いてファイルの重複を抑えることができるため、パフォーマンスが向上します。

    注意

    ファイルを最新の状態で移行できるよう、ハードリンク移行ストアは、移行を実行する直前に作成することをお勧めします。移行ストアの作成後は、Loadstate でファイルを移行するまで、コンピューター上のソフトウェア アプリケーションを使わないでください。

  2. 管理者が、各コンピューターに対し、会社の標準オペレーティング環境 (SOE) をインストールします。標準オペレーティング環境には、Windows 7 のほか、社内で現在利用されているアプリケーションが含まれています。

  3. 管理者が、各コンピューターで LoadState コマンド ライン ツールを実行します。各コンピューター上にユーザー状態が復元されます。

ハードリンク移行ストアの詳細

ここでは、ハードリンク移行ストアについて詳しく説明します。

ハード ディスク領域

/hardlink コマンド ライン オプションで移行ストアを作成するためには、ハード ディスクに 250 MB の空き領域が必要です。移行対象のすべてのボリュームが NTFS でフォーマットされている場合、移行のサイズに関係なく、250 MB の空き領域があれば、ハードリンク移行に失敗することはまずありません。

ハードリンク ストアのサイズの見積もり

ハードリンク移行ストアのサイズは、必ずしも見積もる必要はありません。移行ストアのサイズに対する見積もりが推奨されるのは、移行ストアがきわめて大きい場合のみです。NTFS ボリューム上でハードリンク移行ストアが必要とする増分領域は、他の種類のストアと比べると、はるかに小さくて済みます。ただし、これには 1 つだけ例外があり、ローカル ストアのサイズが非常に大きくなるケースもあります。NTFS 以外のファイル システムがシステム上に存在し、そこに移行対象のデータが格納されている場合です。Windows XP 以降のオペレーティング システムは、NTFS が既定のファイル システム形式であるため、この条件に該当することはまれです。

複数ボリューム上の移行ストア パス

移行対象のデータを格納する NTFS ボリュームが複数ある場合、それぞれのボリュームに別個のハードリンク移行ストアが作成されます。この場合、コマンド ラインにはプライマリ移行ストアの場所を指定します。また、プライマリ移行ストアは、オペレーティング システムのボリュームである必要があります。同じ名前と同じディレクトリ名を持つ移行ストアが、移行対象のデータを格納するすべてのボリュームに作成されます。例:

Scanstate /hardlink c:\USMTMIG […]

オペレーティング システムが C: ドライブに、ユーザー データが D: ドライブに格納されているシステムでこのコマンドを実行した場合、次の場所に移行ストアが作成されます (ドライブはいずれも NTFS とします)。

C:\USMTMIG\

D:\USMTMIG\

ハードリンク移行ストアでは、コマンド ラインに指定するドライブが重要です。この指定によってマスター移行ストアの格納場所が決まるためです。マスター移行ストアは、非 NTFS ボリュームから移行するデータが格納される場所です。このボリュームには、非 NTFS ボリュームからのデータをすべて格納できるだけの十分な領域が必要です。他のシナリオと同様、指定したパスに移行ストアが既に存在する場合は、/o オプションを使って、ストア内のデータを上書きする必要があります。

場所の変更

異なるボリューム間で移行コンテンツをリダイレクトする場所の変更は、ハードリンク移行のパフォーマンスに悪影響を及ぼします。これは、システム ボリュームの境界を越えて移動する必要のある移行データはハードリンク移行ストアで保持できないため、システム ボリューム間でコピーが必要になるためです。

暗号化ファイル システム (EFS) の証明書とファイルの移行

暗号化ファイル システム (EFS) のファイルを、同じコンピューターの同じボリュームにインストールされた新しいオペレーティング システムに移行するには、Scanstate コマンド ライン構文の /efs:hardlink オプションを指定します。

EFS ファイルを異なるパーティションに復元する場合は、/efs:hardlink オプションではなく、/efs:copyraw オプションを使う必要があります。ハード リンクは、同じボリューム上のファイルに対してのみ作成できます。移行中、別のパーティションにファイルを移動するには、新しいパーティションにファイルのコピーを作成する必要があります。/efs:copyraw オプションを指定すると、ファイルが、暗号化された形式で新しいパーティションにコピーされます。

詳しくは、「EFS ファイルと EFS 証明書の移行」と「ScanState の構文」の「暗号化ファイル オプション」をご覧ください。

ハードリンク移行ストアを利用したロックされたファイルの移行

ハードリンク移行ストアの使用時は、アプリケーションまたはオペレーティング システムによってロックされているファイルが異なる方法で処理されます。

オペレーティング システムによってロックされているファイルはそのまま維持することはできず、ハードリンク移行ストアにコピーする必要があります。そのため、多数のオペレーティング システム ファイルを移行対象にすると、ハードリンク移行中のパフォーマンスが著しく低下します。通常は、\Windows ディレクトリにあるファイルは移行しないようお勧めします。そうすることで、パフォーマンス関連の問題を最小限に抑えることができます。

ボリューム シャドウ コピー サービスが利用されていないときの、アプリケーションによってロックされたファイルの扱いは、ハードリンク移行時もそれ以外のシナリオと同じです。ハードリンク移行は、ボリューム シャドウ コピー サービスと組み合わせることはできません。ただし、Config.xml ファイル内の新しい <HardLinkStoreControl> セクションに変更を加えると、アプリケーションによってロックされたファイルを移行することができます。

重要

Config.xml ファイルの <HardLinkStoreControl> セクションに加えた変更によって、ハードリンク移行ストアを削除しにくくなる場合があります。このような場合は、USMTutils.exe を使って、次の再起動時に移行ストアを削除するようにスケジューリングしてください。

Config.xml ファイルの XML 要素

Config.xml ファイルに追加された新しいセクションを利用すると、/hardlink オプションによって作動するハードリンク移行のいくつかの動作を必要に応じて制御することができます。

<Policies>

この要素には、移行ストアの作成中に USMT が従うポリシーを記述した要素が含まれます。

<HardLinkStoreControl>

この要素には、ハードリンク移行ストアの作成時におけるファイルの処理方法を記述した要素が含まれます。

<fileLocked>

この要素には、編集のためにロックされたファイルの処理方法を記述した要素が含まれます。

<createHardLink>

別のアプリケーションがファイルを編集のためにロックしている状況でも、ハード リンクを作成する必要がある場合に、その対象となるファイルのパスを表す標準的な MigXML パターンを定義します。

構文: <createHardLink> [パターン] </createHardLink>

<errorHardLink>

別のアプリケーションがファイルを編集のためにロックしている状況で、ハード リンクを作成する必要がない場合に、その対象となるファイルのパスを表す標準的な MigXML パターンを定義します。

<errorHardLink> [パターン] </errorHardLink>

重要

/hardlink オプションは、/nocompress オプションと組み合わせて使う必要があります。

次の XML は、アプリケーションによってロックされた \Users ディレクトリのファイルを、移行中そのまま維持できるように指定する例です。また、ロックされたファイルが \Users 以外のディレクトリにある場合は、使用中のファイルであることを示すエラーが発生するようにしています。<createHardLink> タグを使ってパスを指定する際は、ハードリンク移行ストアの削除が困難になることのないように十分に注意してください。

<Policies>
    <HardLinkStoreControl>
          <fileLocked>
            <createHardLink>c:\Users\* [*]</createHardLink>
            <errorHardLink>C:\* [*]</errorHardLink>
          </fileLocked>
    </HardLinkStoreControl>
</Policies>

関連項目

他のリソース

移行の計画