Який найкращий спосіб перемістити c: \ користувачів на d: \ користувачів під vista / W7 [закрито]


64

Щойно я встановив Windows 7 RC1 і хочу перейти c: \ користувачів до d: \ користувачів.

Який найкращий спосіб зробити це?


Через те, що Windows 7 створює зарезервований розділ, встановлений як C: у консолі відновлення мені довелося використовувати наступні команди

robocopy /mir /xj D:\Users E:\Users
mklink D:\Users D:\Users /j

Обидва D у команді mklink є правильними. Коли система перезавантажується, накопичувач, який був D у консолі відновлення, стає диском C.


1
Гарний улов! Мені доведеться пам’ятати цю зарезервовану деталь розділу, коли я переходжу до Windows 7
Jimmie R. Houts

1
Перегляньте це пов’язане питання (для Vista) та відповіді: serverfault.com/questions/4624/…
Benjol

Я не можу залишати коментарі, тому пишу це у відповідь. Хтось повинен попередити, що параметр / mir (що, здається, означає "дзеркало") у прикладі: robocopy / mir / xj D: \ Users E: \ Користувачі видалять усе в E: \ Користувачі, які не в D : \ Користувачі. Дійсно мені цікаво, чи варіант / mir дійсно необхідний. У кінцевому рахунку я видалив багато своїх файлів у моїй непустій ​​папці / Користувачі зі старої установки.

Не смішно, що питання закрите, оскільки поза темою все ж є величезне переслідування з прихильниками та відгуками.
captcha

Це тому, що плебс використовує цей сайт, щоб задавати справжні запитання, подібні до цього, для дуже реальних проблем, але наші високі та могутні господарі вважають, що це марно, тому що вони дізналися про це років тому, замість того, щоб їх кидати в масовий хаос, який це в наші дні, як ми. .
Девід

Відповіді:


65

Ви можете перемістити всю папку C: \ Users на інший диск досить легко після встановлення Windows:

Попередження: це може спричинити проблеми, якщо / коли вам потрібно буде відновити систему

  1. Завантажте інсталяційний носій та перейдіть до командного рядка ( натисніть Shift + F10 у діалоговому вікні встановлення )
  2. Використовуйте Robocopy, щоб скопіювати C: \ Користувачі до D: \ Користувачі: robocopy c:\Users d:\Users /mir /xj /copyall
    a. /mirповідомляє роботоскопію в дзеркальне відображення каталогів, це скопіює всі файли
    b. /xjЦе дуже важливо, це говорить роботокопії не слідувати точками стику. Якщо ви це забудете, у вас буде багато клопоту.
    c. /copyallбуде копіювати всі атрибути, включаючи дані про ACL та інформацію про власника
  3. Перевірте, чи файли успішно скопійовано
  4. Видалити c: \ користувачів
  5. Створіть перехід, який вказує на d: \ Користувачі: mklink c:\Users d:\Users /j

Це воно. Я використовую цей процес з тих пір, як Vista вийшла на RTM без проблем.

Ось стаття, яка також пояснює це. Просто використовуйте робокопію замість xcopy, як це робиться в статті, щоб уникнути можливих проблем з дозволом ntfs.

Оновлення: Оскільки я виявив складний шлях, я подумав також згадати, що якщо ви плануєте перемістити "Програмні дані" або "Файли програм" цим методом, ви будете зневірені, щоб дізнатися, що все працює, як очікувалося , але оновлення Windows більше не встановлюватиметься. Я не впевнений, чи це було виправлено Win 7.

Оновлення 2: @Benjol містить допис у блозі, в якому детально описується спосіб переміщення папки профілів, який відтворить стики, які цей метод не залишає. Якщо ви зіткнулися з будь-якими проблемами зі застарілими програмами, погляньте тут і перевірте, чи вирішив його метод.


1+ в режимі офлайн-переміщення + точка з'єднання - найпростіше рішення - але я додам, що сценарій установки без нагляду може це зробити і під час встановлення ^^
Оскар Дювеборн

Це справді хороший злом ... і я радий, що хтось опублікував усі кроки, які потрібно здійснити, щоб зробити цю дію.
mrTomahawk

