Миграция Windows между BIOS <-> UEFI

от автора

Появляется такая задача не часто, но все-же, нужно преобразовать уже установленную систему, загружаемую в BIOS (или UEFI режиме) в UEFI режим (в BIOS соответственно).
Кому интересно, читаем далее:

К счастью, Windows 7 и старше, изначально готовы грузится в любом из режимов, нужно только изменить структуру разделов и загрузчик.
Для этого нам понадобится:

  • Установочный диск с Windows (или любой другой рабочий установочный носитель).
  • systemrescuecd
  • Новый диск, на который мы будем мигрировать (конвертацией займетесь сами, если диска нет)

Загрузимся с systemrescuecd и просмотрим наши диски:

fdisk -l 

fdisk -l

У вас ситуация может немного отличаться, в моем случае, /dev/sda это исходный диск, а /dev/sdb на который будем переносить систему.
Начнем создавать разделы (используем gdisk для разметки в gpt, а fdisk для mbr):

gdisk /dev/sdb 

Создание разделов в gdisk

Немного сожмем нашу исходную ФС на разделе /dev/sda2 (чтобы она точно влезла в новый раздел).

ntfsresize -s 126G -f /dev/sda2 

Клонируем раздел, и расширяем его на все доступное пространство:

partclone.ntfs -b -I -s /dev/sda2 -o /dev/sdb4 ntfsresize -f /dev/sdb4 

Теперь загрузимся с Windows установочного носителя в режиме UEFI, выберем восстановление системы, и запустим командную строку.
Утилита diskpart нам поможет найти наши диски:

diskpart

Будьте внимательны, выбрав не тот диск, можно сделать очень больно и обидно.
В моем случае, новый диск имеет цифру 1. Его выбираем, выбираем второй раздел и форматируем его в FAT32 (для системного раздела UEFI), в конце назначаем ему букву диска S:

format quick fs=fat32 label="EFI" assign letter="S" 

Сложнее с разделами, куда установлена Windows. После клонирования, метки тома у них одинаковые (можно было и в Linux их поменять). Но нам опять поможет diskpart, мы просто выберем том, и посмотрим его детальные параметры.

Выбираем диск с копией Windows

Интересный нам раздел с буквой E, на него нужно установить загрузочные файлы:

bcdboot E:\Windows /s s: /f UEFI 

Затем, проверим, что конфигурация загрузчика верна, и если это не так, пропишем правильные данные (в моем случае, загрузка указывала на неверный том, и я его переопределил, в примере идентификатор, начинающийся на 586).

Корректировка BCD


Вот и все, после перезапуска, система должна загрузиться.
В обратную сторону все примерно также (помним про типы разметки), но нужно создать один загрузочный раздел с NTFS (метров 100) и раздел для самой системы. Сделать активным загрузочный раздел, а затем установить на него загрузчик и загрузочную информацию (загрузочный раздел у нас с буквой S):

bcdboot E:\Windows /s s: /f BIOS bootsect /nt60 s: /mbr 

Дальше правим загрузочную конфигурацию, и все.

ссылка на оригинал статьи https://habrahabr.ru/post/277863/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *