Назад | Перейти на главную страницу

Как лучше всего переместить c: \ users в d: \ users под Vista / W7

Я только что установил Windows 7 RC1 и хочу переместить c: \ users в d: \ users.

Как лучше всего это сделать?


Из-за того, что Windows 7 создает зарезервированный раздел, который монтируется как C: в консоли восстановления, мне пришлось использовать следующие команды

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

Оба D в команде mklink верны. Когда система перезагружается, диск, который был D в консоли восстановления, становится диском C.

После установки Windows вы можете легко переместить всю папку C: \ Users на другой диск:

Предупреждение: это может вызвать проблемы, если / когда вам нужно выполнить восстановление системы.

  1. Загрузитесь с установочного носителя и войдите в командную строку (нажмите Shift + F10 в диалоговом окне установки)
  2. Используйте Robocopy, чтобы скопировать C: \ Users в D: \ Users: robocopy c:\Users d:\Users /mir /xj /copyall
    а. /mir сообщает robocopy зеркалировать каталоги, это скопирует все файлы
    б. /xj очень важно, это указывает robocopy не следовать за точками соединения. Если вы это забудете, у вас будет много неприятностей.
    c. /copyall скопирует все атрибуты, включая ACL и информацию о владельце
  3. Убедитесь, что файлы успешно скопированы
  4. Удалить c: \ Users
  5. Создайте перекресток, указывающий на d: \ Users: mklink c:\Users d:\Users /j

Вот и все. Я использую этот процесс с тех пор, как Vista без проблем перешла на RTM.

Вот статья это тоже объясняет. Просто используйте robocopy вместо xcopy, как он делает в статье, чтобы избежать возможных проблем с разрешениями ntfs.

Обновление: поскольку я узнал на собственном горьком опыте, я подумал, что также упомянул, что если вы планируете перемещать «Программные данные» или «Программные файлы» с помощью этого метода, вы будете разочарованы, узнав, что все работает так, как ожидалось. , но обновления Windows больше не будут устанавливаться. Я не уверен, что это было исправлено Win 7.

Обновление 2: у @Benjol есть Сообщение блога в котором подробно описывается метод перемещения папки профилей, который воссоздает соединения, которые не учитываются этим методом. Если у вас возникнут какие-либо проблемы с устаревшими приложениями, взгляните здесь и посмотрите, решит ли его метод проблему.

В самый легкий и рекомендуемые путь заключается в перемещении отдельных специальных папок внутри пользовательского каталога, таких как Документы, Музыка, Видео и т. д. Вы можете сделать это, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши> Свойства
  2. Вкладка Location
  3. Заполните желаемое место и нажмите «переместить»

Обратной стороной является то, что основная папка «Пользователи» остается на месте.

В жесткий способ намного сложнее и рискованнее:

