ハードリンクは元ファイルを消しても残る?シンボリックリンクとの違いを図解

ハードリンクは元ファイルを消しても残る?シンボリックリンクとの違いを図解

「元のファイルを削除したのに、別の名前からまだ開けるのはなぜ?」

「ハードリンクとシンボリックリンクは、普通のショートカットと何が違うの?」

Windowsの解説や開発ツールの設定で「リンク」という言葉に出会うと、コピーなのか、開くための入口なのか迷いますよね。
見た目だけでは、編集や削除の影響まで判断しにくいものです。

この記事では、ファイルの名前と中身の関係から、ハードリンクとシンボリックリンクの違いを説明します。
「元を消すとどうなるか」が分かり、バックアップやファイル整理で取り違えを防げます。

目次

まずは結論から

ハードリンクは、1つのファイルに複数の名前を付ける仕組みです。
最初の名前を削除しても、別の名前が残っていれば、同じ中身を開けます。

  • ハードリンク
    どの名前も同じファイルを直接参照します。「元」と「複製」の上下関係はありません。
  • シンボリックリンク
    対象の場所を表すパスを持ち、その場所へ案内します。対象がなくなると、リンク自体が残っていても開けません。
  • 普通のコピー
    中身を複製した別のファイルです。変更前の内容を残す目的なら、リンクを増やすだけでは足りません。

ここでは、WindowsのNTFS上にある通常のファイルを中心に扱います。

※NTFS(New Technology File System)は、内蔵ドライブなどで使われる、ファイルの保存・管理のルールです。

ハードリンクとファイルの名前の関係

名前が2つでも中身は1つ

エクスプローラーには、ファイル名と保存先が一覧で表示されます。
その名前は、中身へたどり着くための手掛かりです。
ハードリンクを作ると、同じ中身へたどり着ける名前がもう1つ増えます。

例えるなら、1冊のノートに「打ち合わせ用」と「資料作成用」という2枚の名札を付けるようなものです。
名札が2枚でも、ノートは1冊です。
一方の名前から同じノートを書き換えれば、もう一方から開いても変更後の内容になります。

ただし、これは名前と中身の関係をつかむたとえです。
実際のファイルは、紙の名札ではなく、ドライブ内の管理情報で結び付けられています。

最初の名前だけが特別ではない理由

たとえば「メモ.txt」から「別名.txt」というハードリンクを作ったとします。
作成時には前者を「元」と呼べますが、作成後はどちらも同じファイルを指す名前です。
「別名.txt」が「メモ.txt」という名前を経由して開いているわけではありません。

そのため「メモ.txt」という名前を削除しても、「別名.txt」から中身へたどり着けます。
削除した名前からもう開けないことと、ほかの名前から中身を開けることは両立します。

この関係は、ハードリンクを説明した公式技術文書でも確認できます。

※ MicrosoftはWindowsを提供する企業です。リンク先は、同じファイルを複数の名前で扱う仕組みと確認コマンドを説明したMicrosoftの公式資料です。

まとめると…

名前を増やすことと、中身を複製することは別です。
この違いが、削除した後の動作にもつながります。

シンボリックリンクが参照する場所

パスを通って対象へ進む仕組み

シンボリックリンクが持つのは、対象の場所を表す「パス」です。
パスは、C:\資料\メモ.txtのように、ドライブやフォルダーをたどって対象を示す書き方です。
リンクを開くと、そのパスが示すファイルへ進みます。

たとえば「作業用.txt」が「メモ.txt」へのシンボリックリンクなら、開いたり読み書きしたりする相手は、参照先の「メモ.txt」です。
リンク用に独立した文書の中身が複製されるわけではありません。

ハードリンクは同じファイルに複数の名前を持ちシンボリックリンクはパスを参照する模式図

Microsoftのシンボリックリンクの解説では、別のファイルやフォルダーを指す仕組みとして説明されています。
このように、ファイルを扱う土台の仕組みが参照先へ案内するため、通常のファイルのように読み書きできるのが特徴です。

