it-swarm-ru.tech

Как лучше всего переместить 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.

65
Scott

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

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

  1. Загрузитесь с установочного носителя и перейдите к командной строке ( нажмите Shift + F10 в диалоговом окне установки )
  2. Используйте Robocopy для копирования C:\Users в D:\Users: robocopy c:\Users d:\Users /mir /xj /copyall
    А. /mir сообщает robocopy для зеркалирования каталогов, при этом будут скопированы все файлы
    Б. /xj очень важно, это говорит робокопии не следовать точкам соединения. Если вы забудете об этом, у вас будет много проблем.
    С. /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 имеет сообщение в блоге , в котором подробно описывается метод перемещения папки профилей, который воссоздает соединения, которые этот метод исключает. Если вы столкнетесь с какими-либо проблемами с устаревшими приложениями, посмотрите здесь и посмотрите, решит ли его метод эту проблему.

66
Jimmie R. Houts

Способ самый простой и рекомендуется - переместить отдельные специальные папки внутри пользовательский каталог, например "Документы", "Музыка", "Видео" и т. д. Это можно сделать, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши> Свойства
  2. Расположение вкладки
  3. Заполните нужное место и нажмите "Переместить"

Недостатком этого является то, что он по-прежнему оставляет основную папку "Пользователи" на месте.

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

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

  1. Задайте папку профиля пользователя во время установки, используя файл автоматической установки.
  2. Переместите отдельные папки в свой профиль пользователя, что можно сделать с помощью проводника (который обновит разделы реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders и HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Папки Shell).

Однако для меня это было недостаточно, я хотел, чтобы папка моего профиля пользователя была перемещена в отдельный раздел/том, включая настройки реестра. Я обнаружил, что на самом деле это не так сложно, при условии, что вы устраиваете массовую замену ключей и значений реестра.

Вот как я переместил местоположение своего профиля пользователя. Обратите внимание, что я хотел, чтобы все профили были перемещены, включая Public и Default, поэтому некоторые из этих шагов можно пропустить, если вы этого не хотите:

  1. Убедитесь, что у вас есть полная резервная копия вашей системы!
  2. Скопируйте исходный каталог профиля по умолчанию в новое расположение (например, из C:\Users\Default в D:\Users\Default).
  3. Скопируйте исходный каталог Public Profile в новое расположение (например, из 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 и искать дескрипторы в исходном местоположении профиля. Вы также можете отслеживать местоположение профиля oringal, чтобы увидеть, были ли созданы какие-либо новые папки или файлы. Например, в моем случае FolderShare создал несколько папок и файлов в каталоге C:\Users\MyUsername\AppData\Local\FolderShare. Поэтому я обновил настройки FolderShare, указав другой путь, а затем удалил каталог C:\Users (обратите внимание, что C:\~ Users все еще существует в качестве резервной копии).
  21. Поскольку теперь вы уверены, что все ваши данные были перемещены (правильно ??????), вы можете удалить резервную копию исходного расположения профиля пользователя (например, C:\~ Users).

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

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

11
Aron Rotteveel

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

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

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

5
Hapkido

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

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

Когда дело доходит до самого сценария автоматической установки, есть элемент с именем 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, которые указывают в старое место, которое вам нужно будет исправить вручную (если это возможно)).

3
Oskar Duveborn

"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;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.

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

0
Ricardo Polo

Большая часть этого скопирована с других, затем изменена и расширена нынешним автором 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 = жесткий диск с данными

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

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

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

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

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

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

Затем вы должны удалить старую папку "Пользователи" с диска 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. Tricky!

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

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

0
ohdannyboy