В моем поиске решения я нашел только два простых способа переместить каталоги профиля пользователя с системного диска:

  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. Измените значение ключа по умолчанию на новое расположение профиля пользователя (например, 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. Если в вашем случае есть файлы, которые не будут копироваться, вы можете запустить procxp.exe, который предоставлен sysinternals. Затем выполните поиск дескриптора и найдите часть имени файла. procxp сообщит вам, какие программы блокируют файл. Однако, пока вы закрыли как можно больше программ, этого не должно произойти.
  14. Найдите и загрузите программу, которая выполнит поиск и замену в реестре. Я не буду предлагать ни одной, потому что я не нашел ни одной программы, которая работала бы идеально. В итоге я загрузил несколько разных бесплатных приложений и использовал их все.
  15. Используя программу поиска и замены в реестре, выполните поиск в исходной папке профиля пользователя и замените ее новой папкой профиля пользователя (например, найдите «C: \ Users» и замените на «D: \ Users». Обратите внимание, что некоторые из приложения, которые я использовал, изменяли только значения, а не имена ключей.Однако все ключи, которые нужно было изменить, были связаны с MuiCache. Я не знаю, действительно ли их нужно обновлять. Я сделал это просто, чтобы убедиться.
  16. Выйти. Войдите снова с тем же пользователем. Повторяйте шаг 14, пока не останется ничего для замены. Причина этого шага в том, что при выходе из системы некоторые программы обновляют реестр, используя старый путь к профилю пользователя.
  17. Запустите regedit.exe, найдите исходный путь к профилю пользователя и убедитесь, что он не существует. Причина этого шага в том, что (как отмечалось в шаге 13) я не доверял ни одной из программ поиска и замены в реестре, которые я использовал. В итоге мне пришлось обновить около десятка ключей и значений вручную, поскольку поиск и замена их пропустили.
  18. Чтобы вы могли легко находить программы, которые не используют реестр и жестко заданные пути к профилям, переименуйте исходную папку профиля (например, переименуйте C: \ Users в C: \ ~ Users).
  19. Выйти. Войдите в систему как обычный пользователь. Все должно работать правильно, за исключением программ, которые используют «жестко запрограммированное» расположение профиля пользователя.
  20. Есть два простых метода, которые можно использовать для поиска программ, которые используют «жестко запрограммированное» расположение профиля и все еще ищут исходный путь к профилю пользователя. Вы можете использовать упомянутый выше трюк procxp.exe и искать дескрипторы в исходном местоположении профиля. Вы также можете отслеживать местоположение оригинального профиля, чтобы увидеть, были ли созданы какие-либо новые папки или файлы. Например, в моем случае FolderShare создал несколько папок и файлов в каталоге C: \ Users \ MyUsername \ AppData \ Local \ FolderShare. Итак, я обновил настройки FolderShare, чтобы указать другой путь, а затем удалил каталог C: \ Users (обратите внимание, что C: \ ~ Users все еще существует в качестве резервной копии).
  21. Поскольку теперь вы уверены, что все ваши данные были перемещены (верно ??????), вы можете удалить резервную копию исходного местоположения профиля пользователя (например, C: \ ~ Users).

Источник: изменение расположения папки профиля пользователя в Vista

Увидев тот факт, что Microsoft упростила изменение расположения специальных папок и так сложно изменить расположение всей структуры пользовательских папок, я бы настоятельно советую вы должны выбрать легкий подход.

Вот правильный процесс

  1. Загрузитесь с установочного носителя и войдите в командную строку (я считаю, что сначала вам нужно щелкнуть восстановить)
  2. Используйте Robocopy, чтобы скопировать C: \ Users в D: \ Users: robocopy c: \ Users d: \ Users / mir / xj / copyall
    а. / mir указывает robocopy зеркалировать каталоги, это скопирует все файлы
    б. / xj очень важен, он говорит robocopy не следовать за точками соединения. Если вы это забудете, у вас будет много неприятностей.
    c. / copyall скопирует все атрибуты, включая ACL и информацию о владельце
  3. Убедитесь, что файлы успешно скопированы
  4. Удалить c: \ Users
  5. Создайте соединение, указывающее на d: \ Users: mklink c: \ Users d: \ Users / j

Я выполнил инструкции Джимми и почти работал. Однако у меня возникла странная проблема с IE, мне не удалось загрузить файл. Я нашел решение проблемы с загрузкой, и оно задокументировано на суперпользователь:

Некоторые ресурсы для "автоматического" перемещения C: \ Users с помощью автоматического сценария во время установки.

Микрософтс имеет КБ с некоторыми проблемами окружающие движущиеся специальные папки, которые может быть полезно прочитать.

Что касается самого сценария автоматической установки, существует элемент FolderLocations, имеющий дочерний элемент ProfilesDirectory, который вы можете указать как таковой:

<?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>

Вот статьи Microsoft о развертывание Vista который включает, как обрабатывать unattend.xml, и вот лучший источник расширенного Статья Рамеша Сринивасана как перемещать специальные папки которые подробно объясняют, как это сделать и на что обращать внимание (включая тот факт, что даже после того, как этот сценарий автоматической установки был запущен, например, в качестве аргумента для setup.exe, все еще есть точки соединения, такие как c: \ documents и settings, которые указывают в старое место, которое вам нужно будет исправить вручную (если возможно)).

"C:\users" это системная папка, эквивалентная "C:\Documents and Settings" в Windows XP / 2000 / NT, и из-за этого было действительно сложно, если не невозможно, переместить папку. Было несколько способов обойти эту проблему, переместив подпапки с помощью 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;314843

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/

Это немного поздно ...

Проблем с перемещением c: \ users на другой диск можно избежать, перемещая отдельные профили, а не весь каталог.

Если вы оставите перекресток в c: \ users, ссылающийся на новый каталог, все пути продолжат работать, как и в решении Jimmie Houts, однако я не перемещаю администратора, сетевую службу, общедоступные и т. Д., Поэтому все обычные системные функции, такие как обновление Windows, продолжайте работать в обычном режиме.

Ян

Я долго исследовал то же самое. Это невозможно. Вы можете перемещать "специальные" папки (Documents, My Music и т. Д.), Но не можете перемещать Пользователи каталог.

Большая часть этого скопирована у других, а затем изменена и расширена нынешним автором, tu servidor.

Чтобы наиболее легко переместить все пользовательские файлы и файлы пользовательских программ с загрузочного диска (в моем случае - SSD), следуйте этим инструкциям.

Во-первых, создайте точку восстановления, на всякий случай: 1. Откройте систему, нажав кнопку «Пуск», щелкнув правой кнопкой мыши «Компьютер» и выбрав «Свойства». 2. На левой панели щелкните Защита системы. Если вам будет предложено ввести пароль администратора или подтверждение, введите пароль или предоставьте подтверждение. 3. Щелкните вкладку Защита системы и нажмите кнопку Создать. 4. В диалоговом окне Защита системы введите описание и нажмите Создать.

ЗАТЕМ: перейдите в Восстановление системы / Командная строка: загрузитесь с установочного DVD Win7, выберите язык, валюту и клавиатуру и нажмите Далее. На экране с «Установить сейчас» выберите «Восстановить компьютер». Вам будет предложено «Восстановить и перезагрузить» в параметрах восстановления системы, выберите «Нет». Затем убедитесь, что Windows 7 указана как одна из установленных ОС, доступных для восстановления, и что она выбрана, и нажмите «Далее». Вам будет предоставлен список инструментов для восстановления. Выберите «Командная строка».

Найдите свой виртуальный диск Windows, загруженный с носителя Win7 (возможно, C или X), найдите свой настоящий диск Windows / SSD (D или E) и найдите свой жесткий диск (обычный жесткий диск) (D или E).

В моей системе обычно C = SSD с Windows на нем, D = HDD с данными

Используя носитель Win7 Update, диски в режиме восстановления были настроены по-разному, а именно: X: виртуальный / временный диск Windows, E: фактический диск Windows / SSD, D: жесткий диск, жесткий диск, на который я хотел поместить \ Users.

Некоторые сообщают, что в режиме восстановления системы их диски будут настроены следующим образом: C: виртуальный / временный диск Windows D: Фактический диск Windows / SSD E: жесткий диск, они хотят установить / Users on.

В командной строке вы будете использовать Robocopy (НЕ xcopy!) Для копирования c: \ Users в d: \ Users, затем удалите старый c: \ Users, затем создайте символическую ссылку из c: \ Users на D: \ Users. Обратите внимание, что вы должны делать это по порядку, и перед этим у вас не должно быть каталога d: \ Users.

ПРИМЕЧАНИЕ: в окне командной строки восстановления системы ваши диски не такие, какими они будут после выхода из режима восстановления! Поэтому настройте приведенные ниже команды в зависимости от того, как диски находятся в режиме восстановления, и тогда они станут правильными позже.

Я использовал: robocopy / mir / xj E: \ Users D: \ Users

Для перемещения / Пользователи с Windows / SSD на HDD. / mir указывает robocopy зеркалировать каталоги, это скопирует все файлы и разрешения. / xj очень важен, это говорит robocopy не следовать за точками соединения. Если вы это забудете, у вас будет много неприятностей. Убедитесь, что ни один файл не удалось скопировать (столбец FAILED = 0).

Затем вы должны удалить старую папку Users с диска Windows / SSD (c :), прежде чем вы сможете создать символическую ссылку: Я использовал: rmdir / S / Q E: \ Users

Создайте NTFS Junction / символическую ссылку, которая указывает на новую папку Users:

Я использовал: mklink / J E: \ Users D: \ Users

Используйте переключатель / J, чтобы создать соединение, которое является жесткой символической ссылкой. (Если вы используете переключатель / D, вам также придется отредактировать реестр, потому что это не будет жесткой ссылкой.) Используя / J, когда Windows ищет каталог C: \ Users, она его найдет! Но он будет на HDD, а не на SSD. Сложно!

Чтобы увидеть доказательство того, что вы создали, все еще в окне командной строки, войдите в фактический Windows / SSD и выполните команду «dir», и вы увидите: «Пользователи [D: \ Users]»

Теперь перезапустите, и вы увидите / Пользователи на жестком диске, и готово. Никакой дополнительной настройки или возни не требуется. Все новые профили пользователей будут храниться на диске d :, как и любые пользовательские данные. И это достижимо без каких-либо проблем с реестром, поиска и замены значений или необходимости каким-либо образом возиться с новыми профилями. Полностью установил и забыл.

Это не совсем то, что вам нужно, но если вы используете Windows 7, действительно хорошей альтернативой является изменение местоположения библиотек. С помощью этого метода вы сохраняете документы, изображения и т. Д., Но не весь профиль на диске D.

Вчера вечером я создал инструмент, который может быть вам полезен: Установить библиотеки.