Краткое введение
Случилась у меня под новый год беда: уронил с высоты полутора метров свою файловую помойку(Хитач на 1 Тб), как оказалось — падение было фатально… Посмотрел я на цены и решил заместо новой помойки купить системный SSD, а существующий 500 гиговый хитач сделать помойкой, настройко- и документо- хранилищем и местом различных программ, не требующих быстрого SSD. выбор пал на 60 гиговый OCZ Vertex 3, который и был куплен, теперь перед мной стояла задача выноса системного и пользовательского мусора на 2й винт, о чём и пойдёт дальнейшее повествование…
Готовимся к опасным экспериментам
Сразу после установки системы, драйверов и минимально необходимого набора программ(брузер, архиватор, торрент, адобридер и т.п.) и настройки системы под работу с SSD было принято решение проделать архивацию системы(к тому моменту весь диск С весил 30Гб), что и было проделано. Дальше было много различных попыток переноса папок без редактирования реестра и переменных сред, в итоге я вернулся к созданому образу VHD и использовал копии папок оттуда, но обо всём по порядку, а сейчас лишь отмечу, что образ системы в итоге оказался просто необходим и не столько из-за того что систему несколько раз возвращать из небытия…
Заблуждение 1: Переносить нужно папку Users целиком
Вначале я попробовал перенести папку Users целиком, однако в процессе копирования во первых была туча ошибок доступа, а в итоге после удаления изначальной папки Users система отказалась работать даже в безопасном режиме(Сразу оговорюсь, что помимо прочего я ставил перед собой ограничение использовать только текущую систему(без 2го компьютера, 2й системы и LiveCD)). Вот тут мне в 1й раз потребовался образ системы для её восстановления.
В итоге я понял, что папку Users/Default трогать не стоит в принципе и решил переносить именно пользовательские папки.
Заблуждение 2: Для переноса данных пользователя достаточно создать ещё одну учётку с правами администратора
Дальше я решил перенести данные пользователя Х из под учётной записи пользователя Y, чтобы не было файлов Х открытых в каком-то процессе. Для такого финта пришлось поменять для начала владельца папки пользователя, а потом проделать это повторно. Создал в итоге Junction Point и зашёл в систему пользователем X… в итоге оказалось, что без админ прав некоторые(не все) программы отказываются писать данные в AppData, а программа uTorrent не смогла создать соответсвие файлам *.torrent(руками это почему-то проделать тоже не удалось), в итоге я произвёл 2й откат.
Архивация это гут
Теперь я решил действовать иначе: обновил архивные файлы, примонтировал файл VHD, который создаётся при архивации системы, и скопировал свою папку X из этого образа, таким образом не потребовалась смена владельца и не возникало ошибок доступа при копировании.
Дальше была скачана программа Unlocker и удалена(при перезагрузке) папка пользователя Х. Осталось только создать ссылку на каталог, что можно проделать из 2й учётной записи администратора или, если такой записи нет, из безопасного режима. Создаётся такая ссылка по средствам встроенной в винду утилиты, вызываемой из командной строки командой mklink, синтаксис её прост до безобразия: mklink параметр ссылка назначение, где параметр — вид создаваемой ссылки(я использовал /J).
Сухой итог
Итак, перечислим действия проделанные в конечной, удачной попытке:
1) Архивация
2) Перенос файлов из архивной копии
3) Удаление начальных файлов
4) Создание ссылки
-Такая последовательность действий универсальна, достаточно проста и надёжна, надеюсь так покажется не мне одному.
Полезные ссылки
Статья хабраюзера Grox
Статья хабраюзера catbegemot