この 30 年前からある Windows 機能を使用すると、ストレージを無駄にせずにファイルを複製できます。

in tech

バックアップ目的ではなく、Windows PC 上の別のフォルダーにファイルをコピーしたいとします。同じファイルを複数のフォルダーに表示したいだけの場合は、通常の方法でファイルをコピーする必要はありません。各コピーが記憶域スペース全体を占有します。代わりにできることは、ハードリンクすることです。これにより、同じファイルが別のフォルダに表示され、元のファイルと区別できなくなります。この「コピー」の利点は、余分なストレージを使用しないことです。

ファイル名は実際のファイルへの単なるポインタであり、ハードリンクすると別のファイル名が作成されます。

ファイル アプリを表示している Lenovo Googlebook 15 の画像。

ハード リンクは、Unix の初期からその一部でした。そのため、macOS や Linux などの Unix 系デスクトップ オペレーティング システムもハード リンクをサポートしています。

Windows に関しては、ハード リンクのサポートは、NTFS ファイル システムを搭載した最初の Windows バージョンである Windows NT 3.1 でサポートされました。しかし、その支援は何年もの間限定的でした。 Microsoft は、通常の Windows アプリが Windows 2000 とのハード リンクを作成できるようにしており、ユーザーが簡単にハード リンクを作成できる機能が組み込まれた最初のバージョンは Windows Vista でした。

ハード リンクは、ストレージ ドライブに保存されているファイルの別名にすぎません。重要なのはファイル自体です。 Windows と NTFS の場合、すべてのファイルは、NTFS ファイル システムのコア データベースであるマスター ファイル テーブル (MFT) にレコードを持ちます。

NTFS ファイル システムがどのように機能するかを示す図。

そのファイルの名前は、オペレーティング システムとアプリを MFT 内のファイルのレコードに導くポインターです。したがって、ファイルをハードリンクする場合、実際のデータはコピーされません。同じファイルを指す別の名前を作成するだけです。ファイルをハードリンクしても追加のストレージを使用しないのはこのためです。実際、ファイルの元の名前もハード リンクです。これは、MFT 内のファイルのレコードを指すだけであるためです。

ただし、ファイルをコピーすると、実際には、MFT 内の独自のレコードとデータの独自のコピーを含む新しいファイルが作成されます。別の NTFS ドライブまたはパーティションにコピーすると、そのドライブ自体の MFT に入ります。新しいファイルを作成すると、元のファイルと同じ量のストレージが消費されますが、ハード リンクは同じファイルの別の名前であり、新しいファイル自体ではないため、消費しません。

Linux パーティション ファイル システムにアクセスしてファイル エクスプローラーを表示している Windows 11 PC。

ファイルのハード リンクでは、まったく同じファイルを指す新しい名前が作成されるだけで、コピーのように新しいファイルが作成されるわけではないため、ハード リンクを使用すると、追加のストレージを使用せずに、ファイルの 1 つのコピーを同じ NTFS パーティション上の複数の場所に存在させることができます。パーティション全体のさまざまなフォルダー内のファイルへのハード リンクを多数作成でき、余分なスペースを占有することはありません。

したがって、たとえば、2025 年の休暇で撮った 5 GB のビデオが「2025」という名前のフォルダーにある場合、それを別のフォルダー (たとえば、「ビデオ」フォルダー) にハード リンクできます。「ビデオ」フォルダー内のビデオは、実際のファイルの場所を Windows とアプリに示す別の名前にすぎないため、余分なスペースを使用しません。

ハード リンクを作成すると、Windows は名前を区別しなくなり、名前が特別なものとして認識されなくなります。それぞれの名前は同等のハード リンクとして見なされ、ファイルの実際のコピーが 1 つだけ存在します。 「2025」フォルダーから元のビデオを削除できますが、ビデオ フォルダー内にファイルへのハード リンクがあるため、ファイルはまだ存在します。実際のファイルは、最後のハード リンクを削除した場合にのみ削除されます。他のハード リンクに影響を与えずに、各ハード リンクの名前を変更することもできます。彼らの名前は変わりません。

一部のフォルダーの横にサイズが表示され、背景に Windows 11 の壁紙がぼやけています。

逆に、同じファイルのハード リンクが複数ある場合は、それらのいずれかを編集すると、すべてのハード リンクに変更が表示されます。したがって、テキスト ドキュメントの 1 つのハード リンクを開いて段落を追加すると、変更を保存するとすぐに、すべてのハード リンクで同じ更新されたドキュメントが開かれるようになります。一方、ファイルをコピーすると、各コピーは個別のファイルとなり、1 つを編集しても他のファイルには影響しません。

