2

В настоящее время я пытаюсь переместить громоздкие папки с моего SSD на жесткий диск (папка Users папка ProgramData ). Я следую короткому руководству по использованию каталогов, чтобы сделать это эффективно. Тем не менее, это не работает для меня. Это именно то, что я сделал в своей последней попытке:

  1. Найдите на жестком диске старую папку «Пользователи», которую я хочу сохранить
  2. Установите Windows 8 на SSD
  3. Перезагрузитесь в консоль восстановления - SSD = C: HDD = D:
  4. Скопируйте ProgramData на HDD robocopy /copyall /mir /xj C:\ProgramData D:\ProgramData
  5. Перезагрузитесь в Ubuntu, чтобы скопировать все, что не удалось и удалить ProgramData
  6. Перезагрузитесь в консоль восстановления
  7. Переименуйте C:\Users в C:\Users.old
  8. Сделать соединения
    1. mklink /J C:\Users D:\Users
    2. mklink /J C:\ProgramData D:\ProgramData
  9. Сверьтесь с dir что все выглядит хорошо.

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

Службе профилей пользователей не удалось войти в систему. Профиль пользователя не может быть загружен

Итак, я снова переместил ProgramData и переименовал Users.old обратно в Users. На этот раз заставка отображается правильно, но я все еще получаю проблему с профилем пользователя.

Что я сделал не так?

1 ответ1

0

Я нашел ответ после долгих игр. Причина, по которой это не работает, заключается в том, что при копировании данных с SSD на HDD все существующие узлы удаляются. Это происходит из-за флага /xj в robocopy который необходим для того, чтобы он не попадал в бесконечный цикл.

Чтобы обойти это, сценарий PowerShell может быть выполнен для выполнения следующих действий:

  1. Скопируйте данные с SSD на HDD с помощью robocopy /copyall /mir /xj C:\Stuff D:\Stuff
  2. Для каждого соединения в C:\Stuff создайте идентичный перекресток в D:\Stuff
  3. Для каждого соединения в C:\Stuff скопируйте разрешения ACL для соответствующего соединения в D:\Stuff
  4. Обратите внимание на атрибуты C:\Stuff с attrib C:\Stuff
  5. Удалить или переименовать C:\Stuff
  6. Создайте перекресток mklink /J C:\Stuff D:\Stuff
  7. Примените атрибуты C:\Stuff к точке соединения с помощью attrib /L C:\Stuff +H +I (например, ProgramData использует эти атрибуты)

Надеемся, что это переместит все из C:\Stuff в D:\Stuff , сохранив все точки соединения, разрешения и атрибуты.

Но есть «ярлык», который я взял. Вместо того чтобы возиться со всем этим, я сделал полный образ диска C: и восстановил его в D: (очевидно, убедившись, что на D: нет файлов, которые будут перезаписаны). Для этого существует бесплатное программное обеспечение, такое как Macrium Reflect Free и Drive Image XML.

Затем я скопировал все необходимые данные в D: и перешел к шагу 4 выше. После этого я просто удалил все свои файлы Windows, которые не требовались на диске (для этой части мне пришлось использовать USB-флешку Ubuntu).

Все работает!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .