Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > пользовательские профили на своем разделе


Автор: bilbobagginz 16.1.2010, 21:07
привет.
Во-первых, я попытался поискать в форуме, по ключевым словам: "раздел Users". ничего не нашел.

У меня возник вопрос, в связи с настройкой компика для моего братца к его днюхе.
настраивал я Windows 7 Enterprise 64-bit.
сейчас я уже на проблему забил, 
но идея была каким-то образом сделать так, чтобы все профили, а точнее папка C:\Users
была ссылкой, которая указывает на др. раздел (напр. E:), 
и таким образом при переустановке системы, 
мне нужно было бы забыть о заботе переноса данных.
Кроме того, при раздельном подходе легче бэкапить, легче менять диски и т.д.
изначально я создал 3 раздела:
  • раздел1: системный для винды
  • раздел5: бэкап (80 ГБ - инсталляторы программ, драйвера и образа системы)
  • раздел6: профили пользователей
когда я создал раздел1, автоматом создался раздел0 на 100МБ, 
который при нормальном старте не был виден (был скрыт), и поэтому расклад был таким:
  • раздел1: C:
  • раздел5: D:
  • раздел6: E:
Потом я установил базовую систему, на C:
Дальше я попытался сделать так:
зашел с установочного диска, и выбрал repair.
там я открыл "command prompt"
и увидел, что диск бывший C, стал D, а все остальные ушли по нарастающей.
я набил команды:
Код

robocopy D:\Users F:\Users /mir /xj
robocopy D:\Users E:\Users /mir /xj
rename D:\Users D:\Users.OLD
d:
cd \
mklink /d Users E:\Users
exit

идея: 
1. скопировать файлы на нужный каталог, и на тот, который не нужен, но занял E:
2. изменить имя старого Users -> Users.OLD
3. создать ссылку.

далее я перезагрузился, но получил ошибку:
Код

The user profile service failed the logon.
User profile cannot be loaded.

В общем я не знаю в чем я был не прав.
Возможно 2 вещи:
1. где-то система держит координату профилей не по логическим именам C:\Users, а по напр. координатам файловой системы. В таком случае ... я чего-то недоделал
2. что-то другое пошло криво.


если у кого есть идеи, помогите - мне скоро свой десктоп апгрейдить надо будет, хотел бы разрулить этот вопрос.


Автор: mihanik 16.1.2010, 23:41
Тут это... Того...

Начиная с висты наблюдается такое явление, на какой бы раздел диска не была бы установлена система, после загрузки она начинает считать, что стоит на диске С:.

У меня на одном диске стоит виста, семёрка и сервер 2008 R2.
И каждый стоит на диске С:
 smile 

Раздел в 100 метров - там лежит загрузчик винды.
Если бы ты разбивал диск не средствами системы, а сторонней программой, и при этом полностью бы использовал бы место на диске, то получил бы скрытую папку BOOT где-нибудь, в которую бы и установился бы загрузчик системы.
По-большому, принципе, загрузчик семёрки отличается от загрузчика висты всего 2-мя файлами...
Ну...
Как-то так...

По поводу ссылки...
Ссылку лучше создавать из-под живой системы.
Лучше цеплять целиком диск к пустой папке.
Попробуй использовать корень другого раздела для хранения данных пользователя, присоединив диск в пустую папку.

Автор: bilbobagginz 16.1.2010, 23:53
Цитата(mihanik @  16.1.2010,  22:41 Найти цитируемый пост)
Попробуй использовать корень другого раздела для хранения данных пользователя, присоединив диск в пустую папку.

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

Автор: Стас 16.1.2010, 23:59
А зачем делать ссылку? Может профили пользователей вообще перенести на другой раздел?
1. Скопировал папку Users из C: в E:
2. В реестре исправил в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList значение ключа ProfilesDirectory
из %SystemDrive%\Users на E:\Users (Что бы новые пользователи создавались в  E:\Users)
Там же изменил ключ  Public на E:\Users\Public.
3.  Изменил каталоги уже созданных пользователей в  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList \<SID>
ключ ProfileImagePath на E:\Users\***Username***.
4. Скопировать файл NTUSER.DAT из С:\Users\Default в папку E:\Users\*Имя пользователя*.  Иначе будет описанная  тобой ошибка. 
После того как залогинишься   в E:\Users можешь создать других пользователей (они будут созданы в E:\Users) и можно сразу логиниться 
этим пользователем (копировать NTUSER.DAT не нужно).
5. Папку  Users с C:\ на E:\ я перегонял с помощью Winrar с сохранением прав (с robocopy не стал разбираться.)  smile 

Автор: mihanik 17.1.2010, 00:07
Цитата(bilbobagginz @  16.1.2010,  23:53 Найти цитируемый пост)
либо я не понял, либо твое предложение трудно (до невозможно) автоматизировать для всех новых пользователей


Ок! Попробую у себя такое провернуть...

А ещё!
bilbobagginz, в свойствах пользователя есть пунктик "Путь к профилю".
Пропиши его в нужное тебе место!!!
При этом профили пользователей во время работы будут лежать на диске С:, а при завершении сеанса будут копироваться/синхронизироваться с указанным тобой путём.
Я так дома делаю...
Систему переставляю не часто, но т.к. провожу эксперименты результаты которых не всегда известны...
Короче, всегда имеется архивная копия профиля!
КРОМЕ папки локальных настроек... :-(
Там обычно почтовые ящики и ещё кое какие-мелочи...
Но эту папку можно копировать и скриптом при выходе из системы, если на то пошло...
smile


Автор: bilbobagginz 17.1.2010, 00:49
mihanik, повторяю:
меня интересует "глобально" и "тотальное" решение, чтобы:
1. и старые пользователи могли иметь профиль в нужном мне разделе/каталоге
2. новые пользователи не требовали вмешательства, и могли бы создаваться механически (скриптами) с профилем в нужном месте.

т.е. просто создать пользователя с профилем в C: а потом сделать перенос профиля - не пойдёт. это надо будет делать ВСЕМ новым пользователям.

Стас, твое предложение ты запустил в "живую" на бегущей системе а не через диск установки и Repair ?

Автор: mihanik 17.1.2010, 00:57
bilbobagginz, понял.

Однако!


Цитата(bilbobagginz @  17.1.2010,  00:49 Найти цитируемый пост)
новые пользователи не требовали вмешательства, и могли бы создаваться механически (скриптами) с профилем в нужном месте.

Путь к профилю отлично указывается при создании скриптом...
 smile 

Ладно-ладно!!!!
Пошёл экскрименты ставить...

Автор: Стас 17.1.2010, 01:00
Цитата

Стас, твое предложение ты запустил в "живую" на бегущей системе а не через диск установки и Repair ?
 
В живую. Поставил ОС, в ней же перенес \Users с C: на D:. Теперь у меня система на C:, а пользователи на D:  smile 
 Даже если, что-то пойдет не так, загрузиться стандартный профиль и из него можно  будет править.    

Автор: bilbobagginz 17.1.2010, 01:15
видимо я накосячил что-то а после 4-5 часов в ночи иногда способность контролировать всё немного теряется...
просто днюха поджимала :-/


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)