Рубрики
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) на другой диск”

Ну что ж, тогда удалите эти приложения и повторите эксперимент еще раз.
Кстати, какую версию XP ставили? Надеюсь не Зверь?

Понятно. Скорее всего какой-то процесс заблокировал доступ к одному или нескольким файлам. Надо выяснить какие именно файлы заблокированы.

Когда вы переименовали Documents and Setting из Kubuntu, после перезагрузки папка восстановилась. Надо посмотреть какие еще файлы были созданы внутри Documents and Settings. После того, как определите проблемные файлы, скачайте Unlocker. Эта прога поможет определить процесс, который блокирует доступ к файлу. Скорее всего это какое-то приложение, установленное вами. Его надо будет снести, чтобы папка Documents and Settings не восстанавливалась.

В Windows XP не удаётся переименовать папку Documents and Settings:

«Ошибка при переименовании файла или папки.
Не удаётся переименовать Documents and Settings. Нет доступа.

Диск может быть переполнен или защищён от записи, либо файл занят другим приложением».

Через Kubuntu можно легко переименовать папку Documents and Settings, но это ни чего ни даёт. После очередного входа в Windows XP папка автоматически вновь создаётся на Локальном диске, вне зависимости от того, в какую запись я вошёл.

Хм…
А когда создаете нового пользователя, его профайл создается где? В C:\Documents and Settings — на старом месте?
Ключи реестра все поменяли?

В командной строке запускаешь команду regedit. Открываешь путь\папку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. Там есть подпапки вида S-1-5-и-еще-много-цифр. В этих подпапках информация об учетных записях (Default User, LocalService и NetworkService — это системные учетные записи). Чтобы не заморачиваться меняешь для всех учетных записей параметр ProfileImagePath

)понял что имел ввиду… сначало тоже был в замешательстве) названия этих сервисов прописаны в значениях параметра ProfileImagePath!

Пожалуйста, расскажите подробней о том, как в Windows XP переименовать папку Documents and Setting?
У меня и в новой учётной записи, и в Безопасном режиме не переименовывается данная папка, а только выскакивает сообщение:
Переименование.
Папка «Documents and Settings» является системной папкой Windows и необходима для правильной работы Windows. Переместить или переименовать её нельзя».

В учётной записи на новом диске не работают Специальные возможности (залипающие клавиши и управление курсором мыши на клавиатуре).

Ещё есть один вопрос. Как открыть командную строку в Windows XP? Я просто, в основном работаю в операционной системе Kubuntu — Linux.

Признаюсь, что на XP еще пока не производил перенос папки… На днях попробую на виртуалке, отпишу.

Для запуска командной строки нажмите Пуск->Выполнить, откроется окошко Запуск программы, введите в строку cmd и ввод, откроется окно с командной строкой.

Попробовал. Получилось. Но есть нюансы:
1. В редакторе реестра меняем путь не только для ProfilesDirectory, но и для всех учетных записей. У HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList есть подпапки вида S-1-5-…… Открываем их по порядку и изменяем значение ProfileImagePath (например %SystemDrive%\Documents and Settings\User меняем на D:\Documents and Settings\User). Особенно важно поменять значение для Default User, LocalService и NetworkService. Предварительно в новую папку Documents and Settings копируем все содержимое из оригинальной Documents and Settings (папки Default User, LocalService, NetworkService — скрытые, поэтому в Total Commander или другом файловом менеджере выставляем опцию показа скрытых файлов).
2. После этого можно создать нового пользователя и перезагрузиться. Заходим в нового пользователя. Папка Documents and Settings переименовывается без проблем.
3. linkd.exe. Выполняем команду: linkd "c:\Documents and Settings" "d:\Documents and Settings"
4. Возвращаем обратно значения измененных ключей реестра.

вот! это надо записать, и не потерять. Спс Max Bond за доступный гайд!

зы не сразу понял что Вы автор))

можно поправку сделать, я ее нашел, возмонжо там же, где и автор, но там советовали для изменения\удалеения папки Users не создавать для этого новый аккаунт, а активировать администратора(если раннее это не делалось.. (политика безопасности)и, если в него еще не заходили.

еще примечание, скрытые файлы\подпапки папки(сорри за тафталогию)Users также должны б скопированы, т.к без них вход в уч записи может быть проблематичен(в моем случае только благодаря уч.записи администратор удалось все исправить)

Конечно, скрытые файлы/папки тоже должны быть скопированы.

Насчет аккаунта Администратора. В Win 7 он по-умолчанию отключен, и если вы до этого его не трогали, то можно вместо создания нового пользователя, активировать аккаунт администратора. Однако, разницы никакой нет, если создать нового пользователя, а потом добавить его в группу администраторов.

Да, вы навели меня на интересную мысль. Чтобы проблем с переименованием папки Users было меньше, необходимо предварительно отключить контроль учетных записей (Win 7: зайти в Панель управления \ Учетные записи пользователей и семейная безопасность\Учетные записи пользователей\Изменение параметров контроля учетных записей Опускаем ползунок вниз. Vista: Панель управления \ Учётные записи (которая зелёная, клацать именно по ней) \ Учётные записи пользователей (опять зелёная ссылка) \ Включение или отключение контроля учётных записей (UAC))

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

все же, точно не знаю, что именно было ключевым)

не получается переименовать папку Users через тот командер, и в безопасном режиме.

После окончания копирования переименовываем папку C:\Users в Users-old

Как это сделать… ну не переименовываеться хоть убейся блин.. аррр

А переименовываете в проводнике или в Total Commander?
Через проводник переименовать не получится.
Если же дело не в этом, попробуйте переименовать папку загрузившись в безопасном режиме.

Здравствуйте, у меня такая проблема, заходил в свой пользователь, видимо что то сбилось, и создался новый пользователь, то есть новая папка в «Documents and Settings», соответсвенно новый раб стол, старая папка сохранилась, но пользователь загружается с новой, как удалить эту новую папку, и сделать так чтобы пользователь заходил со своей прежней?? папка в «Documents and Settings» была Admin, и новая Admin.MICROSOF-ACD535.000 , в реестре подраздел S-1-5-21-…. с папкой Admin, стал .bak

М-да… это очень неприятная проблема. Скорее всего оригинальный профиль Admin поврежден, и есть большая вероятность, что восстановить его не получится.
Что можно сделать.
Во-первых создать резервную учетную запись с админскими правами. Зайти в нее. Удалить учетную запись, которая ссылается на Admin.MICROSOF-ACD535.000. В реестре для старой учетной записи Admin изменить state на 0х00000100 (256). Попробовать зайти под Admin. Если загрузится старый рабочий стол — значит получилось (маловероятно). Но скорее всего загрузится профиль по умолчанию — тогда увы — придется вытаскивать вручную всю инфу в из папки Admin.

В общем я переписал в реестре подразделы, «.bak» переставил на нового, и пользователь зашел с админа, только там отсутствовала языковая панель, и перестали нажиматься многие кнопочки в той же панели управления, в все копирнул на нового, а админа снес, заодно папку Temp очистил, разницы никакой, спасибо всем за полезную статью!!!

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

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


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