Купив SSD, я предпочел сохранить файлы и параметры с помощью средства переноса данных, а потом восстановить их в чистой установке Windows. Однако я уверен, что найдутся люди, которые захотят перенести тщательно настроенную систему с одного диска на другой. Изначально я не планировал эту запись, но получив очередной вопрос по почте, решил осветить этот несложный процесс в блоге.
Для клонирования дисков есть специальные программы (например, Acronis или Paragon). В них маркетинговый фокус нередко делается именно на переносе системы с HDD на SSD, как и в заголовке этого руководства :) Однако можно решить эту задачу с помощью бесплатных средств Microsoft, обходясь без неприятных неожиданностей, причем мои инструкции применимы к любым типам дисков.
Я хочу подчеркнуть, что это руководство описывает процесс клонирования системы и ее переноса на другой диск в рамках одного и того же ПК. Перенос системы на другой ПК (даже с такой же аппаратной конфигурацией) поддерживается только для образов, обобщенных с помощью утилиты sysprep. Формально Microsoft вообще не поддерживает клонирование без sysprep (даже сторонним ПО). В предлагаемом мной методе поддержке препятствует несколько технических ограничений, но я не считаю их существенными для домашних ПК.
[+] Сегодня в программе
Вам понадобятся…
Для начала давайте определимся с терминологией. Там, где вы видите фразы «установочный диск», «диск Windows PE», «диск восстановления», с равным успехом можно использовать как оптический диск (CD/DVD), так и съемный USB-диск (флэшку).
Итак, вам нужны:
- Среда Windows PE в любой форме. Это может быть:
- установочный диск Windows
- среда восстановления на диске восстановления, соответствующий операционной системе (см. инструкции для Windows 7 или для Windows 8 и выше)
- созданный вами диск Windows PE 3.1 или 4.0
- Внешний или внутренний диск, на котором достаточного свободного пространства для сохранения сжатого образа системного раздела.
- Умение загружаться в Windows PE и определяться с буквами дисков.
- Утилита imagex той же разрядности, что и среда Windows PE. Утилита может находиться где угодно, за исключением раздела, который вы клонируете.
Почему imagex и где взять утилиту
С выходом Windows 8 утилита imagex получила статус устаревшей, а Microsoft теперь рекомендует использовать DISM. Однако imagex работает и еще поддерживается, в то время как для DISM вам потребуется создание загрузочного диска Windows PE с .NET Framework и PowerShell, что усложняет процесс.
Если вы предпочитаете графический интерфейс, есть Gimagex, но я стараюсь не добавлять посторонних факторов в процесс развертывания ОС. Утилиту imagex можно скачть в рамках ADK, установив только средства развертывания объемом около 50MB (спасибо, Семен Галкин). После установки вы найдете imagex в Program Files (x86)\Windows Kits.
Раньше был альтернативный и весьма любопытный способ — можно было получить ссылку на утилиту по почте от Microsoft, запросив ее из статьи базы знаний KB2525084.
Захват системного раздела в WIM-образ
Я рекомендую не подключать SSD во время создания образа, а подключить его потом на место жесткого диска. В противном случае потребуются дополнительные действия по переименованию букв дисков.
Загрузитесь в Windows PE и выполняйте все команды в ее консоли. Чтобы уменьшить размер образа, во время захвата автоматически исключаются файлы подкачки и гибернации, а также корзина и теневые копии. Если вы хотите исключить какие-то другие папки или файлы, создайте конфигурационный файл imagex. Он вам обязательно понадобится, если вы используете Windows Subsystem for Linux (WSL) в Windows 10 — в исключения надо добавить папку %LOCALAPPDATA%\lxss (см. также KB3179598).
- В командной строке Windows PE перейдите в папку с утилитой imagex командой cd. Например:
cd /d F:\imagex\x86
- Выполните команду:
imagex /capture D: E:\migrate.wim "Migration image"
В этом примере буква D соответствует разделу с системой для захвата, а E – буква диска, на который записывается WIM-образ.
Параметром командной строки /compress maximum можно слегка уменьшить размер образа. Я его не использую, потому что максимальное сжатие затягивает процесс, а со свободным местом для сохранения файла у меня проблем нет.
По окончании процедуры выключите ПК и подключите SSD на место HDD. Жесткий диск можно подключить в другой разъем.
Подготовка SSD к применению образа
Задача сводится к созданию в Windows PE нового раздела. Для SSD важно правильное смещение, что позволит избежать снижения производительности и сокращения срока службы накопителя. Программа установки автоматически задает смещение 1024KB, в чем легко убедиться. При создании разделов на чистом диске утилитой diskpart происходит то же самое, но в моих командах смещение задано явно во избежание случайностей.
Способ 1 — программа установки Windows
При наличии установочной флэшки это проще всего. Однако начиная с Windows 10 2004 (20H1) раздел со средой восстановления не создается на этапе WindowsPE. Разобравшись с предназначением раздела, вы легко определитесь, нужен он вам или можно обойтись установочной флэшкой в крайнем случае. Если среда восстановления необходима на выделенном разделе, используйте второй способ.
Способ 2 — diskpart
Команды для разметки GPT (UEFI)
Команды описаны в рамках отдельной статьи.
Команды для разметки MBR
Здесь минимальный набор разделов, который подходит для всех поддерживаемых ОС Windows (раздел Windows RE не создается). Последовательно выполняйте в консоли Windows PE перечисленные ниже команды. В них подразумевается, что на SSD будет создан один основной раздел, занимающий весь диск.
diskpart REM вывести список дисков list disk REM выбрать диск (вместо N укажите букву SSD) sel disk N REM очистить диск от разделов (стирает все данные) clean REM конвертировать диск в MBR convert mbr REM создать основной раздел со смещением 1024KB create partition primary align=1024 REM сделать раздел активным (нбх для загрузки с него) active REM отформатировать в NTFS, задать метку диска format fs=NTFS label="Windows" quick REM назначить букву разделу assign letter=W exit
Теперь все готово к тому, чтобы применить сохраненный образ к SSD.
Применение образа к SSD
Эта операция выполняется в Windows PE одной командой:
imagex /apply E:\migrate.wim 1 W:
Здесь:
- E:\migrate.wim — путь к сохраненному образу
- 1 – индекс единственного образа в созданном вами WIM-файле
- W – буква диска SSD в Windows PE, назначенная чуть ранее в diskpart
У вас буквы могут отличаться, конечно.
Настройка загрузки в клонированную систему
Систему можно считать успешно установленной по окончании применения образа. Остается только организовать загрузку в нее. Выполняйте описанные ниже действия в консоли Windows PE
Разметка MBR
Утилита bootrec доступна в Windows PE при загрузке с установочного диска, но она может не входить в собранный вами диск Windows PE.
bootrec /rebuildbcd
Эта команда ищет установленные Windows на всех дисках (эквивалентно параметру /scanos) и предлагает добавить в BCD отсутствующие там системы. Нажатие клавиши Y добавляет ОС в хранилище загрузки, а N – отклоняет предложение.
Также имеет смысл сразу же выполнить еще две команды:
bootrec /fixmbr bootrec /fixboot
Разметка GPT
В разметке GPT необходимые для загрузки системы файлы копируются на раздел EFI (FAT32) одной командой:
bcdboot W:\Windows
Здесь W — буква диска, на которую вы перенесли ОС.
На этом процесс переноса закончен. Перезапустив ПК, вы увидите в списке диспетчера загрузки систему, которую вы перенесли на SSD.
Что делать, если при создании образа оба диска были подключены
Выше я предупреждал, что лучше этого не делать. В таком случае в клонированной системе перепутываются буквы дисков, хотя это несложно исправить в реестре (спасибо читателю Артему за дополнение). Вот какая картина наблюдается после загрузки в клонированную ОС. Система загружена с диска D, а профили и программы запускаются с диска C.
Чтобы исправить это, нужно переименовать буквы дисков в реестре. Фактически, надо поменять местами буквы в именах параметров реестра, соответствующих проблемным дискам (значения трогать не надо).
В этом примере надо сначала переменовать \DosDevices\C: в \DosDevices\K:, после чего освободится имя для переименования диска D.
Действия после клонирования
Система полностью готова к работе, но я рекомендую выполнить пару действий.
Выполните оценку производительности Windows
Выполнение оценки подскажет системе, что она установлена на твердотельный накопитель. Как следствие, Windows применит соответствующие настройки – начиная с отправки команд TRIM и заканчивая отключением дефрагментации SSD (обязательная ссылка для владельцев Windows 8).
Настройте диспетчер загрузки
Я не могу предусмотреть все возможные конфигурации мультизагрузки, но в любом случае по окончании процесса у вас в диспетчере загрузки будут отображаться две системы с одинаковыми названиями (старая и новая). Я приведу несколько примеров команд, которые могут вам пригодиться.
Информацию о системах, отображаемых на экране диспетчера загрузки, выводит команда bcdedit. В ее результатах идентификатор системы (ID) обозначается параметром identifier. Система, в которую вы загрузились в данный момент, всегда имеет идентификатор {current}.
В этих примерах подразумевается, что команды выполняются в новой системе.
Переименование записи новой системы
bcdedit /set {current} description “My New Windows”
Автоматическая загрузка в новую систему
bcdedit /default {current}
Удаление записи старой системы
bcdedit /delete ID
Если вам не удается загрузиться в клонированную систему или требуется помощь в настройке диспетчера загрузки, пишите сюда, следуя правилам темы.
Дискуссия и опрос
Из предыдущих опросов я знаю, что большинство читателей уже обзавелись SSD. Этот опрос покажет, как вы подошли к вопросу установки системы на новенький накопитель.
Если вы переносили систему, напишите в комментариях, какое программное обеспечение использовали для этого. Я знаю, что некоторые из вас уже рассказывали об этом в других записях. Но тогда это был оффтопик, а сейчас это поможет другим читателям, ищущим информацию по теме!
Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.
Дмитрий Шут
Здравствуйте!
Прошу помочь «чайнику» с переносом системы с ЖД на ССД. 4 дня уже бьюсь, голова уже плохо соображает.
Заранее приношу извинения, если где то раньше уже все разжевано и расписано.
Предыстория такова. Хочу перенести систему и установленное ПО с настройками на новый ССД 240 Гб (Кингстон).
Исходный диск 500 Гб. С наскока сделать не получилось, хотя почему то казалось, это не сложно. С начала пробовал утилиту на основе Акрониса. После долгих мучений и поиска в интернете, умные люди не подсказали, что целевой диск должен быть больше исходного. Пришлось уменьшать объем информации на диске С. Дальше сжатие. В общем кое как удалось поделить на 210 и 260 разделы.
Между делом установил Win8.1 на ССД. Теперь у меня два диска с ОС. На ЖД все нужные программы, на ССД только чистая ОС. Есть 2 USB ЖД, на одном (1 Тб) все важные документы и файлы, а второй (320 Гб) использую как носитель для образа системы. Еще есть флешка на 8 Гб, которая подготовлена утилитой mediacreationtool.
Объясните, пожалуйста, что делать дальше, чтобы без заморочек.
Vadim Sterkin
Дмитрий, все мои инструкции в статье. Они применимы к любой ситуации, когда есть два диска, и надо перенести все содержимое с одного на другой в том же ПК. (И да, перед захватом в WIM объем данных на исходном диске не должен превышать объем целевого диска.)
Если вы хотите идти другими путями (Акронис и пр.), это ваш выбор, но к этой статье он не имеет никакого отношения. А 4 дня мучиться не надо, достаточно сделать чистую установку и за пару часов поставить свежий софт.
Дмитрий Шут
Вадим, спасибо Вам. Воспользуюсь, пожалуй, советом из второй части вашего поста. Придется пойти по простому, но длительному пути — устанавливать заново все программы, коих немало. Вспоминать все пароли, явки. :-)
Сергей Аникин
Добрый день!
Не совсем вопрос по теме, но всё таки. Столкнулся с проблемой. Была установлена 7ка на чистый ССД при наличии ХДД терробайтного. После выхода 10ки, 7ка автоматически обновилась до 10ой версии.
Появилась необходимость убрать данный хард из системника и поработать с другим. И тут возникла проблема. При попытке запустить систему без подключенного HDD, система отказывается загружаться. Просит перезагрузиться и выбрать в биосе устройство для загрузки.
Как мне объяснили, неведомым образом загрузочные файлы оказались на HDD.
Можно ли их каким-то образом вручную перенести на ССД, где установлена система? Чтобы в дальнейшем система стабильно загружалась и работала только при наличии одного SSD
И если можно, то как это сделать?
Vadim Sterkin
Сергей, см. раздел статьи Настройка загрузки в клонированную систему. При необходимости обращайтесь в Вопросы загрузки Windows 10 со всеми требуемыми сведениями.
Зелимхан Газиев
Здравствуйте, Вадим!
А сколько времени примерно занимает захват 64-bit образа Windows 7?
Хотел заранее все подготовить, SSD пока ещё не пришёл, но очень долго шёл захват образа и пришлось отменить, иначе и до утра мог бы не закончить.
И ещё, влияет ли фрагментированность захватываемого раздела на скорость процесса?
Vadim Sterkin
Зелимхан, примерных цифр вам никто не назовет, даже если будут известны объем диска, количество файлов на нем и характеристики ПК. Фрагментация может влиять, но если она в разумных пределах, то не существенно.
Зелимхан Газиев
Ну ладно, попробую а там отпишусь. Забрал Samsung 850 EVO 120 GB.
А как SSD переносят внезапные отключения света? Не опасно ли это для них?
ИБП нет у меня.
Зелимхан Газиев
Ушло 4 часа на всё. При попытке загрузиться выдаёт BOOTMGR IS MISSING. Пришлось загрузиться с того HDD :-)
Это из-за того что раздел «Зарезервировано системой» не скопирован?
Обращусь на OSZone чтобы решить проблему.
Vadim Sterkin
В статье есть раздел про восстановление загрузки