Как клонировать систему на диск меньшего размера (Linux, dd)

Итак, имеем компьютер под управлением MS Windows 10 с механическим HDD, который хотим заменить на SSD, но меньшего размера. С помощью либо встроенного в систему Disk Manager’а, либо с помощью сторонних утилит вроде EaseUS Partition Master удалось уменьшить и переместить разделы на диске так, чтобы они поместились и на новом диске тоже. А вот клонирование под Windows вызывает вопросы – либо система не грузится после “успешного клонирования”, либо функциональность присутствует только в платной версии утилиты, как у EPM. Клонирование dd “в лоб” не дает рабочий диск, Windows не грузится.
Грузимся с загрузочной USB-флешки Linux Live CD (дистрибутив по вкусу, я использовал Ubuntu 20.04 LTS, с поддержкой загрузки по UEFI). Новый диск тоже подключен по USB.

Предположим, что основной диск (HDD) /dev/sda, конечный (SSD) – /dev/sdb.
Разобраться с подключенными устройствами позволяет lsblk:
$ lsblk
На всякий случай сохраним GPT:
$ sudo sgdisk -b=gpt.bak.bin /dev/sda
Скопируем таблицу на конечный диск:
$ sudo sgdisk -R=/dev/sdb /dev/sda
Проверим соответствие таблиц на обоих дисках:
$ sudo fdisk -l
Теперь клонируем все разделы:
$ sudo dd if=/dev/sda1 of=/dev/sdb1 bs=1M
$ sudo dd if=/dev/sda2 of=/dev/sdb2 bs=1M
$ sudo dd if=/dev/sda3 of=/dev/sdb3 bs=1M

Информация отсюда:“Can ‘dd’ be used to clone to a smaller HDD, knowing that partitions will need editing?”

Leave a comment

Your comment