Рубрики
Windows Избранное Настройка Софт

Как полностью перенести папку Users (Windows 7, Vista) или Documents and settings (XP) на другой диск

При обычной установке Windows (будь то XP, Виста или Семерка) папка с профилями пользователей всегда находится на системном диске. Если у вас несколько дисков (не важно логические они или физические), то вполне разумно файлы пользователя хранить на диске отличном от системного. Это значительно упрощает процедуру резервирования файлов и позволяет сделать системный диск действительно компактным, что в свою очередь значительно упрощает создание его образа.

К сожалению, Микрософт не прудесмотрел стандартной процедуры для перемещения папок профилей пользователей (перемещение при установке ОС с помощью файла автоматической установки, а также возможность переноса отдельных папок внутри профиля пользователя не в счет). Чтобы решить проблему пришлось довольно долго рыться в сети, в результате вышел на очень интересную статью. Однако, предложенный там метод показался довольно грубым, т.к. требовал значительных модификаций реестра. Но в комментариях к статье мелькнула действительно простая и работающая идея: использование символьных ссылок. Что это такое? Грубо говоря это ярлыки, но на уровне файловой системы. В Висте и Семерке для их создания используется команда mklink, в XP все немного сложнее, необходимо использовать утилиту linkd.exe из состава Windows Server 2003 Resource Kit Tools. Перед выполнением инструкции настоятельно рекомендую сделать полный бэкап системного диска (с помощью утилит типа Acronis TrueImage или Norton Ghost).

О том как переместить папку Users или Documents and Settings на этапе установки Windows читайте здесь: Автоматическая установка Windows (unattended install)

Инструкция обновлена 07.10.2010.

Перенос папки Users (Windows 7, Vista)

Предположим, что нам нужно перенести папку Users с диска С на диск D.

  1. Временно отключаем контроль учетных записей (UAC).
  2. Открываем Total Commander (или любой другой файловый менеджер). Необходимо обязательно включить опцию видимости скрытых файлов. Копируем содержимое папки С:\Users в D:\Users. Копируем все папки кроме All Users и Default User (это не папки а символьные ссылки, которые надо будет создать заново), а также пропускаем папку текущего пользователя.
    Перед началом копирования включите опцию «Копировать права доступа NTFS (нужны админ права)» это позволит пропустить п.12:

    Копируем папки с сохранением прав доступа
    Копируем папки с сохранением прав доступа

    В процессе копирования доступ к некоторым файлам может быть заблокирован (у меня было заблокировано несколько tmp-файлов) — ничего страшного, пропускаем их.

  3. Запускаем редактор реестра (в командной строке ввести regedit) и переходим к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
  4. Изменяем ключи:
    Default на D:\Users\Default
    ProfilesDirectory на D:\Users
    Public на D:\Users\Public.
  5. Теперь создаем нового пользователя (например test) с правами администратора (правый клик на Компьютер -> Управление-> Локальные пользователи -> Правый клик на подгруппе Пользователи -> Новый пользователь).
  6. Перезагружаемся и заходим в систему под только что созданным пользователем (test). Обратите внимание, что файлы профиля пользователя test будут созданы уже в новой папке D:\Users.
  7. Копируем оставшийся профиль основного пользователя.
  8. Переименовываем папку C:\Users в Users-old (или любое другое имя по вашему усмотрению).
  9. Теперь можно приступить к созданию символьных ссылок. Открываем командную строку и последовательно вводим следующие команды:
    mklink /j c:\Users d:\Users
    mklink /j "d:\Users\All Users" c:\ProgramData
    mklink /j "d:\Users\Default User" d:\Users\Default
    mklink /j "d:\Users\Все пользователи" c:\ProgramData
  10. Перезагружаемся и заходим под своим обычным профилем. Проверяем все ли работает как и раньше (должно!). Если все ОК, удаляем временного пользователя (test).
  11. В отличие от Windows XP в Windows 7 и Vista внутри профиля пользователя также присутствуют символьные ссылки. При копировании ссылки портятся (превращаются в папки). Воcстанавливать их вручную долго, поэтому я написал cmd-файл автоматизирующий этот процесс (спасибо snidekit). Скачайте его и откройте в WordPad (WordPad нужен для того, чтобы открыть/сохранить файл в кодировке dos-866, notepad этой функции, к сожалению, лишили). Редактируем первую строку (set userfolder=d:\Users\default) — здесь надо прописать путь к папке профиля пользователя (если он у вас отличный от d:\Users). Сначала восстанавливаем профиль default. Symlinks.cmd рекомендую записать на рабочий стол и запускать как обычно через двойной клик. Далее снова редактируем параметр userfolder, default заменяем на имя папки другого пользователя. Таким образом последовательно восстанавливаем символьные ссылки для профилей всех пользователей.
  12. Теперь остался последний штрих. При копировании папок с одного диска на другой настройки безопасности для них обычно не сохраняются. Папки в D:\Users унаследуют настройки безопасности, установленные для всего диска D. Для всех папок профилей необходимо проделать следующие операции:
    Открыть вкладку Безопасность (Правый клик на папке -> Свойства -> Безопасность). Внизу нажимаем на кнопку Дополнительно. Откроется вкладка Разрешения, внизу еще одна кнопка Изменить — нажимаем. В открывшемся окне убираем галочку с опции «Добавить разрешения, наследуемые от родительских объектов». На вопрос копировать или удалить разрешения отвечаем Копировать. В том же окне из списка разрешений удаляем все лишнее. Должны остаться разрешения для Системы, группы администраторов, а также сюда необходимо внести учетную запись пользователя, которому принадлежит профиль, и назначить ему права полного доступа. Для папки Public, вместо учетной записи конкретного пользователя, необходимо добавить группу «Все» с правами полного доступа.
  13. После этого еще раз перезагружаемся, убеждаемся, что все работает правильно.
  14. Удаляем папку Users-old.
  15. Включаем обратно контроль учетных записей (UAC). На этом все!

