В этой статье мы покажем, как склонировать/перенести установленную операционную систему Linux на другой (новый) диск на примере Debian и Ubuntu.
Установите утилиту parted с помощью пакетного менеджера:
$ sudo apt install parted -y
Проверьте какая таблица разделов используется на диске (MBR или GPT) с помощью fdisk:
$ sudo fdisk /dev/sda -l
Disk label type: gpt
Выключите компьютер (виртуальную машину) с Linux и подключите новый диск (/dev/sdb).
Создайте на новом диске таблицу разделов:
$ sudo parted /dev/sdb
Если на исходном диске была таблица разделов GPT (EFI), выполните команду:
> mklabel gpt
Для таблицы разделов MBR (DOS BIOS):
> mklabel msdos
Выйдите из parted:
> quit
Теперь с помощью команды DD склонируйте диск dev/sda в /dev/sdb:
$ sudo dd if=/dev/sda of=/dev/sdb bs=1M conv=noerror,sync
Выключите компьютер, отключите старый диск и загрузитесь с нового.
Если размер нового диска больше, чем размер старого, нужно расширить корневой раздел.
Установите утилиты growpart:
$ sudo apt install -y cloud-guest-utils
Синтаксис утилиты:
growpart <device> <partition>
Расширьте раздел 3 на диске /dev/sda:
$ sudo growpart /dev/sda 3
Теперь нужно расширить физический том (physical volume):
$ sudo pvresize /dev/sda3
Проверьте путь и тип файловой системы:
$ df -hT | grep mapper
/dev/mapper/debian-root xfs 10G 2.5G 7.5G 25% /
Расширьте данный логический том (logical volume):
$ sudo lvextend -r -l +100%FREE /dev/mapper/debian-root
Теперь нужно расширить файловую систему (в нашем примере это XFS):
$ sudo xfs_growfs /
Если у вас EXT4, то для ее расширения, выполните:
$ sudo resize2fs /dev/mapper/debian-root
1 comment
По факту название раздела отличается fdisk /dev/sda -l, не будет у большинства такого имени, надо бы это указать в статье