8
-1: Зверніть увагу, що цей підхід НЕ відтворює всі стики, які не скопійовані роботокопією (nb robocopy не може копіювати з'єднання навіть без / xj, він створює нові папки). Це не зупинить роботу Windows, але, ймовірно, зламає застарілі програми, які шукають папки типу "Мої документи" тощо ...
Benjol

1
Змініть налаштування своєї папки для перегляду системних та прихованих файлів. У папці "Користувачі" засипано стики, які вказують (наприклад) від "Мої документи" на "Документи" і т. Д. Це для зворотної сумісності зі застарілими програмами, тому ви можете або не помітите різницю в залежності від того, що ви встановили.
Benjol

3
+1 @Jimmie, щоб детально пояснити, як це зробити. Мені дуже нудно, і Windows просто втомився, і я поклав дані користувачів та інсталяцію додатків куди завгодно, не питаючи мене в першу чергу! WTF вони зробили так важко змінити ?? Що робити, якщо мій основний розділ - це накопичувач SSD і на ньому встановлені вікна для продуктивності? Я впевнений, як чорт, не хоче, щоб Windows використовував цей розділ як проклята підшлункова залоза для всього!
greatwolf

11

Самий простий і рекомендований спосіб полягає в переміщенні окремих спеціальних папок всередині каталогу користувача, такі як документи, музика, відео і т.д. Ви можете зробити це з допомогою наступних кроків:

  1. Клацніть правою кнопкою миші> Властивості
  2. Вкладка "Місцеположення"
  3. Заповніть потрібне місце та натисніть «перемістити»

Недоліком цього є те, що вона все ще залишає основну папку "Користувачі" на місці.

Жорсткий спосіб є набагато більш складним і ризикованим:

У моєму пошуку рішення є єдиний два простих способи переміщення місць розташування каталогів профілю користувачів із системного диска

  1. Встановіть папку "Профіль користувача" під час налаштування за допомогою встановленого файлу без нагляду.
  2. Перемістіть окремі папки всередині свого профілю користувача, що можна зробити за допомогою провідника (який оновить ключі реєстру HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders та HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Папки оболонки).

Однак це було недостатньо добре для мене, я хотів, щоб мою фактичну папку профілю користувача було переміщено в окремий розділ / том, включаючи параметри реєстру. Я виявив, що насправді це не так складно, за умови, що вам зручно проводити масову заміну ключів реєстру та значень.

Ось як я перемістив місце розташування свого профілю користувача. Зауважте, що я хотів, щоб усі профілі були переміщені, включаючи загальнодоступні та за замовчуванням, тому деякі з цих кроків можна пропустити, якщо цього не потрібно:

  1. Переконайтеся, що у вас є повна копія вашої системи!
  2. Скопіюйте оригінальний каталог профілю за замовчуванням на нове місце (наприклад, з C: \ Users \ За замовчуванням у D: \ Користувачі \ За замовчуванням).
  3. Скопіюйте оригінальний каталог загальнодоступних профілів на нове місце (наприклад, з C: \ Users \ Public в D: \ Users \ Public).
  4. Перейдіть до HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList.
  5. Змініть значення ключа за замовчуванням на нове місце профілю користувача (наприклад, D: \ Користувачі \ За замовчуванням).
  6. Змініть значення відкритого ключа на нове місце профілю користувача (наприклад, D: \ Користувачі \ Загальнодоступні).
  7. Змініть значення ProfilesDirectory на нове місце профілю користувача (наприклад, D: \ Користувачі).
  8. На цьому етапі вам потрібно перезапустити та знову увійти як інший користувач, який ніколи раніше не входив у систему, а тому не має створеного профілю. У моєму випадку користувач адміністратора ніколи раніше не входив у систему, тому я ввімкнув це, щоб адміністратор міг увійти та використати це. Ви можете увімкнути вхід адміністратора, завантаживши Управління комп'ютером, а потім перейдіть до Облікових записів користувачів, відредагуйте властивості для адміністратора та зніміть прапорець "Відключити вхід"
  9. Після першого входу в систему з новим обліковим записом користувача, ви побачите "Створення робочого столу" та інші подібні речі, поки Windows створює ваш профіль. Зауважте, що новий профіль слід створити в новому місці.
  10. Після входу в систему спробуйте закрити якомога більше програм. Це запобіжить блокуванню більшості файлів, так що ви не зможете їх скопіювати.
  11. Скопіюйте всю папку оригінальних профілів користувачів з вихідного місця на нове місце (наприклад, C: \ Користувачі * до D: \ Користувачі). (Див. Наступний крок після запуску копії).
  12. Під час цієї копії слід зазначити кілька речей. Існували тисячі файлів .TMP, які були заблоковані і не копіювались. Я просто пропустив ці файли. Я утримував Alt-S, щоб я міг побачити всі пропущені файли і переконатися, що існують лише файли .TMP, які пропускаються. Так, це зайняло небагато часу, але, принаймні, я був впевнений, що всі мої файли скопійовані. Цей процес, ймовірно, може бути полегшений за допомогою командного рядка або shellhell
  13. Якщо у вашому випадку є деякі файли, які не копіюються, ви можете запустити procexp.exe, який є файлом, наданим sysinternals. Потім зробіть Find Handle та знайдіть частину імені файлу. procexp підкаже, які програми блокують файл. Поки ви закрили стільки програм, скільки могли, цього не повинно статися.
  14. Знайдіть і скачайте програму, яка виконає пошук і заміна в реєстрі. Я не пропоную жодної, тому що я не знайшов жодної програми, яка б працювала ідеально. Я закінчив завантаження декількох безкоштовних програм та використання всіх них.
  15. Використовуючи програму «Пошук і заміна реєстру», виконайте пошук оригінальної папки профілю користувача та замініть її новою папкою профілю користувача (наприклад, пошук «C: \ Користувачі» та замініть на «D: \ Користувачі». Зауважте, що деякі з додатки, які я використовував, змінювали б лише значення, а не імена ключів. Однак, ключі, які потрібно змінити, були пов'язані з MuiCache. Я не знаю, чи потрібно насправді оновлювати їх. Я просто переконався.
  16. Вийти. Увійдіть назад із тим самим користувачем. Повторіть крок 14, поки не залишиться нічого замінити. Причиною цього кроку є те, що при виході деякі програми, схоже, оновлюють реєстр, використовуючи старий шлях профілю користувача.
  17. Запустіть regedit.exe і виконайте пошук оригінального шляху профілю користувача та переконайтесь, що він не існує. Причиною цього кроку є те, що (як зазначено на кроці 13) я не довіряв жодній із програм пошуку та заміни реєстру, які використовував. Мені потрібно було оновити близько десятка ключів і значень вручну, оскільки пошук і заміна їх пропустили.
  18. Щоб ви могли легко знаходити програми, які не використовують шляхи до реєстру та жорстко закодовані профілі, перейменуйте свою оригінальну папку профілю (наприклад, перейменуйте C: \ Users в C: \ ~ Користувачі).
  19. Вийти. Увійдіть назад, як ваш звичайний користувач. Все повинно працювати правильно, за винятком програм, які використовують "жорстко кодовану" локацію профілю користувача.
  20. Є два простих способи, які можна використовувати для пошуку програм, які використовують "жорстко кодоване" місце розташування профілю та все ще шукають оригінальний шлях профілю користувача. Ви можете використовувати трюк procexp.exe, згаданий вище, та шукати ручки в початковому місці профілю. Ви також можете відстежувати розташування профілю oringal, щоб побачити, чи створені якісь нові папки чи файли. Наприклад, у моєму випадку FolderShare створив деякі папки та файли в каталозі C: ​​\ Users \ MyUsername \ AppData \ Local \ FolderShare. Отже, я оновив налаштування FolderShare, щоб вказати на інший шлях, а потім видалив каталог C: \ Users (зауважте, що C: \ ~ Користувачі все ще існували як резервна копія).
  21. Оскільки ви впевнені, що всі ваші дані були переміщені (правильно ??????), ви можете видалити резервну копію вихідного місцезнаходження профілю користувача (наприклад, C: \ ~ Користувачі).

Джерело: Змініть розташування папки профілю користувача у Vista

Бачачи той факт, що Microsoft зробила так просто змінити розташування спеціальних папок, і так важко змінити розташування всієї структури папок користувача, я б настійно радив вам скористатися простим підходом .


5
Yikes! Я б не рекомендував цей процес моєму гіршому ворогу :-), але ... +1 тому, що він працює, незалежно від того, як брудно може здатися. Цікаво, які ще такі речі "хак" можуть зламати лінію ...

Я бачив цю статтю, але хотів перемістити весь каталог користувачів, і хотів уникнути фіксування в реєстрі.
Скотт

1
Я додам, що проблема з переміщенням усіх «спеціальних» каталогів, а не користувачів, полягає в тому, що ви не можете переміщувати AppData як спеціальну папку, а все більша кількість програм зберігає там свої кеші, зберігає і велику кількість даних.
Акваріон

2
@Aquarion: АЛЕ локальні, LocalLow та Роумінг каталоги можна переміщувати за допомогою вкладки місцеположення :)
Milind R

