肥大化するPCゲームとドライブ間移行の技術的課題
近年の3A級PCゲームは、インストール容量が100GB〜150GBを超えることが一般的になりました。高速なNVMe SSDの増設、Cドライブの容量圧迫の解消、またはストレージ間のデータ分散を目的として、ゲームのインストール先を別のドライブへ移行したい需要は常に存在します。しかし、単にゲームフォルダを別ドライブへ切り取り・貼り付けしただけでは、レジストリの参照パスが破損し、クライアントから認識されず、再び100GB超の全データ再ダウンロードを要求されるトラブルが多発します。
通信帯域を一切消費せず、数秒〜数分で安全に別ドライブへゲームを移行するためには、2つの基盤技術を理解する必要があります。それは、各プラットフォームのマニフェスト管理(Steamの .acf ファイルやEpicの .egstore)、および Windows NTFSのディレクトリジャンクション(Junction) です。
ゲーム移行技術の比較マトリクス
PCゲームを別ドライブへ移動する代表的な4つの手法の長所・短所と安全性比較は以下の通りです:
| 移行手法 | 転送処理速度と負荷 | クライアント更新への耐性 | アンチチート(EAC/BE)互換性 | 誤再ダウンロード発生リスク | ドライブ文字を跨ぐ対応力 |
|---|---|---|---|---|---|
| 公式クライアント標準機能 | ストレージの物理コピー速度に依存 | 100%完全(DBを正規更新) | 100%完全対応(公式API仕様) | ゼロ(正規の移動処理) | 事前に別ドライブにライブラリ作成が必要 |
NTFSジャンクション(mklink /J) | 瞬時(OSドライバ層のポインタ作成) | 極めて高い(クライアントは透過認識) | 完全対応(カーネルドライバに影響なし) | 極めて低い(元データは常に保持) | Windows上の全固定NTFSドライブ間で動作 |
シンボリックリンク(mklink /D) | 瞬時(ソフトリンク作成) | 中程度(セキュリティ境界で破損の恐れ) | やや劣る(一部のアンチチートが弾く) | 中程度 | Windows管理者権限がコマンド実行に必須 |
| ACFマニフェスト手動流し込み | 物理ディスクコピー速度に依存 | 記述構文が正確なら100%有効 | 完全対応(整合性確認後に認識) | 中程度(記述ミスで再DL発生) | 外部ポータブルSSD等あらゆるストレージに対応 |
手法1:主要ランチャーの正規移行プロトコル
公式ランチャーが移行機能を提供している場合は、正規手順を実行するのが最も確実です:
Steam「ストレージ管理」機能
- Steamの 設定 -> ストレージ を開きます。
- 画面上部で現在のドライブを選択し、移動対象のゲームにチェックを入れて右下の 移動 をクリックします。
- 移行先のドライブ(Steamライブラリ)を指定すると、
steamapps\common\の本体ファイルとappmanifest_[AppID].acfが自動的に同期転送され、設定ファイル(libraryfolders.vdf)も自動更新されます。
Epic Games Launcher「1%一時停止・差し替えテクニック」
Epicにはワンクリック移動ボタンがありませんが、以下の手順で再ダウンロードを完全に回避できます:
- 元のゲームフォルダ名を一時的に変更します(例:
FortniteをFortnite.backupにリネーム)。 - Epic Games Launcherを開き、新しい移動先ドライブを指定してインストールを開始します。
- ダウンロード進行度が1%になった瞬間に 一時停止 を押し、タスクバー右下の通知領域からEpic Launcherを完全に終了します。
- 新ドライブ側に作成された空のフォルダを削除し、
Fortnite.backup内の全実体ファイルをその新しいパスへ移動します。 - Epic Launcherを再起動して 再開 をクリックします。ダウンロードがスキップされ、自動的に「検証中」フェーズへ移行し、短時間で認識が完了します。
手法2:NTFSジャンクション(Junction)による透過的リダイレクト
ライブラリ管理機能を持たない独自のランチャーや、レジストリに絶対パスが固定されている旧作タイトルの場合、WindowsのNTFSジャンクションを活用するのが最もスマートです。
-
ゲームフォルダの物理移動: ゲームフォルダ全体を新しいドライブへ移動します:
- 移動元(空になった元の場所):
C:\Program Files (x86)\OldLauncher\Games\HeavyGame - 移動先(新しい物理保存先):
D:\Games\HeavyGame
- 移動元(空になった元の場所):
-
管理者コマンドプロンプトでジャンクションを作成: Windowsのスタートメニューで
cmdを検索し、管理者として実行 を選んで次を入力します:mklink /J "C:\Program Files (x86)\OldLauncher\Games\HeavyGame" "D:\Games\HeavyGame"- 第1引数は 元のパス(現在存在しない、または空のリンク作成場所)。
- 第2引数は 新ドライブの実体パス。
実行すると、Cドライブ側に特殊なリンクアイコンが生成されます。ランチャーがCドライブへ読み書きを行うと、NTFSファイルシステムドライバが透過的にDドライブへ通信を中継します。オーバーヘッドは皆無であり、Easy Anti-Cheatなどのカーネルアンチチートからも改ざん扱いされません。
注意点:Steamの「既存のファイルを検出中」無限ループの脱出法
バックアップからゲームを戻した際、Steamが「既存のファイルを検出中」のままフリーズしたり、100GBのデータを誤認して削除・全再ダウンロードを開始することがあります。これは appmanifest_[AppID].acf の欠損や StateFlags の破損が原因です。
ACFマニフェスト修復手順
- Steamを完全に終了します(Steam -> 終了)。
- ストアURLから対象ゲームのAppID(例: サイバーパンク2077なら
1091500)を確認します。 - 移動先Steamライブラリの
steamapps\フォルダ直下にappmanifest_[AppID].acfを作成(または編集)します。 - テキストエディタで開き、以下の構造を確認・修正します:
"AppState" { "appid" "[AppID番号]" "Universe" "1" "installdir" "[commonフォルダ直下の正確な英数字フォルダ名]" "StateFlags" "4" }- 最大のポイントは
"StateFlags" "4"です。数値「4」は「完全インストール済み・正常」を意味します。 - ここが
1026や1030(アップデート待機・破損状態)になっていると再ダウンロードループに陥ります。
- 最大のポイントは
- 上書き保存してSteamを起動すると、長時間の検証をスキップして即座にプレイ可能状態になります。
365Finds ゲームライブラリ移行&マニフェスト修復ツール
手動でのコマンド入力ミス(スペースを含むパスのエラー)やACFファイルの構文破壊を防ぐため、365Finds ゲームライブラリ移行&マニフェスト修復ツール の利用を推奨します。各タイトルのAppID自動検索、構文チェック済み mklink /J コマンドの自動生成、破損マニフェストの自動リペア機能を備え、大容量ゲームの安全なドライブ引っ越しを強力に支援します。