Перенос папки «Documents and Settings» (Windows XP)

Предположим, что нам надо перенести папку «Documents and Settings» с диска C на диск D и при этом переименовать в Users.

  1. Открываем Total Commander (или любой другой файловый менеджер). Необходимо обязательно включить опцию видимости скрытых файлов. Копируем все папки из c:\Documents and Settings в d:\Users (кроме папки текущего пользователя!).
  2. Запускаем редактор реестра (в командной строке ввести regedit) и переходим к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
  3. Изменяем ключ ProfilesDirectory на D:\Users.
  4. Создаем нового пользователя (например test) (правый клик на Мой компьютер -> Управление-> Локальные пользователи -> Правый клик на подгруппе Пользователи -> Новый пользователь) с правами администратора.
  5. Перезагружаемся и заходим в систему под только что созданным пользователем (test). Обратите внимание, что файлы профиля пользователя test будут созданы уже в новой папке D:\Users.
  6. Копируем папку пользователя, которую мы пропустили на этапе 1.
  7. Открываем редактор реестра, переходим в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. У этого раздела есть подразделы вида S-1-5-…… Открываем их по порядку и изменяем параметр ProfileImagePath (например %SystemDrive%\Documents and Settings\User меняем на d:\Users\User).
  8. Переименовываем папку «Documents and Settings» в «Documents and Settings.bak».
  9. Открываем командную строку и создаем символьную ссылку:
    linkd "c:\Documents and Settings" d:\Users
  10. Перезагружаемся и входим систему под своим обычным профилем. Убеждаемся, что все работает корректно, после чего удаляем временного пользователя (test) и папку «Documents and Settings.bak».
  11. Восстанавливаем настройки безопасности (см. пункт 10 инструкции для Windows 7).

Как еще освободить место на системном диске:

498 ответов к “Как полностью перенести папку Users (Windows 7, Vista) или Documents and settings (XP) на другой диск”

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

У меня всё остановилось на шаге
«Переименуйте папку C:\Users в другое имя». Не даёт комп её переименовать.
Говорит ресурс занят и всё тут.

А ещё раньше шагом не хотел заходить в профиль test. Чтобы он его создал и зашёл пришлось оставить ключ Default на C:\Users\Default
Потом когда я вошёл в test, я уже обратно поменял на D:\Users\Default
Но папка не удаляется.

А ещё раньше шагом не хотел заходить в профиль test. Чтобы он его создал и зашёл пришлось оставить ключ Default на C:\Users\Default
Потом когда я вошёл в test, я уже обратно поменял на D:\Users\Default

Это правильно! Надо обновить инструкцию.

Насчет переименования.
Воспользуйтесь утилитой Unlocker, чтобы определить и завершить процесс блокирующий переименование.

Спасибо за вашу инструкцию!
Всё получилось.
Наконец-то на системном диске появится место :)

