kaktusenok
пятница, 7 сентября 2012 г.
Перенос папки профилей пользователей (Users) в ОС Windows 7. Часть 1: На этапе установки
Это не моя статья, но считаю её очень полезной, поэтому размещаю исправленную и дополненную копию.
Задача переноса папки профилей пользователей с системного диска на другой логический или физический диск в ОС семейства Windows стоит весьма остро по ряду причин:
- Необходимость разделения оперативной информации (система) и архивных данных (данные пользователей) обусловленная, к примеру, необходимостью хранения системных файлов на высокоскоростном, но менее надежном массиве дисков RAID0.
- Отсутствие необходимости дополнительного переноса информации при переустановке ОС.
- По сравнению с переносом отдельного профиля пользователя перенос папки Users более предпочтителен, поскольку профили всех последующих пользователей компьютера будут также сохранены в нужном месте, и не будет необходимости снова проделывать процедуру переноса.
Одним из наиболее изящных и рациональных методов осуществления такого переноса является возможность определения месторасположения папки профилей пользователей на этапе установки системы. Такую возможность в отношении ОС Windows 7 нам предоставляет Microsoft под названием Audit Mode. Подробнее об этом режиме можно почитать в следующей статье.
Теперь собственно о сценарии переноса папки Users:
- Следует произвести обычную установку Windows 7 любым удобным для Вас способом остановившись на шаге, где программа установщик попросит Вас ввести имя компьютера и имя пользователя.
Находясь на экране ввода имени компьютера и имени пользователя нажмите сочетание клавиш CTRL + SHIFT + F3. Компьютер будет перезагружен и загрузится уже в режиме Audit Mode. При этом система будет находится в этом режиме до тех пор, пока Вы не запустите утилиту sysprep с ключом /oobe или не выберете соответствующий пункт в оконной версии этой утилиты, которая стартует в Audit Mode каждый раз при запуске системы.
Поскольку на этот момент Вы уже будете иметь установленную, но не до конца настроенную Windows 7, перед тем как назначать новое месторасположение для папки профилей пользователей, необходимо сперва подготовить дисковую подсистему, то есть произвести создание и форматирование раздела, которые планируется использовать для размещения папки Users.
Теперь необходимо сформировать конфигурационный файл для настройки местоположения папки Users, вот его содержимое:
Сохраните его под любым именем, например, unattend.xml.
Внимание! Файл должен сохранён в кодировке UTF-8 (а для тех кто понимает UTF8 + BOM).
Окно с заголовком «Программа подготовки системы 3.14» нужно закрыть. Иначе при выполнении указанной далее команды получите ошибку: «Уже выполняется другая копия этого приложения».
Файл «unattend.xml» лучше сохранить на жёстком диске, а не на флешке, потому что при использовании этого файла при следующей перезагрузке флешка ещё не будет подключена и система сообщит об ошибке и будет постоянно перезагружаться. Весь процесс установки придётся начать сначала. Предположим, что файл unattend.xml был сохранен в корне диска C, тогда команда для его применения будет выглядеть следующим образом:
Компьютер будет перезагружен.
Если файл сохранён НЕ в кодировке UTF-8 (о чём писалось выше), то получите следующую ошибку: «Произошла неустранимая ощибка при выполнении программы Sysprep на компьютере.»
Вернувшись к окну задания имени компьютера и имени пользователя проведите установку до конца.
После загрузки компьютера убедитесь, что папки D:\Users и D:\ProgramData существуют и что папка пользователя, имя которого Вы задали на финишном этапе установки находится в D:\Users.
В качестве бонуса также можно воспользоваться достоинствами так называемых junction points для предотвращения ошибок, связанных с явным указанием прежних путей папок профилей пользователей. Для этого создадим при помощи утилиты mklink две символические ссылки (выполнить c правами администратора):
Таким образом теперь даже при обращении по прежним путям любая программа не заметит подмены и будет работать с папками на диске C, хотя фактически они будут расположены в настроенном Вами месторасположении.
Для совместимости работы некоторых приложений с Windows XP рекомендую сделать следующую символическую ссылку:
Если папка пользователей уже существовала и Вы при первоначальной настройке операционной системы задаёте прежнее имя пользователя, то будет создана другая папка для профиля, а старая останется не тронутой. Все файлы из старой папки следует перенести в новую вручную (желательно загрузиться под совершенно другим пользователем, чтобы не происходила блокировка файлов в папке профиля).
Поэтому я рекомендую после установки Windows и после создания профилей пользователей (для этого нужно один раз интерактивно войти под каждым пользователем), создать образ системы на диске C:. В случае сбоя, Вы разворачиваете систему из образа, в которой профили пользователей привязаны к своим папкам, и проблемы описанной абзацем выше не будет.
Перенос Windows 7 на твердотельный диск небольшого объема. Часть 3. Перемещение каталогов пользователей
Здравствуйте уважаемые читатели блога www.ithabits.ru. Сегодня мы завершим описание процесса переноса операционной системы Windows 7 с сохранением профилей пользователей, установленных программ, данных и настроек на два жестких диска. Один из дисков — твердотельный накопитель SSD объемом 60 ГБ, второй — обычный механический HDD.
Решение сделать сдвоенную конфигурацию жестких дисков было принято после анализа объемов, занимаемых операционной системой и данными пользователей. В силу того, что суммарно они явно превышали 60 ГБ, перенести все на один небольшой SSD-диск не представлялось возможным.
Забегая вперед скажу, что для настольного компьютера такое решение оказалось не только удачным, но и весьма выгодным с финансовой точки зрения. Суммарная стоимость небольшого SSD и механического HDD пока получается меньше стоимости одного большого твердотельного накопителя.
Даже если «для себя родного» денег не жалко, скорее всего, объема одного SSD реально не хватит. Например, у меня только папки с фотографиями занимают около 130 ГБ. И это при том, что фотографии преимущественно в формате jpg. А у кого в RAW? А если видео? Это я к тому, что все равно придется или устанавливать еще один HDD, или подключать внешний.
Что касается скорости работы системы, то изначально были серьезные опасения, не скажется ли на ней негативно перенос профилей пользователей Windows 7 на обычный механический диск. Опасения не подтвердились – все «летает». Нет, наверняка отклик компьютера был бы еще быстрее, если бы на твердотельном диске располагалась не только операционная система, но и данные. Но что-то мне подсказывает, что в большинстве практических случаев эта разница не была бы сильно заметна.
Возвращаемся к процессу. В прошлый раз мы перенесли операционную систему Windows 7 на SSD-диск и профили пользователей на механический HDD. Для переноса пользовательских профилей мы попытались использовать стандартный для Windows 7 визард «Средство переноса данных Windows».
К сожалению, результат получился не совсем тот, который хотелось бы видеть – не сохранились настройки некоторых программ. Частично это можно объяснить тем, что при таком переносе профиля меняются абсолютные пути к файлам и некоторые программы их не находят. Видимо, «Средство переноса данных Windows» имеет смысл использовать для решения тех задач, для которых оно непосредственно предназначено. Одним словом, это вам не Linux, где в \home можно смонтировать любой раздел на любом диске.
Сегодня я опишу второй, очень простой, способ переноса папок пользователей Windows 7 на другой диск. Идею такого переноса подсказал мне майкрософтовский визард в тот момент, когда отказался разворачивать сохраненные профили на второй диск и мне пришлось обманывать его, создавая символьные ссылки. Вот их то мы и задействуем на все сто.
Перенос папок пользователей Windows 7 с использованием символьных ссылок
Возвращаемся к тому моменту, когда предварительная оптимизация занимаемого системой места на диске С: уже сделана, но исходные профили пользователей с диска С: еще не удалены. Копируем пользовательские каталоги в любое доступное место или сразу туда, где их и предполагается разместить в конечном счете.
Сделать это можно различными способами, главное сохранить разрешения на файлы и папки и не потерять системные и скрытые. Например, с помощью команды xcopy в командной строке с правами администратора:
xcopy C:\Users\UserName\ X:\Users\UserName\ /E /H /O /X
UserName – имя каталога профиля пользователя;
X:\Users\UserName – конечная папка;
/E – копируются каталоги с подкаталогами, включая пустые;
/H – копируются скрытые и системные файлы;
/O — сохраняются списки контроля доступа ACL и данные о владельце;
/X – копируются сведений аудита файлов.
Или, тоже в командной строке, командой robocopy:
robocopy C:\Users\UserName\ Х:\Users\UserName\ /E /COPYALL /XJ
C:\Users\UserName, Х:\Users\UserName – источник и результат;
/E – копируются каталоги с подкаталогами, включая пустые;
/COPYALL – копируются все сведения о файлах (данные о владельце, сведения аудита и др.);
/XJ — исключить точки соединения.
Команда robocopy интересна тем, что она предназначена для репликации данных и умеет удалять «лишние» файлы из реплики. Ее с успехом можно использовать для создания резервных копий без полной перезаписи всех файлов.

