Разное / Импортозамещение / Как я клонировал Астралинукс
Для клонирования линуксовой операционной системы можно воспользоваться, как Acronisом, так и другими приложениями, но проблема при использовании этих программ - это время работы, если посекторное, то это очень долго, также проблема с клонированием с диска меньшего размера на большой и наоборот. Также есть готовое решение для клонирования - clonezilla, проблем при ее использовании у меня не возникало, пока не появились диски разных размеров. Во всяком случае у меня не получилось, хотя приложение вроде позволяет это делать.
Поэтому я решил пойти своим путем. И нашел вот такое решение.
Для начала нам необходимо обзавестись каким-нибудь Live-CD. Я использовал MX Linux, образ которого брал вот тут https://mxlinux.org.
Далее загружаем операционную систему с подключенными дисками (исходный и назначение).
Смотрим, как он называются в системе.
fdisk -l
Как видно на картинке /dev/sda - это диск откуда я буду брать исходную операционную систему, а /dev/sdb - диск куда буду копировать.
Диск назначения в данном случае еще не имеет разделов, поэтому создадим их. Я не буду создавать раздел под swap и home, хотя можно и с ними. Swap я потом создам отдельно в виде файла.
fdisk /dev/sdb
Далее форматируем созданный раздел /dev/sdb1
mkfs -t ext4 /dev/sdb1
После подготовленного раздела необходимо примонтировать и диск источник, и диск назначения. Монтировать я буду их в созданные ранее директории 1 и 2.
mount /dev/sdb1 /1
mount /dev/sda1 /2
После подключения дисков переходим к копированию. Скопировать можно командой cc, но я использую Midnight Commander (mc), где просто копируем с одного диск на другой все содержимое. В моем случае на диске /dev/sda "лежат" несколько образов операционных систем.
После копирования необходимо внести изменения в некоторые файлы, где надо поменять все упоминания старого UID на новый:
UID нового раздела куда мы скопировали данные смотрим командой blkid или blkid | grep /dev/sda1
Далее устанавливаем GRUB на новый диск с системой.
grub-install --root-directory=/1 /dev/sdb
где
--root-install=/1 - директория с примонтированным разделом операционной системой
/dev/sdb - сам диск с системой.
На этом собственно говоря клонирование завершено. Да, трудоемко в плане изменения UID раздела, но зато копируется на любые диски с любых дисков. Можно перезагружаться и смотреть на результат. Первый запуск может быть длительным из-за отсутствия раздела swap.
Далее уже в загруженной клонированной системе мы делаем раздел swap, как и писал ранее.
Получаем права root.
sudo -l
Создаем файл swapfile размером 10 Gb
fallocate -l 10G /swapfile
Назначаем ему права
chown root:root /swapfile
chmod 600 /swapfile
pdpl-file 3:63:-1 /swapfile
Форматируем
mkswap /swapfile
Подключаем
swapon /swapfile
Добавляем сведения о нем в /etc/fstab
/swapfile none swap sw 0 0
Далее в файле /etc/initramfs-tools/conf.d/resume необходимо указать UID swap раздела или не использовать - none. Я указал none.
Последним шагом делаем вот так
update-initramfs -u -k all
На этом все.