Windowsでハードリンクを作成するにはどのような方法で作ったらいいのだろうか。この記事では、ハードリンクとはどのようなものでシンボリックリンクとの違いは何か、Windowsのコマンドプロンプトでハードリンクを作成する方法について詳しく解説する。
【Windows】ハードリンクとは
Windowsではファイルへアクセスするための方法として、ハードリンクを作成できるが、ハードリンクとはどのようなものだろうか。
ハードリンクとは、ファイルの実体そのものに直接結びつけた名前である。ファイルのすべてのデータを保存したinodeに対して、リンクするための名前がハードリンクだ。PC上のすべてのファイルには必ず1つ以上のハードリンクが存在する。
シンボリックリンクとの違い
ハードリンクと似たようなものに、シンボリックリンクがある。ハードリンクとシンボリックリンクの違いとはどのようなものなのだろうか。
ハードリンクはファイルの実体へリンクしているのに対して、シンボリックリンクとはファイルのある場所へのリンクを作成するという違いがある。ハードリンクとは違い、ファイル本体のinodeのディレクトリやパーティションが異なった場所にも、シンボリックリンクは作成可能だ。
【Windows】ハードリンクの作成方法
Windowsでハードリンクを作成するにはどうしたらいいのだろうか。Windowsでのハードリンクの作成はコマンドプロンプトで行う。コマンドプロンプトでの作成方法は次の手順で進めよう。
【手順①】管理者権限でコマンドプロンプトを開く
まずはコマンドプロンプトを起動する。ハードリンクを作成するときには、管理者権限での起動が必須である。次の手順でコマンドプロンプトを起動しよう。
![ハードリンクの作成方法_手順1](https://otona-life.com/wp/wp-content/uploads/2022/04/photo001-158.jpg)
Windows10なら「スタート」から「Windowsシステムツール」を開き「コマンドプロンプト」を右クリックする。「その他」>「管理者として実行」とクリックする
すると、コマンドプロンプトを管理者権限で起動できる。
【手順②】ハードリンク作成のコマンドを入力する
コマンドプロンプトが起動したらハードリンクを作成するためのコマンドを入力しよう。ハードリンクを作成するためのコマンドは次のとおりである。
fsutil hardlink create 作成するハードリンクのリンク名のパス リンク元のパス
今回は「F:\test.text」のファイルのハードリンクを「hardlink.txt」として作成してみる。
fsutil hardlink create F:\hardlink.txt F:\test.txt
![ハードリンクの作成方法_手順2](https://otona-life.com/wp/wp-content/uploads/2022/04/photo002-151.jpg)
コマンドプロンプトでハードリンク作成のコマンドを実行
「ハードリンクが作成されました」とコマンドプロンプトに表示されれば、ハードリンク作成は成功である。
【Windows】ハードリンクを作成する時の注意点
ハードリンクを作成するときには2つの注意点がある。
1つ目の注意点は、ハードリンクはディレクトリに対しては作成できないという点である。ディレクトリに対して、元のリンクとは別のリンクを作成したいときには、ハードリンクではなくシンボリックリンクを作成するようにしよう。
2つ目の注意点は、ハードリンクはファイルシステムが違う場所には作成できないという点である。Windowsでは、元のファイルと違うパーティションにハードリンクを作成することはできない。違うパーティションにハードリンクを作成したいときには、シンボリックリンクを使おう。
なお、ハードリンクを削除しても、元のinodeが変更されなければ元のファイルや違うハードリンクが削除されることはない。
【Windows】どのファイルがハードリンクかを見分けるには?
作成したハードリンクを見分けるにはどうしたらいいのだろうか。
エクスプローラーでハードリンクを作成した場所を見てみると、次のとおりである。
![どのファイルがハードリンクかを見分けるには?‐1](https://otona-life.com/wp/wp-content/uploads/2022/04/photo003-79.jpg)
ハードリンクを作成した場所
実はこの画像では、元のファイルが「test.txt」で、その他のファイルは全て個のファイルのハードリンクとして作成したリンクである。しかし、エクスプローラーでの見た目上は、どれもまったく同じテキストファイルとして表示されているので、ハードリンクかどうかを見分けることはできない。
このような場合には、コマンドプロンプトで次のコマンドを実行してみると判別できる。
fsutil hardlink list 元のファイルのパス
![どのファイルがハードリンクかを見分けるには?‐2](https://otona-life.com/wp/wp-content/uploads/2022/04/photo004-75.jpg)
ハードリンクを見分けるためのコマンドを実行
すると元のファイルに対してのハードリンクがリストとして表示される。なお、ハードリンクを見分けるためのコマンドを実行するときには、コマンドプロンプトを管理者権限で起動しなくても大丈夫だ。
※サムネイル画像(Image:Lastroll / Shutterstock.com)