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

<p>я только что установил windows 7 rc1 и хочу переместить c:\users в d:\users.</p><p>какой лучший способ сделать это?</p><hr><p>из-за того, что windows 7 создает зарезервированный раздел, который монтируется как c: в консоли восстановления, мне пришлось использовать следующие команды</p><pre><code>robocopy /mir /xj d:\users e:\users mklink d:\users d:\users /j </code></pre><p>оба d в команде mklink верны. когда система перезагружается, диск, который был d в консоли восстановления, становится диском c.</p>

<p>после установки windows вы можете легко переместить всю папку c:\users на другой диск:</p><p><strong> предупреждение: это может вызвать проблемы, если/когда вам нужно выполнить восстановление системы </strong></p><ol> <li>загрузитесь с установочного носителя и перейдите к командной строке ( <a href="http://www.sevenforums.com/tutorials/682-command-prompt-startup.html">нажмите shift + f10 в диалоговом окне установки</a> )</li> <li>используйте robocopy для копирования c:\users в d:\users: <code>robocopy c:\users d:\users /mir /xj /copyall</code><br> а. <code>/mir</code> сообщает robocopy для зеркалирования каталогов, при этом будут скопированы все файлы<br> б. <code>/xj</code> очень важно, это говорит робокопии не следовать точкам соединения. если вы забудете об этом, у вас будет много проблем.<br> с. <code>/copyall</code> скопирует все атрибуты, включая acl и информацию о владельце</li> <li>убедитесь, что файлы успешно скопированы</li> <li>удалить c:\users</li> <li>создайте соединение, которое указывает на d:\users: <code>mklink c:\users d:\users /j</code></li> </ol><p>вот и все. я использую этот процесс с тех пор, как vista вышла rtm без проблем).</p><p>вот <a href="http://caskater4.blogspot.com/2007/09/moving-your-data-where-you-want-in.html">статья</a> , которая также объясняет это. просто используйте robocopy вместо xcopy, как он делает в статье, чтобы избежать возможных проблем с разрешениями ntfs.</p><p>обновление: поскольку я нашел трудный путь, я подумал также упомянуть, что если вы планируете перемещать "программные данные" или "программные файлы" с помощью этого метода, вы будете разочарованы, узнав, что все работает так, как ожидалось. , но обновления windows больше не будут устанавливаться. я не уверен, если это было исправлено win 7.</p><p>обновление 2: @benjol имеет <a href="http://benjol.blogspot.com/2009/05/moving-users-folder-in-vista.html">сообщение в блоге</a> , в котором подробно описывается метод перемещения папки профилей, который воссоздает соединения, которые этот метод исключает. если вы столкнетесь с какими-либо проблемами с устаревшими приложениями, посмотрите здесь и посмотрите, решит ли его метод эту проблему.</p>

<p><strong> способ <em> самый простой</em> и <em> рекомендуется</em> </strong> - переместить отдельные специальные папки внутри пользовательский каталог, например "документы", "музыка", "видео" и т. д. это можно сделать, выполнив следующие действия:</p><ol> <li><strong> щелкните правой кнопкой мыши> свойства </strong></li> <li><strong> расположение вкладки </strong></li> <li><strong> заполните нужное место и нажмите "переместить" </strong></li> </ol><p>недостатком этого является то, что он по-прежнему оставляет основную папку "пользователи" на месте.</p><p><strong> способ <em> сложно</em> намного сложнее и рискованнее: </strong></p><blockquote> <p>в моем поиске решения я нашел только два простых способа перемещения расположений каталогов профилей пользователей с системного диска:</p> <ol> <li>задайте папку профиля пользователя во время установки, используя файл автоматической установки.</li> <li>переместите отдельные папки в свой профиль пользователя, что можно сделать с помощью проводника (который обновит разделы реестра hkey\_current\_user\software\microsoft\windows\currentversion\explorer\shell folders и hkey\_current\_user\software\microsoft\windows\currentversion\explorer\user папки shell).</li> </ol> <p>однако для меня это было недостаточно, я хотел, чтобы папка моего профиля пользователя была перемещена в отдельный раздел/том, включая настройки реестра. я обнаружил, что на самом деле это не так сложно, при условии, что вы устраиваете массовую замену ключей и значений реестра.</p> <p>вот как я переместил местоположение своего профиля пользователя. обратите внимание, что я хотел, чтобы все профили были перемещены, включая public и default, поэтому некоторые из этих шагов можно пропустить, если вы этого не хотите:</p> <ol> <li>убедитесь, что у вас есть полная резервная копия вашей системы!</li> <li>скопируйте исходный каталог профиля по умолчанию в новое расположение (например, из c:\users\default в d:\users\default).</li> <li>скопируйте исходный каталог public profile в новое расположение (например, из c:\users\public в d:\users\public).</li> <li>перейдите к hkey\_local\_machine\software\microsoft\windows nt\currentversion\profilelist.</li> <li>измените значение ключа по умолчанию на новое местоположение профиля пользователя (например, d:\users\default).</li> <li>измените значение открытого ключа на новое местоположение профиля пользователя (например, d:\users\public).</li> <li>измените значение profilesdirectory на новое местоположение профиля пользователя (например, d:\users).</li> <li>на этом этапе вам нужно перезапустить и снова войти в систему как другой пользователь, который никогда ранее не входил в систему и, следовательно, не создал профиль. в моем случае пользователь с правами администратора никогда не входил в систему, поэтому я включил его, чтобы администратор мог войти и использовать его. вы можете включить вход в систему администратора, загрузив управление компьютером, затем перейдите в раздел "учетные записи пользователей", отредактируйте свойства для администратора и снимите флажок "отключить вход в систему".</li> <li>после первого входа в систему с новой учетной записью пользователя вы увидите "создание рабочего стола" и другие подобные вещи, пока windows создает ваш профиль. обратите внимание, что новый профиль должен быть создан в новом месте.</li> <li>после входа попытайтесь закрыть как можно больше приложений. это предотвратит блокировку большинства файлов, поэтому вы не сможете их скопировать.</li> <li>скопируйте всю исходную папку с профилями пользователей из исходного местоположения в новое местоположение (например, c:\users * в d:\users). (см. следующий шаг после начала копирования).</li> <li>есть несколько вещей, на которые стоит обратить внимание во время этой копии. были тысячи файлов .tmp, которые были заблокированы и не будут копироваться. я просто пропустил эти файлы. я удерживал alt-s, чтобы увидеть все пропущенные файлы и убедиться, что пропускаются только файлы .tmp. да, это заняло немного времени, но, по крайней мере, я был уверен, что скопировал все свои файлы. этот процесс, вероятно, может быть упрощен с помощью командной строки или powershell.</li> <li>если в вашем случае есть файлы, которые не будут скопированы, вы можете запустить файл procxp.exe, предоставленный sysinternals. затем выполните поиск дескриптора и найдите часть имени файла. procxp сообщит вам, какие программы блокируют файл. пока вы закрыли столько программ, сколько могли, этого не должно происходить.</li> <li>найдите и загрузите программу, которая будет выполнять поиск и замену в реестре. я не буду предлагать один, потому что я не нашел ни одной программы, которая работала бы отлично. в итоге я скачал несколько разных бесплатных приложений и использовал их все.</li> <li>используя программу поиска и замены реестра, выполните поиск исходной папки профиля пользователя и замените ее новой папкой профиля пользователя (например, найдите "c:\users" и замените на "d:\users". обратите внимание, что некоторые из приложения, которые я использовал, меняли бы только значения, а не имена ключей. однако все ключи, которые нужно было пометить, были связаны с muicache. я не знаю, нужно ли их действительно обновлять. я сделал это только для того, чтобы убедиться.</li> <li>выйти. войдите в систему с тем же пользователем. повторяйте шаг 14, пока не останется ничего заменить. причиной этого шага является то, что при выходе из системы некоторые программы обновляют реестр, используя старый путь к профилю пользователя.</li> <li>запустите regedit.exe, выполните поиск исходного пути к профилю пользователя и убедитесь, что он не существует. причина этого шага в том, что (как отмечено в шаге 13) я не доверял ни одной из программ поиска и замены реестра, которые использовал. мне пришлось обновить около дюжины ключей и значений вручную, так как поиск и замена пропустили их.</li> <li>чтобы вы могли легко найти программы, которые не используют реестр и жестко заданные пути к профилям, переименуйте исходную папку профиля (например, переименуйте c:\users в c:\~ users).</li> <li>выйти. войдите в систему под своим обычным пользователем. все должно работать правильно, кроме программ, которые используют жестко закодированное местоположение профиля пользователя.</li> <li>есть два простых метода, которые можно использовать для поиска программ, которые используют "жестко закодированное" местоположение профиля и все еще ищут исходный путь к профилю пользователя. вы можете использовать упомянутый выше трюк procxp.exe и искать дескрипторы в исходном местоположении профиля. вы также можете отслеживать местоположение профиля oringal, чтобы увидеть, были ли созданы какие-либо новые папки или файлы. например, в моем случае foldershare создал несколько папок и файлов в каталоге c:\users\myusername\appdata\local\foldershare. поэтому я обновил настройки foldershare, указав другой путь, а затем удалил каталог c:\users (обратите внимание, что c:\~ users все еще существует в качестве резервной копии).</li> <li>поскольку теперь вы уверены, что все ваши данные были перемещены (правильно ??????), вы можете удалить резервную копию исходного расположения профиля пользователя (например, c:\~ users).</li> </ol> </blockquote><p> <a href="http://joshmouch.wordpress.com/2007/04/07/change-user-profile-folder-location-in-vista/">источник: изменить расположение папки профиля пользователя в vista</a> </p><p>учитывая тот факт, что microsoft упростила изменение местоположения специальных папок и столь же сложно изменить расположение всей структуры пользовательских папок, я бы <strong> <em> настоятельно советую</em> вы должны принять легкий подход </strong>.</p>

<p>вот правильный процесс</p><ol> <li>загрузитесь с установочного носителя и перейдите к командной строке (я полагаю, вам нужно сначала нажать кнопку восстановления)</li> <li>используйте robocopy для копирования c:\users в d:\users: robocopy c:\users d:\users/mir/xj <strong>/copyall </strong><br> а./mir говорит robocopy зеркалировать каталоги, это скопирует все файлы<br> б./xj очень важен, это говорит робокопии не следовать точкам соединения. если вы забудете об этом, у вас будет много проблем.<br> <strong> с./copyall скопирует все атрибуты, включая acl и информацию о владельце </strong></li> <li>убедитесь, что файлы успешно скопированы</li> <li>удалить c:\users</li> <li>создайте соединение, которое указывает на d:\users: mklink c:\users d:\users/j</li> </ol><hr><p>я сделал инструкцию джимми, и я почти работал. однако у меня возникла странная проблема с ie, я не смог загрузить файл. я нашел решение, чтобы исправить мою проблему с загрузкой, и оно задокументировано на <a href="https://superuser.com/questions/131262/ie8-unable-to-download-files/133524#133524">superuser</a> :</p>

<p>некоторые ресурсы для "автоматического" перемещения c:\users с помощью автоматического сценария во время установки.</p><p>у microsoft есть <a href="http://support.microsoft.com/kb/929831">kb с некоторыми проблемами</a> вокруг движущихся специальных папок, которые могут быть полезны для чтения.</p><p>когда дело доходит до самого сценария автоматической установки, есть элемент с именем folderlocations, у которого есть дочерний элемент profilesdirectory, который вы можете указать следующим образом:</p><pre><code><?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> </code></pre><p>вот статьи microsoft о <a href="http://technet.microsoft.com/en-us/library/cc721929(ws.10).aspx">развертывании vista</a> , в которых рассказывается, как работать с unattend.xml, и вот лучший источник, который я нашел из расширенного <a href="http://social.technet.microsoft.com/forums/en-us/itprovistasetup/thread/91aa8b26-2b09-4e56-955c-679b297832e1/">как переместить статью специальных папок рамеша сринивасана</a> которые подробно объясняют, как это сделать и на что следует обратить внимание (включая тот факт, что даже после запуска этого сценария автоматической установки, например, в качестве аргумента для setup.exe, все еще существуют точки соединения, такие как c:\documents и settings, которые указывают в старое место, которое вам нужно будет исправить вручную (если это возможно)).</p>

<p><code>"c:\users"</code> - системная папка, эквивалентная <code>"c:\documents and settings"</code> в windows xp/2000/nt, и из-за этого было очень трудно, если не невозможно, переместить папку. было несколько способов обойти эту проблему, перемещая подпапки с помощью tweakui или некоторых подобных хаков вместо родительской папки, и здесь есть много сообщений об этом:</p><p> <a href="http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/">http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/</a> </p><p> <a href="http://support.microsoft.com/kb/236621">http://support.microsoft.com/kb/236621</a> </p><p> <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;314843">http://support.microsoft.com/default.aspx?scid=kb;en-us;31484</a> </p><p> <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;q310147&id=kb;en-us;q310147">http://support.microsoft.com/default.aspx?scid=kb;en-us;q310147&id=kb;en-us;q310147</a> </p><p>но в отношении vista/windows 7 кажется, что этот процесс, возможно, стал проще. вот несколько постов, в которых рассказывается, как это сделать в vista, в основе которой лежит windows 7:</p><p> <a href="http://www.ehow.com/how\_2064387\_relocate-user-files-windows-vista.html">http://www.ehow.com/how\_2064387\_relocate-user-files-windows-vista.html</a> </p><p> <a href="http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-vista/">http://www.technospot.net/blogs/how-to-move-users-folder-to-different-location-in-windows-vista/</a> </p><p> <a href="http://www.howtogeek.com/howto/windows-vista/moving-your-personal-data-folders-in-windows-vista-the-easy-way/">http://www.howtogeek.com/howto/windows-vista/moving-your-personal-data-folders-in-windows-vista-the-easy-way/</a> </p>

<p>это немного поздно ...</p><p>проблем с перемещением c:\users на другой диск можно избежать, перемещая отдельные профили, а не весь каталог.</p><p>если вы оставите соединение в c:\users со ссылкой на новый каталог, все пути продолжат работать, как в случае решения jimmie houts, однако я не перемещаю администратора, сетевой сервис, общедоступные и т.д., поэтому все обычные системные функции, такие как обновление windows, продолжайте работать как обычно.</p><p>ян</p>

<p>я исследовал одно и то же в течение длительного времени. это не может быть сделано. вы можете перемещать "специальные" папки ("документы", "моя музыка" и т.д.), но не можете перемещать каталог <strong>sers</strong>.</p>

<p>это не совсем то, что вам нужно, но если в windows 7 действительно хорошая альтернатива, это изменить расположение библиотек. этим способом вы сохраняете документы, рисунки и т.д., но не весь профиль на диске d.</p><p>прошлой ночью я создал инструмент, который может быть полезен для вас: <a href="http://setlibraries.codeplex.com/">установить библиотеки</a> .</p>

<p>большая часть этого скопирована с других, затем изменена и расширена нынешним автором tu servidor.</p><p>чтобы наиболее легко переместить все пользовательские файлы и файлы пользовательских программ с загрузочного диска (в моем случае это ssd), следуйте этим инструкциям.</p><p>сначала создайте точку восстановления, на всякий случай: 1. откройте систему, нажав кнопку "пуск", щелкнув правой кнопкой мыши "компьютер" и затем выбрав "свойства". 2. на левой панели щелкните защита системы. если вас попросят ввести пароль администратора или подтверждение, введите пароль или предоставьте подтверждение. 3. перейдите на вкладку "защита системы" и нажмите "создать". 4. в диалоговом окне "защита системы" введите описание и нажмите кнопку "создать".</p><p>затем перейдите в раздел "восстановление системы"/"командная строка": загрузитесь с установочного dvd-диска win7, выберите язык, валюту и клавиатуру и нажмите "далее". на экране "установить сейчас" выберите "восстановить компьютер". вам будет предложено выбрать "восстановить и перезагрузить" с помощью параметров восстановления системы, выберите "нет". затем убедитесь, что windows 7 указана как одна из установленных ос, доступных для восстановления, и что она выбрана, а затем нажмите "далее". вам будет предоставлен список инструментов восстановления. выберите "командная строка".</p><p>найдите ваш виртуальный диск windows, загруженный с носителя win7 (возможно, c или x), найдите ваш настоящий диск windows/ssd (d или e) и найдите жесткий диск (обычный жесткий диск) (d или e).</p><p>в моей системе нормально, c = ssd с windows на нем, d = жесткий диск с данными</p><p>при использовании носителя обновления win7 диски в режиме восстановления были настроены по-другому, поэтому: x: виртуальный/временный диск windows, e: фактический диск windows/ssd, d: жесткий диск, жесткий диск, который я хотел установить\users.</p><p>некоторые сообщают, что режим восстановления системы настроит свои диски следующим образом: c: виртуальный/временный диск windows d: фактический диск windows/ssd e: жесткий диск, который они хотят установить/users.</p><p>в командной строке вы будете использовать robocopy (не xcopy!), чтобы скопировать c:\users в d:\users, затем удалить старого c:\users, а затем создать символическую ссылку из c:\users в d:\users. обратите внимание, что вы должны делать это по порядку, и у вас не должно быть d:\users dir, прежде чем вы это сделаете.</p><p>примечание: в окне командной строки восстановления системы ваши диски не совпадают с теми, которые будут после выхода из режима восстановления! так что настройте команды ниже, чтобы узнать, как приводы находятся в режиме восстановления, и тогда они получатся правильными позже.</p><p>я использовал: robocopy/mir/xj e:\users d:\users</p><p>переместить/пользователи с windows/ssd на hdd./mir говорит robocopy зеркалировать каталоги, это скопирует все файлы и разрешения./xj очень важен, это говорит робокопии не следовать точкам соединения. если вы забудете об этом, у вас будет много проблем. убедитесь, что ни один файл не удалось скопировать (failed column = 0).</p><p>затем вы должны удалить старую папку "пользователи" с диска windows/ssd (c :), прежде чем сможете создать символическую ссылку: я использовал: rmdir/s/q e:\users</p><p>создайте ntfs junction/символическую ссылку, которая указывает на новую папку users:</p><p>я использовал: mklink/j e:\users d:\users</p><p>используйте переключатель/j, чтобы создать соединение, которое является жесткой символической ссылкой. (если вы используете ключ/d, вам также придется редактировать реестр, потому что это не будет жесткая ссылка.) используя/j, когда windows ищет каталог c:\users, он найдет его! но это будет на hdd вместо ssd. tricky!</p><p>чтобы увидеть доказательство того, что вы создали, все еще в окне командной строки перейдите в реальный windows/ssd и выполните команду "dir", и вы увидите: "users [d:\users]"</p><p>теперь перезагрузите компьютер, и вы увидите/users на жестком диске, и все готово. никакой дальнейшей настройки или возиться не требуется. все новые профили пользователей будут храниться на диске d: как и любые пользовательские данные. и это достижимо без каких-либо проблем в реестре, поиска и замены значений или необходимости возиться с новыми профилями. полностью установить и забыть.</p>