Копировать профили пользователей нужно в сеансе другого пользователя, в противном случае часть файлов окажется заблокированной. Ранее специально для этих целей мы создали нового администратора, профиль которого никуда с диска С: переносится не будет.
Для тех, кто командную строку сильно недолюбливает, можно предложить, например, бесплатный файловый менеджер FAR. Он умеет копировать права доступа к файлам. Запускать менеджер файлов надо с правами администратора.
Выбираем на левой и правой панелях FAR-а что, куда, и нажимаем F5.
В открывшемся окне в строке «Права доступа» ставим маркер перед «Копировать».
После того, как все нужные папки профилей пользователей будут скопированы, делаем все то, что уже было описано в предыдущей статье, за исключением действий, связанных с утилитой «Средство переноса данных Windows». Еще раз описывать все не буду, только кратко перечислю пункты:
- Удаляем с диска С: скопированные каталоги пользовательских профилей;
- Убираем с диска C: файл подкачки;
- Отключаем спящий режим хибернейт (Hibernate mode);
- Проверяем, включен ли в BIOS режим AHCI контроллера жестких дисков. Если нет, то читаем, как это сделать;
- Инсталлируем новый SSD-диск в компьютер;
- Клонируем диск с системой на твердотельный накопитель;
- Перезапускаем компьютер, во время перезапуска заходим в BIOS и меняем загрузочный диск на SSD.
Заходим в систему под учетной записью специально созданного администратора. Ждем, когда Windows 7 найдет новое оборудование (SSD-диск) и еще раз перезагружаем компьютер. Переживаем первый восторг от скорости загрузки системы .
Если в качестве второго диска будет использоваться исходный, то, возможно, его предварительно надо будет подготовить: удалить ненужные теперь на нем системные разделы и задействовать освободившееся после их удаления место, или просто отформатировать диск целиком. Все это можно сделать из «Управление компьютером» -> «Управление дисками». Главное не торопиться и случайно не «махнуть» что-то нужное. Впрочем, надеюсь, что на этот аварийный случай у вас есть бекап.
- Переносим любым способом, который больше понравился (xcopy, robocopy, FAR), скопированные ранее каталоги пользователей в нужное место.
В прошлый раз мы меняли в реестре путь до пользовательских каталогов («ProfilesDirectory»). Пока мы этого делать не будем.
- Создаем символьные (символические) ссылки в каталоге C:\Users
Опять же, не буду повторять описание команды mklink.
Выглядеть команды будут так (если пути не содержат пробелов, кавычки можно не ставить):
mklink /D «C:\Users\User-1» «Х:\USERS\User-1»
mklink /D «C:\Users\User-2» «Х:\USERS\User-2»
.
mklink /D «C:\Users\User-N» «Х:\USERS\User-N»
— где User-1, User-2, User-N – имена (логины) пользователей, Х:\USERS — новое местоположение пользовательских каталогов, Х: — буква второго (механического) диска.
Те, кто предпочитает графический интерфейс командной строке, могут снова воспользоваться возможностями файлового менеджера FAR. На одной панели открываем папку C:\Users, на другой X:\Users. Подсвечиваем на последней каталог нужного пользователя, нажимаем последовательно клавиши Alt и F6. Готово, в папке C:\Users появляется нужная символьная ссылка.
Вот, собственно, и все. Дело сделано. Осталось последовательно зайти в сеансы наших «перенесенных» пользователей и убедиться, что все работает и настройки программ не сбились. Программы, которые, так или иначе, умеют работать с символьными ссылками, а другие найти сегодня будет сложно, охотно поверят «обману» что все продолжает располагаться, как бы, на C:.
Замечание по поводу изменения путей к пользовательским каталогам в реестре
Для тех, кто планирует капитально разместить пользовательские папки на выбранном диске X:, пути в реестре можно и поправить, причем для разных пользователей можно указать разное расположение. Для этого запускаем с правами администратора regedit и находим ветку:
Находим нужного нам пользователя по значению ProfileImagePath перебирая номерные каталоги на левой панели. Меняем значение ProfileImagePath на реальный путь до каталога пользователя, например, X:\Users\User-1.
Если нужно чтобы каталоги профилей всех новых пользователей сразу создавались на втором диске, заменяем значение параметра ProfilesDirectory в папке ProfileList с дефолтного %SystemDrive%\Users на X:\Users , где X:\Users – наименование корневой папки профилей.
Я этого делать пока не стал чтобы не устроить путаницу – старые приложения в этом случае будут работать через символьную ссылку с C:\, новые непосредственно с X:\. Вдруг потом опять захочется перенести все профили на C:\.
Создаем или переносим на другой диск файл подкачки
Для окончательного приведения системы в рабочее состояние осталось выбрать диск, на котором будет расположен файл подкачки и указать его в системе.
Открываем «Панель управления» > «Система» > «Дополнительные параметры системы». В окне «Свойства системы» нажимаем вкладку «Дополнительно». В разделе «Быстродействие» нажимаем «Параметры». В открывшемся окне «Параметры быстродействия» снова выбираем вкладку «Дополнительно», далее «Изменить». Путем несложных манипуляций добиться надо примерно такого варианта:
После сделанного выбора конфигурации файла подкачки нужно перезагрузить компьютер.
Если оперативной памяти в компьютере установлено мало, а приложений одновременно надо запускать много, и есть опасения, что свопинг будет активным, не стоит убирать файл подкачки с SSD. Размещение файла подкачки на значительно более медленном, по сравнению с SSD, механическом диске неизбежно приведет в этом случае к снижению скорости работы системы. Можно попробовать схитрить – сделать файлы подкачки на обоих дисках, но на SSD задать его небольшого фиксированного размера, например – 1…2 ГБ.
С клонированием и переносом системы Windows 7 и папок пользователей на два диска все получилось. Очень даже несложно. Можно начинать работать на обновленном компьютере и радоваться его удивительной шустрости . Если бы у меня с самого начала было подобное описание последовательности действий, то на все про все ушло бы около двух часов.
Коль уж дисков теперь два, попробуем еще безболезненно для производительности Windows переместить некоторые системные файлы на второй диск и освободить тем самым дополнительно место на SSD-диске C:\. Об этом в следующей части.