Прогрес технології за чотири роки справді необмежений. Можливість перенаправляти майже кожну окрему папку в каталозі та кожну окрему папку в її підкаталозі, але не легко перенаправляти жоден з батьківських каталогів, безумовно, є розумним обмеженням, яке чітко відповідає інтересам бази даних.
Акваріон

5

Ось правильний процес

  1. Завантажте інсталяційний носій та перейдіть до командного рядка (я вважаю, що спочатку потрібно натиснути ремонт)
  2. Використовуйте Robocopy, щоб скопіювати C: \ Користувачі до D: \ Користувачі: robocopy c: \ Користувачі d: \ Users / mir / xj / copyall
    a. / mir повідомляє роботокопію віддзеркалювати каталоги, це скопіює всі файли
    b. / xj дуже важливо, це говорить роботокопії не слідувати точками стику. Якщо ви це забудете, у вас буде багато клопоту.
    c. / copyall скопіює всі атрибути, включаючи ACL та інформацію про власника
  3. Перевірте, чи файли успішно скопійовано
  4. Видалити c: \ користувачів
  5. Створіть перехід, який вказує на d: \ Users: mklink c: \ Users d: \ Users / j

Я виконав інструкцію Джиммі, і я майже працював. Однак у мене виник дивна проблема з IE, я не зміг завантажити файл. Я знайшов рішення, щоб виправити свою проблему із завантаженням, і це задокументовано на суперусер :