対象の名前を削除したときの違い

シンボリックリンクが指している「メモ.txt」を削除すると、その場所から対象が見つからなくなります。
これが「リンク切れ」です。
別のハードリンクから同じ中身を開ける状態でも、消えたパスを指すシンボリックリンクは、その別名へ自動で切り替わりません。

反対に、ファイルへのシンボリックリンクそのものだけを削除する操作では、対象のファイルは削除されません。
ただし、リンク先を開いてから、その中身を削除・編集するのは別の操作です。

名前Aを削除した後もハードリンクの別名からデータを読める一方でシンボリックリンクは参照できない模式図
まとめると…

ハードリンクは同じファイルへの名前、シンボリックリンクは対象のパスへの案内です。
何を消すか考えるときは、「名前やリンクそのもの」と「開いた先の中身」を分けて確認しましょう。

コピー・ショートカットとの使い分け

目的から決める選択

変更前の文書を残したいなら、普通のコピーで別のファイルを作ります。
ハードリンクを作っても、同じファイルを別名で扱うだけなので、下書きと完成版を分ける用途には向きません。

デスクトップから手軽に開きたいだけなら、通常のショートカットで十分です。
Windowsの一般的なショートカットは.lnkという別の形式で、シンボリックリンクとは異なる機能です。
起動時の情報なども持てるため、「どちらも入口だから同じ」とは考えないでください。

普通のショートカットとコピーの選び方は、こちらの記事で具体的に説明しています。

あわせて読みたい
Windowsのショートカットとコピーの違いは?削除・編集で元ファイルはどうなる? 「ショートカットとコピーって、同じファイルが増えるわけではないの?」 「デスクトップのアイコンを削除したら、大事なファイルまで消えてしまう?」 見た目がよく似...

作れる対象と保存先の違い

NTFSのハードリンクは、同じボリューム上のファイルに作ります。
ボリュームは、通常CドライブやDドライブとして扱う、保存領域のまとまりです。
別のボリュームへまたぐハードリンクや、フォルダー自体のハードリンクは作れません。

シンボリックリンクは、ファイルにもフォルダーにも使えます。
絶対パスなどの条件を満たせば、別ボリュームやネットワーク上の対象も指せますが、その場所へ接続でき、必要なアクセス権があることが前提です。
作成に必要な権限もあるため、会社のPCで設定を変えてまで試す必要はありません。

ここまでの関係を、目的に沿って整理します。

種類 増えるもの 対象の名前を削除した場合 向いている目的
ハードリンク 同じファイルへの名前 別名が残っていれば読める 同じファイルを複数の名前で扱う
シンボリックリンク パスで対象を指すリンク そのパスからは対象を開けない アプリから別の場所を参照する
通常のショートカット 開く相手などを覚えた.lnkファイル 相手が見つからなければ開けない デスクトップなどに入口を置く
普通のコピー 中身を複製した別ファイル コピー側の中身は残る 変更前の内容や別案を残す
まとめると…

入口がほしいのか、同じファイルを別名で使いたいのか、内容を別に残したいのか。
この順で考えると、名前の似た機能を取り違えにくくなります。

Windowsで確認した編集・削除の動作

今回、NTFSの検証用フォルダーに、小さなテキストとハードリンク、普通のコピーを用意しました。
Windowsのビルド26200、PowerShell 7.6.5で、既存の仕事用ファイルには触れずに確かめています。

  1. 最初のファイルにalphaと保存し、ハードリンクと普通のコピーを作成しました。
  2. ハードリンクの名前から同じファイルへ直接betaを書き込むと、最初の名前からもbetaを読めました。コピーはalphaのままでした。
  3. 最初の名前を削除しても、ハードリンクの別名からbetaを読めました。

さらに、削除した場所へ同じ名前で新しくgammaを保存すると、新しいファイルはgamma、残っていたハードリンクはbetaでした。
同じ名前を付け直しても、以前のファイルと同じ中身になるわけではないことが分かります。

