Using Hardlinks

Introduction

Migration Manager allows storing data files as hardlinks locally on NTFS volumes. This for use with In-Place Operating System refreshes to reduce migration time and use less storage for the personality during migration. Instead of copying data to the personality data store, the data is Hardlinked to and remains in place.

When Migration Manager extracts with hardlinking, data files on NTFS volumes are hardlinked to instead of being copied into a data store. If multiple ntfs volumes exist, the specified datastore will be created on each ntfs volume for hardlinking files on that volume. Non-ntfs volumes will store data on the primary ntfs volume.

Note
Files on non-ntfs volumes, as well as locked files on ntfs volumes cannot be hardlinked and are copied into the specified data store location instead of being hardlinked.

During the injection, files are hardlinked to their destination location. Any files that are being injected to a different volume will be copied as ntfs does not support hardlinks to different volumes.

The file attribute read-only does not persist in a hardlink migration due to ntfs limitations.

Note
If using File Rules to redirect files from a single location to multiple locations, such as using a File Rule to redirect files from C:\Data to %MyDocuments%, all of the injected files will be hardlinked together. As a result, changes made to a file in one location will be reflected in that file in all locations.

Example Command-Line

Extraction

start /w MigrationManager.EXE /autoextract /allusers /personalitypath C:\_data /hardlinks

WARNING
The specified data store location, in this example C:\_data must be protected during the operating system reimage process, as well as the same specified directory, for example E:\_data, on each ntfs volume if multiple ntfs volumes exist. Migration Manager does not provide protection of the directory during reimage and failure to protect the directory will result in complete data loss.

Injection

start /w MigrationManager.EXE /autoinject /allusers /personalitypath C:\_data

Note
The personality storage type is automatically determined on injection. Specifying /hardlinks with /autoinject is optional

Example Command-Line with SCCM/MDT

Note
Prior to the Task Sequence with the command line to run Migration Manager, a Task Sequence Variable must be set for OSDStateStorePath. This variable must then be used to specify the data storage location for Migration Manager as sccm protects this location during the operating system reimaging. Failure to use a location that is not being protected during os reimaging for data storage will result in complete data loss.

Extraction

start /w MigrationManager.EXE /autoextract /allusers /personalitypath %OSDStateStorePath% /hardlinks

Injection

start /w MigrationManager.EXE /autoinject /allusers /personalitypath %OSDStateStorePath%