Дякую. Я не можу відредагувати відповідь, або я додав би ваші зміни.
Скотт

+1 для / copyall я давно мав намір додати це і ніколи не обійшов його.
Jimmie R. Houts

3

Деякі ресурси для "автоматичного" переміщення C: \ Користувачі з без нагляду сценарієм під час встановлення.

Microsofts має КБ з деякими проблемами, що стосуються переміщення спеціальних папок, які можуть бути корисні для читання.

Що стосується самого сценарію без нагляду, то тут є елемент, який називається 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: \ документи та налаштування, які вказують на старе місце, яке вам потрібно буде виправити вручну (якщо можливо)).



Windows 8: Як перенести профілі користувачів на інший розділ або диск у Windows 8: sevenforums.com/tutorials/…
XP1

Windows 7: Як створити облікові записи користувачів на іншому розділі чи диску під час встановлення Windows 7: sevenforums.com/tutorials/…
XP1

2

"C:\users"це системна папка, еквівалентна "C:\Documents and Settings"Windows XP / 2000 / NT, і через це перемістити папку було дуже важко, якщо не неможливо. Існувало кілька способів вирішити цю проблему, переміщуючи підпапки через TweakUI або деякі подібні хаки замість батьківської папки, і про це є багато публікацій, дивіться тут:

http://www.tech-recipes.com/rx/1409/move-your-documents-and-settings-username-profile-off-of-the-c-drive/

http://support.microsoft.com/kb/236621

http://support.microsoft.com/default.aspx?scid=kb;en-us;314843

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/

http://www.howtogeek.com/howto/windows-vista/moving-your-personal-data-folders-in-windows-vista-the-easy-way/


Як я вже говорив у своїй відповіді, ви не можете переміщувати C: \ користувачів на інший диск. Коли ваші посилання повторюються, ви можете перемістити деякі "спеціальні папки" всередині нього, але переїзд C: \ Користувачів неможливий.

2

Це трохи пізно ...

Проблеми з переміщенням користувачів c: \ на інший диск можна уникнути, перемістивши окремі профілі, а не весь каталог.

Якщо ви залишите перехід у c: \ користувачів, що посилаються на новий каталог, всі шляхи продовжують працювати, як і у рішенні Jimmie Houts, однак я не переміщую адміністратора, мережеву службу, public тощо, тому всі нормальні системні функції, наприклад оновлення Windows, продовжуйте працювати як завжди.

Ян


0

Я довго досліджував те саме. Це неможливо зробити. Ви можете переміщувати "спеціальні" папки (Документи, Моя музика тощо), але не можете перенести каталог користувачів .


1
Мені вдалося перенести каталог користувачів.
Скотт

0

Більшість цього копіюється з інших, потім модифікується та розширюється теперішнім письменником, tu servidor.

Щоб легше перемістити всі файли користувачів та файли програм користувача з завантажувального диска (SSD в моєму випадку), дотримуйтесь цих інструкцій.

ПЕРШЕ, Створіть точку відновлення, про всяк випадок: 1. Відкрийте Систему, натиснувши кнопку Пуск, клацніть правою кнопкою миші Комп'ютер, а потім клацніть Властивості. 2. На лівій панелі натисніть Захист системи. Якщо вам буде запропоновано пароль адміністратора або підтвердження, введіть пароль або надайте підтвердження. 3. Перейдіть на вкладку Захист системи, а потім натисніть кнопку Створити. 4. У діалоговому вікні Захист системи введіть опис та натисніть кнопку Створити.