このため、ハード リンクをバックアップとして使用することはできません。ファイルが破損した場合、各ハード リンクは同じ破損したファイルを開きます。ハードリンクには他の制限もあります。たとえば、NTFS ファイル システムを使用する必要がある同じドライブまたはパーティション内のファイルのみをハード リンクできます。別のドライブまたはパーティションにハードリンクすることはできません。 FAT32 や exFAT など、Windows で使用されている他のファイル システムは、ハード リンクをまったくサポートしていません。また、フォルダーをハード リンクすることはできず、個々のファイルのみをハード リンクすることができます。

一部のアプリでは、同じファイルに変更を保存するのではなく、新しいファイルを作成してそれを入れ替えることで編集内容を保存することにも注意してください。これによりハード リンクが静かに切断されるため、他のリンクでは古いバージョンが開かれたままになります。

この方法は非常に面倒ですが、

ハード リンクのもう 1 つの制限は、Windows にはハード リンクを作成するためのネイティブ GUI ツールがないため、ハード リンクを作成するにはコマンド プロンプトまたは PowerShell を使用する必要があることです。この手順は、特にコマンド ラインに慣れていない場合には面倒かもしれませんが、少なくとも比較的簡単で、管理者権限は必要ありません。

コマンド プロンプトを使用する場合は、次のように入力する必要があります。

mklink /H "path of new hard link" "path of existing file"

Rufus 実行可能ファイルをハードリンクするとします。 設置者 私のサブフォルダー ダウンロード フォルダーのルートに直接 ダウンロード フォルダ。その場合、次のように入力する必要があります。

mklink /H "C:\Users\Administrator\Downloads\rufus-4.9.exe" "C:\Users\Administrator\Downloads\Installers\rufus-4.9.exe"

一度打ったら 入力コマンド プロンプトでハード リンクが作成されたことが確認され、このセクションの上部にあるスクリーンショットでわかるように、Rufus 実行可能ファイルが直接 ダウンロード フォルダ。覚えておいてください。 mklink コマンドはコマンド プロンプトでのみ機能するため、PowerShell に入力しても機能しません。

PowerShell を使用する場合、適切なコマンドは次のとおりです。

New-Item -ItemType HardLink -Path "path of new hard link" -Target "path of existing file"

Rufus の例では、コマンドは次のようになります。

New-Item -ItemType HardLink -Path "C:\Users\Administrator\Downloads\rufus-4.9.exe" -Target "C:\Users\Administrator\Downloads\Installers\rufus-4.9.exe"

Microsoft はハード リンク用の GUI ツールをわざわざ作成していませんが、開発者の Hermann Schinagl はその仕事用の小さな無料ツールを作成しました。これは Windows 11 でうまく機能します。リンク シェル拡張機能はファイル エクスプローラーの右クリック メニューに統合されており、Total Commander でも機能します。他の Windows ファイル マネージャーではテストしませんでしたが、それらでも同様に動作するはずです。

Link Shell Extension の使用は非常に簡単です。アプリをインストールして、Explorer.exe を再起動するだけです (このとき、エクスプローラーでファイルをコピーしたり移動したりしないようにしてください)。アプリがインストールされたら、任意のファイルを右クリックし、 さらにオプションを表示をクリックしてから、 リンクソースを選択してください。次に、ファイルをハードリンクしたい場所に移動し、空のスペースを右クリックして、 さらにオプションを表示を選択し、 名前を付けてドロップをクリックして、 ハードリンク。オリジナルを含むファイルのすべてのハード リンクには赤い矢印が表示されるため、どのファイルがハード リンクであるかが常にわかります。

Windows ファイル エクスプローラーでフォルダーが開かれ、多数のファイルが表示されます。

Windows ではフォルダーをハード リンクできませんが、リンク シェル拡張機能を使用すると、フォルダー内のすべてのファイルとそれに含まれるサブフォルダーをハード リンクできます。必要なのは、任意のフォルダーを右クリックし、 さらにオプションを表示、 クリック リンクソースを選択してくださいを選択し、目的地に移動し、 名前を付けてドロップ そしてクリックしてください ハードリンク クローン。これにより、元のフォルダーと同じ名前の新しいフォルダーが作成され、そのフォルダー内のすべてのファイルへのハード リンクが作成されます。

ハード リンクは実際のコピーではないことを念頭に置いている限り、非常に便利です。ハード リンクをバックアップには使用できませんが、他のさまざまな目的に使用できます。たとえば、ストレージを無駄にせずに同じ大きなファイルを複数の場所に保存したり、複数のエミュレータ間でゲーム ファイルや異なるアプリ間でメディア ファイルを共有したり、新しいコピーを作成せずにファイルを整理したりすることができます。すべてのファイルが同じ NTFS ドライブまたはパーティション上にあることを確認してください。

このテーマについてさらに詳しく知りたい方は以下をご覧ください

公式情報はこちら

関連記事

前の投稿
この5本の映画は二度と観ない

関連記事