stasys44
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ВЫНОС ПРОФИЛЕЙ ПОЛЬЗОВАТЕЛЕЙ ЗА ПРЕДЕЛЫ СИСТЕМНОГО РАЗДЕЛА Как сделать копию или установить Windows 7 в контейнер, можно прочитать по материалам "в шапке". В результате, Windows 7 устанавливается в однораздельный VHD-контейнер. По разным соображением папки Профилей пользователей и папку ProgramData желательно иметь вне системного раздела. Подход, как в случае с Win XP, не пройдет. bootmgr Win 7 при загрузке способен смонтировать только один VHD. Следовательно, нужен второй раздел необходимого размера на VHD диске. Туда переносится все ненужное. В системном разделе создаются NTFS символьные ссылки (NTFS symbolic links) - подробнее в Википедии. По этим ссылкам запросы перенаправляются с системного раздела в то место, где эти данные находятся физически. Имена разделов могут быть любыми, удобными для вас. Замечание - в реестре изменения не нужны. При использовании EWF - отключите на время применения изменений. I - Windows 7 Ulti в VHD-контейнере A. Копирование профилей 1. Второй раздел на VHD В "Управлении дисками" (diskmgmt.msc) уменьшил системный раздел и на оставшемся месте создал новый для профилей: 1.1. Открыл "Управление дисками" (Disk management), навел курсор на виртуальный диск и по нажатию Правой Клавиши Мыши (ПКМ) в меню выбрал "Сжать Том" (Shrink Volume) и уменьшил его (в разумных пределах, конечно), оставив достаточно свободного места. 1.2. На оставшемся месте создал новый раздел для профилей, назвал его ReData. В диалоговом окне выбирается "Назначение буквы" (у меня H:\) и "NTFS символьную ссылку" на папку. Если папка в системном разделе уже создана заранее (она должна быть пустой), указываете на нее, если - нет, тогда в диалоговом окне "Управление дисками" выбираете "Создать папку", с именем ReData (что значит - Перенаправленные Данные, или как вам нравится) в системном разделе. Правильнее было бы еще при создании VHD позаботиться о его разбиении на 2 раздела (в нужной пропорции). Примечание: перенести профилеи можно не только на другой раздел в VHD, но и на физический раздел вне VHD (меняется только буква присвоенная будущему диску профиля, возможно и для портабельных програм) - с условием, что ОС будет иметь доступ к разделу (другой раздел USB HDD, сама флешка) 2. Копирование Профилей и папки ProgramData 2.1. Для копирования Профилей и папки ProgramData пользовался программой xxcopy (мог бы TC, в его диалоговом окне по копированию нужно отметить галочку "копировать права доступа NTFS", ТС задает лишние вопросы и не все файлы копирует): архив xxcopyProfiles в облаке mediafirehttp://www.mediafire.com/?lk162cg38gyut 2.2 Вместо работы с командной строкой - создал командный файл CopyProfiles.cmd: Код: xxcopy c:\Users\Admin C:\ReData\Users\Admin /E /H /K /SC /oE1 xxcopy c:\Users\Default C:\ReData\Users\Default /E /H /K /SC /oE1 xxcopy c:\Users\Public C:\ReData\Users\Public /E /H /K /SC /oE1 xxcopy c:\ProgramData C:\ReData\ProgramData /E /H /K /SC /oE1 У Вас может быть папки называются иначе (например [Петя], [Вася] - главное, копируются все папки, кроме All Users и Default User, в руской версии еще Все пользователи (это не папки, а символьные ссылки). 2.3. Если копирование проходит гладко (подождите пару минут, потом прервете (по ESC), единственный рапорт - о том, что ключ oE1 этой версией не поддерживается (Pro версию не скачивал, не хотел заполнять форму о пожертвованиях), ключ /oE1 оставил (может у Вас Pro версия). Примечание: копирование профилей можно применить и для раздела\диска вне виртуального диска (меняется только путь - прописывается буква присваиваемая диску профиля, а не ReData) - с условием, что он должен быть всегда досягаем ОС, команда может быть такой xxcopy c:\Users\Default E:\Users\Default /E /H /K /SC /oE1 3. Coздание символическмх ссылок Создается вторая учетная запись с административными правами (для подстраховки). Необходимо грузиться с другой сборки (но, при УСЛОВИИ что буква системного привода, как она ее видит, не совпала с той, что использует ваша ОС, как правило, C:\) или WinPE. На запущенной WinPE проверяем какая буква присвоена разделу/диску, на котором устроен ваш vhd, у меня - С, ее и применяю. 3.1. Открывается командная строка и последовательно вводятся следующие команды: Код: diskpart select vdisk file="C:\Путь-К-Виртуальному-Диску\Имя-Виртуального-Диска.vhd" attach vdisk list vol select vol 1 assign letter = K select vol 5 assign letter = С exit где, "C:\Путь-К-Виртуальному-Диску\Имя-Виртуального-Диска.vhd" - C:\ буква привода, на котором находится Ваш виртуальный файл (кавычки "латинской" клавиатуры, если в пути или имени имеются пробелы), после ввода команды list vol, выдается список разделов, нужен том с буквой С, у меня он №1, и номер тома системного раздела вашего VHD; соответственно вводится select vol 1 (не ошибка, если напишите select vol c) и дальше присваивается буква K (если она свободна), теперь системному тому (у меня №5, том ReData - №6) присваивается освобожденная буква С в последних двух командах. diskpart больше не нужен, командную строку пока не закрывайте, еще понадобится. 3.2. В Проводнике (или Файловом Менеджере) для подключеннго VHD в папке Users, меняются имена папок, которые копировались на раздел ReData (смотрите пункт 2) и папки ProgramData; например, c:\Users\Administrator1 и т.д. - для страховки, если не удаляются. Не сделаете этого, не сможете создать символические ссылки. 3.3. Создаются символьные ссылки (симлинки). Если командную строку закрыли, снова откройте, и введите следующие команды (К примеру. У вас могут быть свои) Код: mklink /d C:\Users\Administrator C:\ReData\Users\Administrator mklink /d C:\Users\Default C:\ReData\Users\Default mklink /d C:\Users\Public C:\ReData\Users\Public mklink /D C:\ProgramData C:\ReData\ProgramData rd "C:\Documents and Settings" mklink /D "C:\Documents and Settings" "C:\ReData\Users" Путь к наследуемой из Win XP папке - Documents and Settings - обязательно обозначается латинскими кавычками. Не знаю, насколько целесообразно изменять эту ссылку. Я создал командный файл с этими командами, между командами ввел pause, чтобы успеть увидеть, что создаются ссылки. Как видите, источником указываю не букву раздела ReData, а ссылку C:\ReData на него . Убедитесь, что ссылки созданы. Примечание: При создании ссылок для раздела\диска вне виртуального диска - вместо C:\ReData\ вводится, например, E:\ 4. Проверяете запуск ОС с Виртуального диска и правите символьные ссылки. 4.1 Если все работает нормально, можно удалить переименованные папки. В "Управлением дисками" (diskmgmt.msc) удалить присвоенную разделу ReData букву. Удалите также временную учетную запись, но пока еще не все согласовано. 4.2 При различных несоответствиях возможен вариант, что внутри Профилей пользователей присутствуют символьные ссылки, которые указывают на уже несуществующие пути. Например, если в пункте 2.2 Профили копировались на H:\Users, а ссылки создавались по пути C:\ReData\.. (Так было у меня при первом опыте). Внутри профилей символические ссылки будут указывать на H:\Users..., а не C:\ReData\Users Символьных ссылок на один профиль - по 15 штук (плюс - ссылки с именами кирилицей). Для исправления применяется предложенный файл, в котором d:\ заменено на C:\ReData\, ключ /j заменен на /d: ________. Файл открывается/сохраняется в WordPad (в кодировке DOS-866) или NotePad++ (Encoding->Character Sets->Cyrillic->OEM 866). Править надо будет только первую строку - set userfolder=C:\ReData\Users\default, т.е. после применения файла по умолчанию, правим его для каждого пользователя. Перемещаются не только профили, но и папка ProgramData, поэтому для нее подготовил файл: ____________ 4.3. Проверяете настройки безопасности. Для всех папок профилей: открыть вкладку "Безопасность" (ПКМ на папке - "Свойства" - "Безопасность"), внизу нажать на кнопку "Дополнительно", в открывшейся вкладке "Разрешения" внизу нажать кнопку "Изменить", в открывшемся окне убрать отметку с "Добавить разрешения, наследуемые от родительских объектов", если не убрана (на вопрос копировать или удалить - отвечать Копировать); в списке разрешения должны присутствовать только разрешения для Системы, группы администраторов и пользователя с правами полного доступа), для папки Public вместо конкретного пользователя должно быть группа "Все" с правами полного доступа 4.4 Перезагрузиться. Убедиться, что все работает правильно, и выполнить то, что не сделано по пункту 4.1. Включить EWF. Б. Перемещение профилей 1. Создание второго раздела на VHD описывалось в разделе А, пункт 1 2. Перенос профилей и символьных ссылок: Если ОС важна для вас - сделайте резервную копию. Поэтому, в данном примере, новая учетная запись не создается. 2.1 Загрузитесь в WinPE. Проверяется и запоминается (или записывается) путь, по которому находится ваш VHD, у меня - С:\... 2.2. Открывается командная строка и вводятся команды, как описано в пункте 3.1. раздела А: Код: diskpart select vdisk file="C:\Путь-К-Виртуальному-Диску\Имя-Виртуального-Диска.vhd" attach vdisk list vol select vol 1 assign letter = K select vol 5 assign letter = С exit | где, "C:\Путь-К-Виртуальному-Диску\Имя-Виртуального-Диска" - C:\ буква тома, на котором лежит Ваш виртуальный файл (кавычки "латинской" клавиатуры, если в пути или имени имеются пробелы), после ввода команды list vol, выдается список разделов, нужен том с буквой С, у меня он №1, и номер тома системного раздела вашего VHD; соответственно вводится select vol 1 (не будет ошибка, если напишите select vol c) и дальше присваивается буква K (если она свободна). Затем системному тому (у меня №5, том ReData - №6) присваивается освобожденная буква С в последних двух командах 2.3. Открывается проводник и в разделе ReData создается пустая папка Users. Затем открывается папка Users на системном разделе и вырезается один из профилей (сочетание клавиш Ctrl+X или ПКМ->"Вырезать") и по пути C:\ReData\Users вставляется (Ctrl+V или ПКМ). Так перемещаются все профили, кроме All Users и Default User (в руской версии еще Все пользователи) - это не папки, а символьные ссылки. 2.4. Создаются к профилям символьные ссылки (Symbolic link). Если командную строку закрыли, снова откройте, и введите следущие команды (к примеру, вы вводите свои) Код: mklink /d C:\Users\Administrator C:\ReData\Users\Administrator mklink /d C:\Users\Default C:\ReData\Users\Default mklink /d C:\Users\Public C:\ReData\Users\Public mklink /D C:\ProgramData C:\ReData\ProgramData rd "C:\Documents and Settings" mklink /D "C:\Documents and Settings" "C:\ReData\Users" | Можно создать для этого батник. 2.5. Ссылки внутри профилей При перемещении ссылки теряются, поэтому создаются новые. Применяются файлы описанные в пункте 4.2. раздела А ______ и _____________ Это все. 3. Проверяется запуск ОС с Виртуального диска. Отключить EWF (если не был отключен перед переносом профилей). 3.1. Проверить настройки безопасности по пункту 4.3. раздела А. Если были сделаны изменения, перезагрузить. 3.2. Убедиться, что все работает правильно и включить EWF. II - WINDOWS XP в VHD-контейнере А. Сборка с уже перенесенными профилями, но с буквами, присвоенными к разделам 1. На системном диске в корне создаются пустые папки - Users, Documents, Programs. Открывается Управление дисками (diskmgmt.msc) и соответствующим разделам Users, Documents, Programs добавляется путь (ПКМ -> Изменить букву и путь) к cозданным папкам. 2. Какой нибудь программой правки реестра с развитой функцией Find-Replace (я использовал Registrar Registry Manager) заменить все значения S:\ T:\ U:\ в реeстре соответственно на C:\Documents\ C:\Programs\ C:\Users\. 3. Перезагрузить ОС, просмотреть меню пуск - нет ли там (в автозагрузке особенно) ярлыков с путями на S:\ T:\ U: и исправляем соответственно на C:\Documents\ C:\Programs\ C:\Users\. Если все исправлено и все работает, можно открыть Управление дисками и удалить (ПКМ) дискам\разделам присвоенные буквы Б. Копирование профилей Мне не получилось "красиво" перенести профили копированием, поэтому не стану это описывать В. Перемещение профилей 1. Создание второго раздела на VHD описывалось в части I - Windows 7 Ulti в VHD-контейнере в разделе А, пункт 1 2. Перенос профилей и символьных ссылок: Если ОС важна для вас - сделайте резервную копию. Поэтому, в данном примере, новая учетная запись не создается. 2.1 Загрузитесь в WinPE. Проверяется и запоминается (или записывается) путь, по которому находится ваш VHD, у меня - С:\... 2.2. Открывается командная строка и вводятся команды, как описано в пункте 3.1. раздела А (часть I - Windows 7 Ulti в VHD-контейнере): Код: diskpart select vdisk file="C:\Путь-К-Виртуальному-Диску\Имя-Виртуального-Диска.vhd" attach vdisk list vol select vol 1 assign letter = K select vol 5 assign letter = С exit | 2.3. Открывается проводник и в разделе ReData создается пустая папка Documents and Settings. Затем открывается папка Documents and Settings на системном разделе и вырезается один из профилей (сочетание клавиш Ctrl+X или ПКМ->"Вырезать") и по пути C:\ReData\Documents and Settings вставляется (Ctrl+V или ПКМ). Так перемещаются все профили (папки). 2.4. Создаются символьные ссылки. Для этого используется программа Junction (Sysinternals). Код команды: junction "C:\Documents and Settings\Administrator" "C:\ReData\Documents and Settings\Administrator" . Программа и образец командного файла ___________ 2.5. Перезагрузить компъютер и запустить VHD Windows XP ССЫЛКА - http://www.mediafire.com/?lk162cg38gyut.Oписание редактируется Использован материал: http://myknowledgeshare.wordpress.com/2011/04/11/перенос-папки-профилей-пользователе-2/ http://joshmouch.wordpress.com/2007/04/07/change-user-profile-folder-location-in-vista/ http://www.sevenforums.com/tutorials/87555-user-profile-change-default-location.html http://ru.wikipedia.org/wiki/Символьная_ссылка http://my.mail.ru/community/compi/6AB01B63568AD799.html | Всего записей: 887 | Зарегистр. 23-08-2008 | Отправлено: 10:51 21-09-2012 | Исправлено: stasys44, 17:10 01-03-2013 |
|