ТОГО: Перейдіть до системного підключення / командного рядка: Завантажте DVD-диск Win7 Install, виберіть мову, валюту та клавіатуру та натисніть кнопку Далі. На екрані із пунктом "Встановити зараз" виберіть "Відновити комп'ютер" Вам буде запропоновано "Ремонт та перезапуск" за допомогою параметрів відновлення системи, виберіть "Ні". Потім переконайтесь, що Windows 7 вказаний як одна з встановлених ОС, доступних для відновлення, і що вона вибрана, а потім натисніть кнопку Далі. Вам буде наданий список інструментів для відновлення. Виберіть "Командний рядок".

Знайдіть свій віртуальний накопичувач Windows, завантажений із носія Win7 (можливо, C або X), знайдіть власний диск Windows / SSD (D або E) і знайдіть свій жорсткий диск (звичайний жорсткий диск) (D або E).

У моїй системі нормально, C = SSD з Windows на ньому, D = диск HDD

Використовуючи носій оновлень Win7 Update, диски в режимі відновлення були налаштовані по-різному, таким чином: X: віртуальний / тимчасовий накопичувач Windows, E: власне привід Windows / SSD, D: жорсткий диск, жорсткий диск, на який я хотів поставити \ Користувачів.

Деякі повідомляють, що режим відновлення системи встановить свої диски таким чином: C: virtual / temp Windows drive D: Фактичний привід Windows / SSD E: HDD, вони хочуть поставити / Users.

У командному рядку ви будете використовувати Robocopy (НЕ xcopy!), Щоб скопіювати c: \ Користувачі до d: \ Користувачі, потім видаліть старий c: \ Користувачі, а потім зробіть посилання з c: \ Users в D: \ Users. Зауважте, що ви повинні робити це в порядку, і у вас не повинно бути реклами: \ Користувачі реєруються перед цим.

ПРИМІТКА: у вікні командної системи відновлення системи ваші диски не такі, як вони будуть після виходу з режиму відновлення! Тож відрегулюйте команди нижче для того, як диски перебувають у режимі відновлення, а потім вони вимкнуться правильно.

Я використовував: robocopy / mir / xj E: \ Users D: \ Users

Переміщення / Користувачі з Windows / SSD на жорсткий диск. / mir повідомляє роботокопію віддзеркалювати каталоги, це скопіює всі файли та дозволи. / xj дуже важливо, це говорить роботокопії не слідувати точками стику. Якщо ви це забудете, у вас буде багато клопоту. Переконайтесь, що жодних файлів не вдалося скопіювати (FAILED column = 0).

Потім ви повинні видалити стару папку користувачів з диска Windows / SSD (c :), перш ніж ви зможете створити симпосилання: Я використав: rmdir / S / QE: \ Users

Створіть з'єднання / посилання NTFS, яке вказує на нову папку Користувачі:

Я використовував: mklink / JE: \ Користувачі D: \ Користувачі

Використовуйте перемикач / J, щоб створити стик, який є твердим посиланням. (Якщо ви використовуєте перемикач / D, вам також доведеться відредагувати реєстр, тому що це не буде важким посиланням.) Використовуючи / J, коли Windows шукає C: \ Users dir, він знайде його! Але це буде на жорсткому диску замість SSD. Хитрий!

Щоб побачити підтвердження того, що ви створили, все ще у вікні командного рядка, увійдіть у власне Windows / SSD та виконайте команду "dir", і ви побачите: "Користувачі [D: \ Користувачі]"

Тепер перезапустіть і ви побачите / Користувачі на вашому жорсткому диску, і там ви переходите. Ніяка додаткова конфігурація чи не потрібна конфігурація. Усі нові профілі користувачів зберігатимуться на диску d: як і будь-які дані користувача. І це досяжно без будь-якого возиння в реєстрі, пошуку та заміни значень або будь-якого способу возитися з новими профілями. Повністю встановити і забути.


1
Це здається більш довгою версією відповіді Джиммі Р. Хоутса, але вона не стосується нічого нового або проблем з його відповіддю (не копіювання символьних посилань).
Джеймс Макмахон

0

Це не зовсім те, що вам потрібно, але якщо у Windows 7 справді хороша альтернатива, це змінити місце розташування бібліотек. За допомогою цього методу ви зберігаєте Документи, Малюнки тощо, але не весь профіль на D-диску.

Минулої ночі я створив інструмент, який може бути корисним для вас: Встановити бібліотеки .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.