これは、同じファイルへの直接の書き込みを確認した結果です。
アプリによっては、保存時に新しいファイルへ置き換えるため、リンクの関係がそのまま続くとは限りません。
WordやExcel、クラウド同期の動作まで検証した結果ではありません。

シンボリックリンクの作成は、この検証環境では権限不足で実行できませんでした。
その削除時の説明は、実測ではなくMicrosoftのファイル削除APIの仕様に基づいています。

自分のファイルを確かめたい場合、fsutil hardlink list "C:\作業用\メモ.txt"は、そのファイルへのハードリンク名を一覧にする読み取り用のコマンドです。
パスは確認したい実在ファイルへ置き換えます。権限エラーが出たら、会社の制限を変えずに確認を止めてください。
一覧が1つだけだからといって、シンボリックリンクやショートカットがどこにもないことまで証明するコマンドではありません。

削除とバックアップで間違えないための注意点

リンクの数とデータの予備は別

ハードリンクの名前が2つあっても、中身は1つです。
その中身を誤って書き換えたり、保存先のドライブが故障したりすれば、名前を増やしただけでは守れません。
シンボリックリンクも、変更前の内容を保管する仕組みではありません。

ハードリンクの名前を増やしてもデータは共有され独立したバックアップにならないことを示す図

大切なファイルは別の保存先にもコピーし、必要な時点へ戻せるか確認しましょう。
単に同期するだけでは削除や変更も反映される場合があるため、履歴や復元の方法も確認が必要です。
保存方法の考え方は、バックアップの種類を扱う記事につなげて読めます。

あわせて読みたい
データバックアップの種類とは?失敗しない選び方と具体例を徹底解説 「バックアップの種類が多すぎて、どれを選べばいいかわからない…」 そう感じているIT担当者や、初めてバックアップ設計を任された方も多いのではないでしょうか。 この...

空き容量を増やす目的での一括削除

ハードリンクの名前を1つ削除しても、ほかの名前が同じデータを使っていれば、そのデータ分の領域は解放されません。
最後の名前を削除した場合も、アプリがファイルを開いているなど、実際の削除時期に関わる条件があります。
「削除を押した瞬間に、必ず表示容量が増える」とは考えないでください。

とくにWindowsやアプリが管理するフォルダーでは、重複して見える名前を自己判断でまとめて消さないことが大切です。
削除してよいか分からないものはその場で残し、提供元の整理方法を使いましょう。

よくある質問

  • ジャンクションも同じものですか?
    別の仕組みです。Windowsではフォルダーへの参照に使われ、通常、同じPC内の別ボリュームのフォルダーも対象にできます。ファイル用ハードリンクと混同せず、設定で指定された種類を確認してください。
  • USBメモリへハードリンクを持ち出せますか?
    別ボリュームに同じ関係をそのまま作ることはできません。データを渡したい場合は通常のコピーを使い、コピー先で開けるか確認します。コピーするツールがリンクをどう扱うかも確かめましょう。
  • ハードリンクを作れば、別名側のアクセス権を自由に変えられますか?
    独立したファイルとして権限を分ける仕組みではありません。同じファイルを共有しているため、権限の変更もほかの名前からの利用へ影響します。共有する範囲を分けたい用途では別の方法を検討してください。

まとめ

リンクの違いは、名前と中身がどう結び付いているかにあります。
削除やコピーの前に、その関係を一度確かめると、必要な内容を残しやすくなります。

  • ハードリンクは同じファイルへの複数の名前
    最初の名前を削除しても、別名が残れば中身を開けます。
  • シンボリックリンクはパスへの案内
    対象がその場所からなくなるとリンク切れになります。
  • 変更前の内容を残すなら別に保存
    リンクを増やすだけではバックアップになりません。

まずは扱っているものがリンクか普通のコピーかを確認し、大事な内容の予備を別に残しましょう。

  • URLをコピーしました!
目次