Глюк появился.
Не работает Компьютер -> Управление
А если попробовать вызвать из панели управления то возникает вот такое сообщение об ошибке:

[Window Title]
Расположение недоступно

[Content]
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools ссылается на недоступное расположение. Это может быть диск этого компьютера или сетевой ресурс. Убедитесь, что диск вставлен и правильно подключен, или что вы подключены Интернету или к локальной сети и повторите попытку. Если она вновь окажется неудачной, то возможно, что данные были перемещены в другое место.

[ОК]

Странно. Пока я не уверен, что причина в переносе профилей.
А что там реально находится по этому пути:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ ?

Если папка отсутствует, может создать вручную?

Причина в том, что мы изначально не копировали папку All Users, а в ней много чего интересного, в т.ч. и эти шаблоны администрирования компьютера. Хорошо, я её забэкпил и как только я восстановил D:/Users/All Users/…/Windows/Start Menu/всё что ниже то всё появилось и в ProgramData появились данные, т.к. на програмдата у нас линк.

Max Bond Добрый день. Папка Users\тест (с пользователем тест) находится на диске D:. При восстановлении путей в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList с С:\Users\тест на D:\Users\тест и перезагрузке создаётся постоянно временный профиль ТЕМР. Может что-то подскажете ?

Вообще-то параметр
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
должен указывать не на конкретную папку профиля, а на папку в которой храняться все профили (либо c:\Users, либо d:\Users)

И по моему и по Вашему всеравно создаётся временный профиль ТЕМР…
(Win 7 Ultimatum)

Возможно все дело в профиле Default.
Попробуйте следующее:
Измените ProfilesDirectory на d:\Users
А Default оставьте на c:\Users\Default
Создайте нового пользователя, попробуйте войти.

В этом случае работает нормально, но мне нужно поднять старый профиль.
Изменил ProfilesDirectory на d:\Users
Переименовал юзера на диске Д с d:\Users\тест на d:\Users\стартест.
Создал нового пользователя стартест.Завершил сеанс.Захожу под стартест и ничего не подымается из документов. Захожу в d:\Users\ и вижу новую папку юзера с именем стартест.+имя компа. Что винде не нравится?

Это ж совсем другая задача.
В разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList есть подпапки вида S-1-5-…
Там есть параметр ProfileImagePath. В вашем случае его и надо менять.

не надо ерунды, в ХР все проще и решается стандартным переносом, без плясок с тотол и реестром, система сама реестр изменит

Здравствуйте!
Пожалуйста, помогите!
По ошибке скопировал все содержимое папки С:\Users в D:\Users. В т.ч. All Users.
При входе под пользователем test возникает ошибка — не создается его профиль, вход производится под дефолтным пользователем.
При попытке удалить D:\Users\All Users возникает ошибка 0х80070091: Папка не пуста.
Значок папки с изображением замка.
Стоит атрибут только чтение, снимаю без сообщения об ошибке, но атрибут остается.
Пытался делать эти операции из проводника, запущенного под администратором.

Перед созданием пользователя test, верните ключ реестра Default в исходное состояние (C:\Users\Default).
Попробуйте создать нового пользователя.
Профиль создался нормально?

Удаление All Users. Удаляете как: через Проводник или через Тотал? Отображение скрытых файлов включено?

Все ключи вернул на С.
Профиль нового пользователя создается.
Удалял и так и так, отображение включено.

В папку D:\Users\All Users войти не могу, Винда предлагает изменить параметры безопасности, но в них и так стоит полный доступ у текущего пользователя.
У системы, как ни странно, доступа нет вообще. При его предоставлении «отказано в доступе»

Потыкался в подменю безопасности, в папку войти могу, некоторые подпапки удалились, но не все.

Еще полазил по безопасности — папку удалил :-)
На D: находится скрытая папка System Volume Information.
Что-то мне кажется, ее не должно быть…
Я прав?

Нет, не правы.
Это системная папка в которой хранятся файлы восстановления винды.
Лучше ее не трогать.

Спасибо!
Похоже, что при переносе папки Users переносятся некие системные файлы, от скорости обращения к которым зависит скорость работы системы?
Так ли это?
Если да, то не хотелось бы.
Как можно перенести только библиотеки (документы, изображения, видео, музыку), загрузки, рабочий стол?

Да, переносится ветка реестра HKCU.
Лично я снижения производительности не заметил.
Но если перенести профиль на медленный диск, то, вполне возможно, будет чувствоваться.

