Junctionリンク(mklink)を使用してWindowsフォルダーを移動する


23

SSDの空き容量がかなり少なくなっています。Windowsには19%のフォルダーがあり(%windir%\ Installer)、安全に削除できません(ここで説明するように/server//q/15746)。

これで、mklinkJunctionリンクと呼ばれるすてきな小さなものが提供されます。cmdプロンプトで起動し、すべてのファイルを他のハードドライブに移動してから、これを実行すると:

mklink /J C:\Windows\Installer D:\Windows\Installer

何らかの方法でWindowsを台無しにしてしまうのでしょうか、それともこれで問題ありませんか?フォルダーのアクセス許可/属性はリンク全体で同じままですか?

以前にハードリンクを使用したことがあり、SSDを大幅に解放する魅力のように機能しましたが、システムフォルダーで試したことはありません(なぜ機能しないのかわかりませんが、私が間違っている場合にウィンドウ全体を再インストールする気分)


めちゃめちゃになります。まさにこれを行い、Ramdiskのようなソフトウェアのインストールに失敗した後。mklink / Jおよび/ Dと同じですが、フォルダーをcに戻すだけでインストールが完了します。おそらく、私のWindowsアップデートにも問題がありました。
Cmazay

回答:


29

OK、私はリスクを冒し、それは価値がありました-すべては正常に動作しますが、私は今SSDで17GBを解放しました。

基本的に、手順は次のとおりです。

  1. PCを再起動し、F8キーを押し続けてブートメニューを表示し、「セーフモードのコマンドプロンプト」を選択します(これは、Windowsフォルダーを移動できるようにするためです)。
  2. コマンドプロンプトが表示されたら、コマンドを入力してフォルダーを別のドライブに移動します。
    robocopy C:\Windows\Installer D:\Windows\Installer /MOVE /e
  3. 次に、不足しているフォルダーの「ジャンクション」リンクを作成します。
    mklink /J C:\Windows\Installer D:\Windows\Installer

もちろん、これは、%WINDIR%がC:\ Windowsであり、Dドライブがより多くのスペースを持つものであり、「D:\ Windows \ Installer」に目的地が必要であることを前提としています。一貫性)など...

これでうまくいくはずです。


これはWindows 10で動作しますか?
シャイフルニザムヤヤ

それはすべきです-情報のすべてはまだ知る限り適用されます。あなたがそれを試してみたら、それがどうなったのか教えてください!
veljkoz

Windows 8での作業-非常に素晴らしい、ありがとう。
ダンク

1
Windows 7で動作しました!
グレンビュージェフ

3
これは、ジャンクションが空のフォルダーに置き換えられるため、主要なWindowsアップデート(Windows 10 Fall Creators Updateなど)をインストールするときに問題を引き起こす可能性があることに注意してください。
0xA3

3

私のメインドライブ、120ギガバイトSSD上のスペースを再利用しようとしましたが、私が見つかりました。これらの命令を再配置する方法についてはUsersProgram FilesProgram Files (x86)、とProgramData。次のように、「デフォルトの場所を設定する」ためのレジストリの編集が含まれます。

  1. HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersionにリストされているパスのドライブ文字を置き換えます(たとえばC:\Program Files\Common FilesになりますD:\Program Files\Common Files
  2. 環境変数%SystemDrive%をHKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / ProfileListのドライブパスに置き換えます(つまり%SystemDrive%\ProgramDataになりますD:\ProgramData

1
注:構成/レジストリエントリがこの変更前に解決された場所を指している場合、既にインストールされているアプリは引き続き古い場所を参照する可能性があります。これらのアプリを再インストールすると問題が解決する場合があります。
TWiStErRob

2

同様の手順を実行しましたが、ファイルコピーを実行している間にコンピューターを使用できるようにしたかった(フォルダーは40 GBでした)。

  1. フォルダーをF:\ Installerに手動でコピーします
  2. Windows 8.1を使用しているため、コマンドラインブートを実行するには、Shiftキーを押しながら[再起動]をクリックし、[詳細設定]をクリックしました。
  3. コマンドラインにアクセスしたら、使用するドライブ文字を把握する必要がありました(Cではありませんでしたが、OSが完全に起動しているときは%SystemDrive%ですが)。echo list volume | diskpartC:ドライブがE:と呼ばれ、F:ドライブがまだF:ドライブであったことを確認するために使用しなければなりませんでした
  4. E:\ Windows \ Installerの隠し属性とシステム属性を削除しattrib -s -h E:\Windows\Installer、名前を変更しましたrename "E:\Windows\Installer" "Installer_old"
  5. 次に、次のようにしてジャンクションを作成できます mklink /J E:\Windows\Installer F:\Installer

2

pagefile.sysとswapfile.sysで同じトリックを使用できます(hiberfile.sysでも、マルチブートでの休止状態が嫌いなのでテストされていません)。

シンボリックリンクを作成する前に仮想RAMを非アクティブ化し、再起動してから、仮想RAMを再アクティブ化してください。

リンクを作成する前に、リンクの宛先に空のファイルを(メモ帳で)作成する傾向があります。

要確認:Windows10 UpGradeの場合、リンクを削除して実際のファイルを配置します。UpGradesの後にプロセスを繰り返すことができます。

WindowsXP(私が試した中で最も古い)以来、Windows 10バージョン1803.48まで動作しています。


休止状態が必要ない場合は、powercfg -h off代わりにwithを有効にします。これらのファイルでリンクを使用することは、災害に対する確実な領収書のように聞こえます
NiKiZe

単に1つのドライブで無効にし、別のドライブで有効にできるのに、保持したくない一時コンテンツで移動/ライニングスワップを煩わせるのはなぜですか?
オレグV.ボルコフ

0
  1. C:\Windows\Installerなどの別のディスクにコピーしD:\C\Windows\Installerます。
  2. C:コピー中にソースディレクトリが変更されていない場合は、両方のフォルダーのサイズを確認して比較します。
  3. ディスク上のフォルダの名前を変更しますC:。例Installer==InstallerX
  4. 管理者としてコマンドを実行し、次のコマンドを実行して起動します。
    • mklink /d C:\Windows\Installer D:\C\Windows\Installer
  5. すべてが正常であれば、しばらく(数日)待ちます。
    • はいの場合、フォルダのバックアップを削除できますC:\Windows\InstallerX
    • いいえ、削除象徴フォルダの場合C:\Windows\Installerと改名バックInstallerXInstaller、または背面フォルダをコピーD:\C\Windows\InstallerしますC:\Windows\Installer

これは別の回答を複製し、新しいコンテンツを追加しません。実際に何か貢献できるものがない限り、回答を投稿しないでください。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.