web-dev-qa-db-ja.com

Vista / W7でc:\ usersをd:\ usersに移動する最良の方法は何ですか

Windows 7 RC1をインストールしたばかりで、c:\ usersをd:\ usersに移動したいと思います。

これを行う最良の方法は何ですか?


Windows 7がC:としてマウントされた予約済みパーティションを作成するという事実のため、回復コンソールでは、次のコマンドを使用する必要がありました。

robocopy /mir /xj D:\Users E:\Users
mklink D:\Users D:\Users /j

Mklinkコマンドの両方のDは正しいです。システムが再起動すると、回復コンソールでDだったドライブがCドライブになります。

65
Scott

Windowsのインストール後、C:\ Usersフォルダー全体を別のドライブに簡単に移動できます。

警告:これを行うと、システムの復元を実行する必要がある場合に問題が発生する可能性があります

  1. インストールメディアから起動し、コマンドプロンプトを表示します( インストールダイアログでShift + F10を押します
  2. Robocopyを使用してC:\ UsersをD:\ Users:robocopy c:\Users d:\Users /mir /xj /copyallにコピーします
    a。 /mirは、ディレクトリをミラーリングするようrobocopyに指示します。これにより、すべてのファイルがコピーされます
    b。 /xjは非常に重要です。これは、接合点をたどらないようにrobocopyに指示します。これを忘れると大変なトラブルになります。
    c。 /copyallは、ACLおよび所有者情報を含むすべての属性をコピーします
  3. ファイルが正常にコピーされたことを確認します
  4. C:\ Usersを削除します
  5. D:\ Usersを指すジャンクションを作成します:mklink c:\Users d:\Users /j

それでおしまい。 Vistaが問題なく動作したため、このプロセスを使用してきましたRTM=問題ありません。

記事 も同様に説明しています。記事で行っているように、xcopyではなくrobocopyを使用して、NTFSアクセス許可の問題を回避します。

更新:私は難しい方法を見つけたので、この方法で「プログラムデータ」または「プログラムファイル」を移動することを計画している場合、すべてが期待どおりに機能することを知ってがっかりすることにも言及したいと思いました。 、ただしWindows Updateはインストールされなくなります。これがWindows 7で修正されたかどうかはわかりません。

更新2:@Benjolには ブログ投稿 があり、このメソッドが除外したジャンクションを再作成するプロファイルフォルダを移動する方法について詳しく説明しています。レガシーアプリで問題が発生した場合は、こちらを見て、彼の方法で問題が解決するかどうかを確認してください。

66
Jimmie R. Houts

easiestおよびrecommendedwayis move toドキュメント、音楽、ビデオなど、ユーザーディレクトリ内の個々の特別なフォルダー。これは、次の手順で実行できます。

  1. 右クリック>プロパティ
  2. 場所タブ
  3. 目的の場所を入力して[移動]をクリックします

これの欠点は、メインの「ユーザー」フォルダがまだ残っていることです。

hardの方法は、はるかに複雑で危険です:

ソリューションの検索で、ユーザープロファイルディレクトリの場所をシステムドライブから移動するための簡単な方法は、次の2つだけです。

  1. 無人インストールファイルを使用して、セットアップ中にユーザープロファイルフォルダーを設定します。
  2. エクスプローラーを使用して実行できるユーザープロファイル内の個々のフォルダーを移動します(これにより、レジストリキーHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell FoldersおよびHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Userが更新されますシェルフォルダー)。

ただし、これでは十分ではなかったため、実際のユーザープロファイルフォルダーを、レジストリ設定を含む別のパーティション/ボリュームに移動する必要がありました。レジストリキーと値を大量に置き換えることに慣れていれば、それほど難しいことではないことがわかりました。

ユーザープロファイルの場所を移動する方法は次のとおりです。 PublicとDefaultを含むすべてのプロファイルを移動したかったので、必要ない場合はこれらの手順の一部をスキップできます。

  1. システムの完全なバックアップがあることを確認してください!
  2. 元のデフォルトプロファイルディレクトリを新しい場所にコピーします(たとえば、C:\ Users\DefaultからD:\ Users\Defaultに)。
  3. 元のパブリックプロファイルディレクトリを新しい場所にコピーします(たとえば、C:\ Users\PublicからD:\ Users\Publicに)。
  4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListに移動します。
  5. Defaultキーの値を新しいユーザープロファイルの場所(D:\ Users\Defaultなど)に変更します。
  6. 公開キーの値を新しいユーザープロファイルの場所に変更します(例:D:\ Users\Public)。
  7. ProfilesDirectoryの値を新しいユーザープロファイルの場所(D:\ Usersなど)に変更します。
  8. この時点で、再起動して、以前にログインしたことがなく、したがってプロファイルが作成されていない別のユーザーとして再度ログインする必要があります。私の場合、管理者ユーザーはこれまでにログインしたことがないため、有効にして管理者がログインして使用できるようにしました。 [コンピュータの管理]をロードして管理者ログインを有効にしてから、[ユーザーアカウント]に移動し、管理者のプロパティを編集して、[ログインを無効にする]をオフにします。
  9. 新しいユーザーアカウントで初めてログインすると、Windowsがプロファイルを作成しているときに「デスクトップの作成」などが表示されます。新しいプロファイルは新しい場所に作成する必要があることに注意してください。
  10. ログイン後、できるだけ多くのアプリケーションを閉じてみてください。これにより、ほとんどのファイルがロックされて、コピーできないようになります。
  11. 元のユーザープロファイルフォルダー全体を元の場所から新しい場所にコピーします(例:C:\ Users *からD:\ Users)。 (コピー開始後の次のステップを参照してください)。
  12. このコピー中に注意すべき点がいくつかあります。ロックされ、コピーされない何千もの.TMPファイルがありました。これらのファイルをスキップしました。 Alt-Sを押したままにして、スキップされたすべてのファイルを表示し、スキップされている.TMPファイルのみが存在することを確認しました。はい、これには少し時間がかかりましたが、少なくとも、すべてのファイルをコピーしたことには自信がありました。このプロセスは、おそらくコマンドプロンプトまたはpowershellを使用して簡単にできるでしょう。
  13. あなたの場合、コピーしないファイルがいくつかある場合は、sysinternalsによって提供されるファイルであるprocexp.exeを実行できます。次に、Find Handleを実行して、ファイル名の一部を検索します。 procexpは、ファイルをロックしているプログラムを通知します。ただし、できる限り多くのプログラムを閉じている限り、これは起こりません。
  14. レジストリで検索と置換を行うプログラムを見つけてダウンロードします。完全に機能する単一のプログラムが見つからなかったので、提案はしません。私はいくつかの異なるフリーウェアアプリケーションをダウンロードして、それらすべてを使用することになりました。
  15. レジストリの検索と置換プログラムを使用して、元のユーザープロファイルフォルダーを検索し、それを新しいユーザープロファイルフォルダーに置き換えます(たとえば、「C:\ Users」を検索し、「D:\ Users」に置き換えます。私が使用したアプリケーションは値のみを変更し、キー名は変更しませんでしたが、変更が必要なキーはすべてMuiCacheに関連していました。これらを実際に更新する必要があるかどうかはわかりません。念のため確認しました。
  16. ログアウト。同じユーザーで再度ログインします。交換するものがなくなるまで手順14を繰り返します。この手順の理由は、ログアウト時に、一部のプログラムが古いユーザープロファイルパスを使用してレジストリを更新しているように見えるためです。
  17. Regedit.exeを実行し、元のユーザープロファイルパスを検索して、存在しないことを確認します。この手順の理由は、(手順13で説明したように)使用したレジストリ検索と置換プログラムを信頼していなかったためです。検索と置換がそれらを逃したため、私は手動で約12のキーと値を更新する必要がありました。
  18. レジストリとハードコードされたプロファイルパスを使用しないプログラムを簡単に見つけられるように、元のプロファイルフォルダーの名前を変更します(例:C:\ UsersをC:\〜Usersに名前変更)。
  19. ログアウト。通常のユーザーとして再度ログインします。 「ハードコードされた」ユーザープロファイルの場所を使用するプログラムを除いて、すべてが正しく機能しているはずです。
  20. 「ハードコードされた」プロファイルの場所を使用していて、元のユーザープロファイルパスを探しているプログラムを見つけるために使用できる2つの簡単な方法があります。上記のprocexp.exeトリックを使用して、元のプロファイルの場所でハンドルを検索できます。 oringalプロファイルの場所を監視して、新しいフォルダーまたはファイルが作成されたかどうかを確認することもできます。たとえば、私の場合、FolderShareはディレクトリC:\ Users\MyUsername\AppData\Local\FolderShareにいくつかのフォルダーとファイルを作成しました。そこで、別のパスを指すようにFolderShare設定を更新してから、C:\ Usersディレクトリを削除しました(C:\〜Usersはまだバックアップとして存在していたことに注意してください)。
  21. これですべてのデータが移動されたと確信できたので(右??????)、元のユーザープロファイルの場所(C:\〜Usersなど)のバックアップを削除できます。

ソース:Vistaでのユーザープロファイルフォルダーの場所の変更

マイクロソフトが特別なフォルダーの場所を変更するのがとても簡単で、ユーザーフォルダー構造全体の場所を変更するのが難しいという事実を見て、私はを強くします簡単なアプローチをするようにアドバイスしてください

11
Aron Rotteveel

これが正しいプロセスです

  1. インストールメディアから起動し、コマンドプロンプトを表示します(最初に[修復]をクリックする必要があると思います)
  2. Robocopyを使用してC:\ UsersをD:\ Usersにコピーします:robocopy c:\ Users d:\ Users/mir/xj/ copyall
    a。/mirは、ディレクトリをミラーリングするようにrobocopyに指示します。これにより、すべてのファイルがコピーされます
    b。/xjは非常に重要です。これは、接合点をたどらないようにrobocopyに指示します。これを忘れると大変なトラブルになります。
    c。/copyallは、ACLおよび所有者情報を含むすべての属性をコピーします
  3. ファイルが正常にコピーされたことを確認します
  4. C:\ Usersを削除します
  5. D:\ Users:mklink c:\ Users d:\ Users/jを指すジャンクションを作成します

私はジミーの指示をしました、そして私はほとんど働いていました。しかし、IEで奇妙な問題があり、ファイルをダウンロードできませんでした。ダウンロードの問題を解決する解決策を見つけました。これは superuser に記載されています:

5
Hapkido

インストール中に無人スクリプトでC:\ Usersを「自動的に」移動するためのリソース。

Microsoftsには KBにいくつかの問題があります 移動する特別なフォルダーを囲んでいます。

無人スクリプト自体に関しては、次のように指定できるProfilesDirectoryの子を持つFolderLocationsという要素があります。

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-Microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
processorArchitecture="x86">
<FolderLocations>
<ProfilesDirectory>d:\users</ProfilesDirectory>
</FolderLocations>
</component>
</settings>
</unattend>

これは、una​​ttend.xmlの処理方法を含む Vistaの展開 に関するMicrosoftの記事であり、拡張 Ramesh Srinivasanによる特別なフォルダーの記事の移動方法 の中で見つけた最高のソースです。これは、これを行う方法と注意すべきことを詳細に説明します(たとえば、この無人スクリプトが実行された後でも、たとえばsetup.exeへの引数として、c:\ documentsのようなジャンクションポイントがあり、設定をポイントします手動で修正する必要がある古い場所に(可能な場合))。

3
Oskar Duveborn

"C:\users"は、Windows XP/2000/NTの"C:\Documents and Settings"に相当するシステムフォルダーです。このため、フォルダーを移動することは不可能ではないにしても、非常に困難でした。親フォルダーの代わりにTweakUIまたはいくつかの同様のハックを介してサブフォルダーを移動することにより、この問題を回避するいくつかの方法があり、これに関する多くの投稿がここにあります:

http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/

http://support.Microsoft.com/kb/236621

http://support.Microsoft.com/default.aspx?scid=kb;en-us;31484

http://support.Microsoft.com/default.aspx?scid=KB;EN-US;q310147&ID=KB;EN-US;q310147

しかし、Vista/Windows 7に関しては、このプロセスが簡単になったように見えます。 Vistaでの実行方法を説明する投稿をいくつか紹介します。これは、Windows 7の本質です。

http://www.ehow.com/how_2064387_relocate-user-files-windows-Vista.html

http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-Vista/

http://www.howtogeek.com/howto/windows-Vista/moving-your-personal-data-folders-in-windows-Vista-the-easy-way/

2
mrTomahawk

これは少し遅れます...

C:\ usersを別のディスクに移動する際の問題は、ディレクトリ全体ではなく個々のプロファイルを移動することで回避できます。

新しいディレクトリにリンクしているc:\ usersにジャンクションを残しても、Jimmie Houtsソリューションと同様に、すべてのパスが機能し続けますが、管理者、ネットワークサービス、パブリックなどは移動しないため、通常のシステム機能はすべて次のようになります。 Windowsは更新され、通常どおりに動作し続けます。

イアン

2
Ian Murphy

同じことを長い間研究してきました。それはできません。 「特別な」フォルダ(ドキュメント、マイミュージックなど)は移動できますが、sersディレクトリを再配置することはできません。

0
user1797

これは正確に必要なものではありませんが、Windows 7の場合は、ライブラリの場所を変更するのが本当に良い方法です。この方法では、ドキュメント、画像などを保存しますが、すべてのプロファイルをDドライブに保存するわけではありません。

昨夜私はあなたに役立つかもしれないツールを作成しました: Set Libraries

0
Ricardo Polo

このほとんどは他の人からコピーされ、現在の作家であるtu servidorによって変更および拡張されます。

すべてのユーザーファイルとユーザープログラムファイルをブートドライブ(私の場合はSSD)から最も簡単に移動するには、次の手順に従います。

まず、念のために復元ポイントを作成します。1. [スタート]ボタンをクリックして[コンピューター]を右クリックし、[プロパティ]をクリックしてシステムを開きます。 2.左側のペインで、[システム保護]をクリックします。管理者のパスワードまたは確認を求められたら、パスワードを入力するか、確認を提供します。 3. [システム保護]タブをクリックし、[作成]をクリックします。 4. [システム保護]ダイアログボックスで説明を入力し、[作成]をクリックします。

次に、システム回復/コマ​​ンドプロンプトに移動します:Win7インストールDVDで起動し、言語、通貨、キーボードを選択して、[次へ]をクリックします。 [今すぐインストール]の画面で[コンピュータを修復]を選択します。システムの修復オプションで[修復して再起動]するかどうかを尋ねられます。[いいえ]を選択します。次に、Windows 7がインストール済みのOSの1つとしてリカバリーにリストされていることを確認し、それが選択されていることを確認してから、次へを押します。回復ツールのリストが表示されます。 「コマンドプロンプト」を選択します。

Win7メディア(おそらくCまたはX)からロードされた仮想Windowsドライブを見つけ、実際のWindows/SSDドライブ(DまたはE)を見つけ、HDD(通常のハードドライブ)(DまたはE)を見つけます。

私のシステムでは通常、C = SSD(Windowsがインストールされている)、D = HDDデータドライブ

Win7 Updateメディアを使用して、リカバリモードのドライブは異なる方法で設定されました。つまり、X:仮想/一時Windowsドライブ、E:実際のWindows/SSDドライブ、D:HDD、ハードドライブ、\ Usersを配置したいと思いました。

一部のユーザーは、システム回復モードで次のようにドライブをセットアップすると報告しています:C:仮想/一時WindowsドライブD:実際のWindows/SSDドライブE:HDD、/ユーザーをオンにしたいと考えています。

コマンドプロンプトでは、Robocopy(xcopyではありません)を使用してc:\ Usersをd:\ Usersにコピーし、古いc:\ Usersを削除してから、c:\ UsersからD:\ Usersへのシンボリックリンクを作成します。これらを順番に実行する必要があり、その前にd:\ Users dirを設定してはいけないことに注意してください。

注:システムリカバリコマンドプロンプトウィンドウでは、ドライブはリカバリモードを終了した後のドライブと同じではありません。したがって、ドライブがどのように回復モードになるかについて以下のコマンドを調整してください。そうすれば、後で正しく修正されます。

私が使用した:robocopy/mir/xj E:\ Users D:\ Users

/ UsersをWindows/SSDからHDDに移動します。/mirはrobocopyにディレクトリをミラーリングするように指示します。これにより、すべてのファイルと権限がコピーされます。/xjは非常に重要です。これは、接合点をたどらないようにrobocopyに指示します。これを忘れると大変なトラブルになります。コピーに失敗したファイルがないことを確認します(FAILED列= 0)。

次に、シンボリックリンクを作成する前に、Windows/SSD(c :)ドライブから古いユーザーフォルダーを削除する必要があります。使用したのは:rmdir/S/Q E:\ Users

新しいUsersフォルダーを指すNTFSジャンクション/シンボリックリンクを作成します。

私が使用した:mklink/J E:\ Users D:\ Users

/ Jスイッチを使用して、ハードシンボリックリンクであるジャンクションを作成します。 (/ Dスイッチを使用する場合は、レジストリも編集する必要があります。ハードリンクにはなりません。)/ Jを使用すると、WindowsがC:\ Usersディレクトリを検索すると、それが見つかります。ただし、SSDではなくHDDになります。トリッキー!

作成した証拠をコマンドプロンプトウィンドウで確認するには、実際のWindows/SSDに移動して「dir」コマンドを実行すると、「Users [D:\ Users]」と表示されます。

ここで再起動すると、/ UsersがHDDに表示され、そこに移動します。これ以上の設定やいじりは必要ありません。新しいユーザープロファイルはすべて、ユーザー固有のデータと同様に、d:ドライブに保存されます。そして、レジストリをいじったり、値を検索して置き換えたり、何らかの方法で新しいプロファイルをいじったりすることなく、それを実現できます。完全に設定して忘れてください。

0
ohdannyboy