Как можно перенести только библиотеки (документы, изображения, видео, музыку), загрузки, рабочий стол?

Это проще простого. См. Свойства этих папок, закладка Расположение.

Большое спасибо!
Сорри за глупый вопрос — а зачем тогда переносить весь профиль, если можно перенести только папки?

Если папка профилей на другом диске, то проще делать бэкапы системы и затем восстанавливать ее.

Также пользователи твердотельных жестких дисков, дабы продлить их ресурс (ведь в профиль пишется куча временной информации), переносят папку профилей.

Обычному пользователю по большому счету все это не нужно, но иногда может и пригодиться )

В результате моей ошибки совместил папку «Мои документы» с корневой папкой своего Профиля. В результате все это выглядит теперь вот так:
[img]http://s1.ipicture.ru/uploads/20121004/ZNjd8WfM.jpg[/img]
Собственно нужно восстановить обратно, что бы папка «Мои документы» находилась в папке Профиля.
Способ «ПКМ — свойства — переместить» уже не работает. Восстановление системы — точка восстановления создана после возникновения проблемы.
Выше описанным вашим способом пробовал но папка профиля в Users попрежнему называется «Мои Документы»
Заранее спасибо за помощь.

Создайте в папке профиля директорию Documents.
Перенесите туда файлы, которые изначально были в папке «Мои документы».
Затем откройте редактор реестра (regedit).
Перейдите в раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
См. параметр Personal, его значение должно быть %USERPROFILE%\Documents
Перезагрузитесь.
По идее должно восстановиться.

Восстановилось, вот только мой профиль попрежнему в папке Users называется «Мои документы».

Window 7. При перемещении папки Мои документы на диск D, случайно выбрали его, а НЕ создали папку на нем, и все файлы из Моих документов теперь та диске D вперемешку с остальными. Восстановление по умолчанию библиотеки Документы не помогло.
Как теперь восстановить все файлы что были в папке Мои документы по умолчанию на диск С? Если не переустанавливать ОС.

Думаю, надо изменить расположение папки Мои документы на то, которое было изначально.
Ну а затем вручную переместить все файлы с D обратно в Мои документаы.

А как изменить расположение папки Мои документы, если она теперь не существует нигде? Сейчас Мои документы = Диск D, именно он выполняет функцию папки мои документы

Попробуйте восстановить таким образом:
1. Создайте заново папку Documents в папке профиля пользователя (C:\Пользователи\Имя_вашего_пользователя)
2. Откройте редактор реестра (regedit) и перейдите в раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
3. Здесь нас инересует параметр Personal, его значение должно быть %USERPROFILE%\Documents
4. Перезагрузитесь
5. Ну а теперь вручную переместите туда все нужные файлы с D

А можно ещё перенести папки в Win 7 не создавая линков для папок
С:\Users\профиль\Downloads\
С:\Users\профиль\Documents\
С:\Users\профиль\Music\
С:\Users\профиль\Pictures\
С:\Users\профиль\AppData\Local\
нужно зайти в свойства папки и выбрать другое расположение.
Картинка dj-x.info/foto/perenos_papki.png

Практика показала если реестр находится на тормознутом HDD на диске D который ещё активно используется то тормозит вся система!

Как перенести на диск D не всю папку C:\Users\профили

Наиболее часто файлы сохраняются в этих папках!
Эти папки можно перенести так — зайти в свойство папки и выбрать расположение.
d:\Users\профиль\Downloads\
d:\Users\профиль\Documents\
d:\Users\профиль\Music\
d:\Users\профиль\Pictures\

А как эту папку правильно перенести так что бы всё работало?
d:\Users\профиль\AppData\Local\

А как эту папку правильно перенести так что бы всё работало?
d:\Users\профиль\AppData\Local\

Загрузитесь под другим профилем, перенесите папку, создайте символьную ссылку.

Но, конечно, это очень криво.
Лучше уж переносить всю папку Users целиком.

У меня уже давно папка C:\Users была на D:\Users
Но из-за того что папка профиля D:\Users\профиль где хранится реестр была на бормознутом D система тормозит — дефрагментация реестра и всё такое!
Попробуйте диск D отключить когда папка Users находится на диске D:\Users\
Теперь совсем другое дело всё стало быстрее работать!

Total Commander — не правильно копирует права владельца в ручную надёжнее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.