Windows 7 ユーザー プロファイルが SSD > HDD 移動後に機能しない

Windows 7 ユーザー プロファイルが SSD > HDD 移動後に機能しない

Windows 7 x64 Home P. OEM SSD のスペースを節約するために、Users および ProgramData フォルダをセカンダリ ディスクに移動することにしました。Windows DVD で「修復」モードで起動しました。両方のドライブは NTFS です。ドライブには通常使用される文字とは異なる文字が割り当てられていたため、実行したコマンドは次のとおりです。

robocopy /xj /mir /copyall D:Users E:Users
robocopy /xj /mir /copyall D:ProgramData E:ProgramData
rmdir /S /Q D:Users
rmdir /S /Q D:ProgramData
mklink /j D:Users E:Users
mklink /j D:ProgramData E:ProgramData

次に、Windows NT ProfileList レジストリ値を、システム ドライブではなく新しいディレクトリ (回復ドライブ文字ではなく、元の Windows ドライブ文字を使用) を指すように変更し、ユーザー ディレクトリではなくドライブ文字を使用するプログラムのジャンクションを維持しました。

Windows を再起動した後、ログイン画面に「デスクトップを準備しています」と約 1 分間表示され、その後、基本 UI にログオンすると、「ユーザー プロファイル サービスが失敗しました」のようなメッセージが表示されました。Windows エクスプローラーにも、「C:\Windows\system32\config\systemprofile\Desktop が見つかりません」のようなメッセージが表示されましたが、C: ドライブの残りの部分はまったく変更されていないため、これは不合理に思えます。これは、現在 D:Users になっている新しいユーザー プロファイルが見つからないためだと思いました。管理者アカウントにログインし (同様のメッセージが表示されました)、回復ドライブ文字の下に作成されたジャンクションは、文字が通常に戻ったため正しく解釈されない可能性があるという前提でジャンクションを再作成しました。その後、レジストリを開くと、変更した値がリセットされていることがわかりました。その後、再起動すると値は保存されましたが、それでも正しくログオンできず、同じ「systemprofile」エラー メッセージが表示されました。

私の質問は次のとおりです。これがレジストリ値やジャンクション ポイントの問題である場合、どのように修正すればよいのでしょうか。

または、この C:\...\systemprofile\Desktop ファイルが見つからないことが原因である場合、これはどのように発生し、修正方法は何ですか?

それとも、Windows はログイン前の段階ではセカンダリ ドライブを読み取ることができないのでしょうか (私には意味がわかりませんが、可能性はあるのでしょうか)。

編集:

デスクトップ フォルダーを再作成した後、デフォルトの Windows プロファイル (つまり systemprofile) にしかログオンできないため、状況が改善されないことが明らかになりました。結局のところ、ジャンクション ポイント、レジストリ値、または Windows がそれらを読み取る方法に問題があるようです。

明日までに何も機能しない場合は、フォルダーを置き換えて、ユーザーではなく実際のプロファイルフォルダーをジャンクションします。

答え1

Windows は、一部のメタデータをユーザー ファイルの奥深くに保存していることがわかりました。レジストリ値をユーザーの新しい場所を指すように設定し、プロファイル フォルダーの名前を .bak などに変更し、ユーザー アカウントを削除して同じ名前の新しいアカウントを作成することで、この問題を修正しました。ログインしてログオフした後 (フォルダーを生成するため)、管理者アカウントに戻り、元のフォルダーの名前を元の名前に戻しました。

これで問題は解決し、(ようやく)SSD は問題なく使えるようになりました。

助けてくれたRamhoundに感謝します。

答え2

Windows 10 でも同じ状況に遭遇しました。同じ手順を実行しましたが、結局同じ状況になりました。Users フォルダー全体を移動しようとする前に私が行った以前の操作を考慮していませんでした。

Windows GUI を使用して、デスクトップ、ドキュメントなどの個々のユーザー サブフォルダーを別のドライブに手動で再配置しました。Users フォルダー全体を移動した後も、これらのパスは有効のままでしたが、新しい場所に統合したため、Windows はそれらを見つけられない場所を探しました。

そこで、失われた場所から新しい場所への追加のジャンクション ポイントを作成し、すべての設定を元に戻して再度ログインすることができました。その後、個々のフォルダーを手動で再配置し、ジャンクションを削除しました。

万が一、私と同じことをしたことがある人にとって、これが役に立つことを願っています。

関連情報