Я только что установил 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 на другой диск:
Предупреждение: это может вызвать проблемы, если/когда вам нужно выполнить восстановление системы
robocopy c:\Users d:\Users /mir /xj /copyall
/mir
сообщает robocopy для зеркалирования каталогов, при этом будут скопированы все файлы/xj
очень важно, это говорит робокопии не следовать точкам соединения. Если вы забудете об этом, у вас будет много проблем./copyall
скопирует все атрибуты, включая ACL и информацию о владельцеmklink c:\Users d:\Users /j
Вот и все. Я использую этот процесс с тех пор, как Vista вышла RTM без проблем).
Вот статья , которая также объясняет это. Просто используйте robocopy вместо xcopy, как он делает в статье, чтобы избежать возможных проблем с разрешениями ntfs.
Обновление: поскольку я нашел трудный путь, я подумал также упомянуть, что если вы планируете перемещать "Программные данные" или "Программные файлы" с помощью этого метода, вы будете разочарованы, узнав, что все работает так, как ожидалось. , но обновления Windows больше не будут устанавливаться. Я не уверен, если это было исправлено Win 7.
Обновление 2: @Benjol имеет сообщение в блоге , в котором подробно описывается метод перемещения папки профилей, который воссоздает соединения, которые этот метод исключает. Если вы столкнетесь с какими-либо проблемами с устаревшими приложениями, посмотрите здесь и посмотрите, решит ли его метод эту проблему.
Способ самый простой и рекомендуется - переместить отдельные специальные папки внутри пользовательский каталог, например "Документы", "Музыка", "Видео" и т. д. Это можно сделать, выполнив следующие действия:
Недостатком этого является то, что он по-прежнему оставляет основную папку "Пользователи" на месте.
Способ сложно намного сложнее и рискованнее:
В моем поиске решения я нашел только два простых способа перемещения расположений каталогов профилей пользователей с системного диска:
- Задайте папку профиля пользователя во время установки, используя файл автоматической установки.
- Переместите отдельные папки в свой профиль пользователя, что можно сделать с помощью проводника (который обновит разделы реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders и HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Папки Shell).
Однако для меня это было недостаточно, я хотел, чтобы папка моего профиля пользователя была перемещена в отдельный раздел/том, включая настройки реестра. Я обнаружил, что на самом деле это не так сложно, при условии, что вы устраиваете массовую замену ключей и значений реестра.
Вот как я переместил местоположение своего профиля пользователя. Обратите внимание, что я хотел, чтобы все профили были перемещены, включая Public и Default, поэтому некоторые из этих шагов можно пропустить, если вы этого не хотите:
- Убедитесь, что у вас есть полная резервная копия вашей системы!
- Скопируйте исходный каталог профиля по умолчанию в новое расположение (например, из C:\Users\Default в D:\Users\Default).
- Скопируйте исходный каталог Public Profile в новое расположение (например, из C:\Users\Public в D:\Users\Public).
- Перейдите к HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.
- Измените значение ключа по умолчанию на новое местоположение профиля пользователя (например, D:\Users\Default).
- Измените значение открытого ключа на новое местоположение профиля пользователя (например, D:\Users\Public).
- Измените значение ProfilesDirectory на новое местоположение профиля пользователя (например, D:\Users).
- На этом этапе вам нужно перезапустить и снова войти в систему как другой пользователь, который никогда ранее не входил в систему и, следовательно, не создал профиль. В моем случае пользователь с правами администратора никогда не входил в систему, поэтому я включил его, чтобы администратор мог войти и использовать его. Вы можете включить вход в систему администратора, загрузив управление компьютером, затем перейдите в раздел "Учетные записи пользователей", отредактируйте свойства для администратора и снимите флажок "Отключить вход в систему".
- После первого входа в систему с новой учетной записью пользователя вы увидите "Создание рабочего стола" и другие подобные вещи, пока Windows создает ваш профиль. Обратите внимание, что новый профиль должен быть создан в новом месте.
- После входа попытайтесь закрыть как можно больше приложений. Это предотвратит блокировку большинства файлов, поэтому вы не сможете их скопировать.
- Скопируйте всю исходную папку с профилями пользователей из исходного местоположения в новое местоположение (например, C:\Users * в D:\Users). (См. Следующий шаг после начала копирования).
- Есть несколько вещей, на которые стоит обратить внимание во время этой копии. Были тысячи файлов .TMP, которые были заблокированы и не будут копироваться. Я просто пропустил эти файлы. Я удерживал Alt-S, чтобы увидеть все пропущенные файлы и убедиться, что пропускаются только файлы .TMP. Да, это заняло немного времени, но, по крайней мере, я был уверен, что скопировал все свои файлы. Этот процесс, вероятно, может быть упрощен с помощью командной строки или powershell.
- Если в вашем случае есть файлы, которые не будут скопированы, вы можете запустить файл procxp.exe, предоставленный sysinternals. Затем выполните поиск дескриптора и найдите часть имени файла. procxp сообщит вам, какие программы блокируют файл. Пока вы закрыли столько программ, сколько могли, этого не должно происходить.
- Найдите и загрузите программу, которая будет выполнять поиск и замену в реестре. Я не буду предлагать один, потому что я не нашел ни одной программы, которая работала бы отлично. В итоге я скачал несколько разных бесплатных приложений и использовал их все.
- Используя программу поиска и замены реестра, выполните поиск исходной папки профиля пользователя и замените ее новой папкой профиля пользователя (например, найдите "C:\Users" и замените на "D:\Users". Обратите внимание, что некоторые из приложения, которые я использовал, меняли бы только значения, а не имена ключей. Однако все ключи, которые нужно было пометить, были связаны с MuiCache. Я не знаю, нужно ли их действительно обновлять. Я сделал это только для того, чтобы убедиться.
- Выйти. Войдите в систему с тем же пользователем. Повторяйте шаг 14, пока не останется ничего заменить. Причиной этого шага является то, что при выходе из системы некоторые программы обновляют реестр, используя старый путь к профилю пользователя.
- Запустите regedit.exe, выполните поиск исходного пути к профилю пользователя и убедитесь, что он не существует. Причина этого шага в том, что (как отмечено в шаге 13) я не доверял ни одной из программ поиска и замены реестра, которые использовал. Мне пришлось обновить около дюжины ключей и значений вручную, так как поиск и замена пропустили их.
- Чтобы вы могли легко найти программы, которые не используют реестр и жестко заданные пути к профилям, переименуйте исходную папку профиля (например, переименуйте C:\Users в C:\~ Users).
- Выйти. Войдите в систему под своим обычным пользователем. Все должно работать правильно, кроме программ, которые используют жестко закодированное местоположение профиля пользователя.
- Есть два простых метода, которые можно использовать для поиска программ, которые используют "жестко закодированное" местоположение профиля и все еще ищут исходный путь к профилю пользователя. Вы можете использовать упомянутый выше трюк procxp.exe и искать дескрипторы в исходном местоположении профиля. Вы также можете отслеживать местоположение профиля oringal, чтобы увидеть, были ли созданы какие-либо новые папки или файлы. Например, в моем случае FolderShare создал несколько папок и файлов в каталоге C:\Users\MyUsername\AppData\Local\FolderShare. Поэтому я обновил настройки FolderShare, указав другой путь, а затем удалил каталог C:\Users (обратите внимание, что C:\~ Users все еще существует в качестве резервной копии).
- Поскольку теперь вы уверены, что все ваши данные были перемещены (правильно ??????), вы можете удалить резервную копию исходного расположения профиля пользователя (например, C:\~ Users).
Источник: изменить расположение папки профиля пользователя в Vista
Учитывая тот факт, что Microsoft упростила изменение местоположения специальных папок и столь же сложно изменить расположение всей структуры пользовательских папок, я бы настоятельно советую Вы должны принять легкий подход .
Вот правильный процесс
Я сделал инструкцию Джимми, и я почти работал. Однако у меня возникла странная проблема с IE, я не смог загрузить файл. Я нашел решение, чтобы исправить мою проблему с загрузкой, и оно задокументировано на superuser :
Некоторые ресурсы для "автоматического" перемещения 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, которые указывают в старое место, которое вам нужно будет исправить вручную (если это возможно)).
"C:\users"
- системная папка, эквивалентная "C:\Documents and Settings"
в Windows XP/2000/NT, и из-за этого было очень трудно, если не невозможно, переместить папку. Было несколько способов обойти эту проблему, перемещая подпапки с помощью TweakUI или некоторых подобных хаков вместо родительской папки, и здесь есть много сообщений об этом:
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/
Это немного поздно ...
Проблем с перемещением c:\users на другой диск можно избежать, перемещая отдельные профили, а не весь каталог.
Если вы оставите соединение в c:\users со ссылкой на новый каталог, все пути продолжат работать, как в случае решения Jimmie Houts, однако я не перемещаю администратора, сетевой сервис, общедоступные и т.д., Поэтому все обычные системные функции, такие как Обновление Windows, продолжайте работать как обычно.
Ян
Я исследовал одно и то же в течение длительного времени. Это не может быть сделано. Вы можете перемещать "специальные" папки ("Документы", "Моя музыка" и т.д.), Но не можете перемещать каталог sers.
Это не совсем то, что вам нужно, но если в Windows 7 действительно хорошая альтернатива, это изменить расположение библиотек. Этим способом вы сохраняете документы, рисунки и т.д., Но не весь профиль на диске D.
Прошлой ночью я создал инструмент, который может быть полезен для вас: Установить библиотеки .
Большая часть этого скопирована с других, затем изменена и расширена нынешним автором 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: как и любые пользовательские данные. И это достижимо без каких-либо проблем в реестре, поиска и замены значений или необходимости возиться с новыми профилями. Полностью установить и забыть.