Skip to content

Latest commit

 

History

History
239 lines (183 loc) · 14.2 KB

File metadata and controls

239 lines (183 loc) · 14.2 KB

Клонирование ОС

Инструкция описывает клонирование образов любых ОС основанных на POSIX совместимых устройствах хранения. В рамках данной инструкции предполагается, что загрузочный раздел с утилитами клонирования и хранилище клонов располагаются на одном физическом устройстве. Подготовьте запоминающее устройство (ЗУ), к примеру SEAGATE на 500 Gb и следуйте инструкциям приведённым ниже.

Оглавления

Подготовка устройства клонирования

Если у вас уже есть ЗУ с системой Clonezill-ы то пропустите этот этап.

Clonezilla это LiveUSB специального дистрибутива Linux-а нацеленный на клонирование дисков. Для создания ЗУ скачайте стабильную версию дистрибутива и выполните инструкции с официального сайта утилиты приведённые ниже. Используйте любой дистрибутив Linux-а для следующих действий.

Вам необходимо определить нужное устройство в ветке /dev файловой системы. Для этого выполните ls -la /dev/sd* до подключения ЗУ и после. Новая запись и есть файл устройства. Нас интересуют лишь записи типа /dev/sd., где вместо точки определённая буква.

В файловой системе /dev находятся файлы устройств чтения записи. Файлы формата: /dev/sd., где вместо точки определённая буква, означают устройство целиком. Файлы формата: /dev/sd.X, где вместо X цифра - означают партиции (тома) на заданном устройстве. Иначе говоря, записи где после трёх букв идёт цифра, являются файлами партиций (томов) этих устройств.

Пусть файл нашего устройства будет /dev/sdb. Внимательно перепроверьте, что вы определили правильный файл, дабы избежать потери данных в системе. Если какие либо разделы ЗУ вошли в состояние монтирования, отмонтируйте их используя команду sudo umount /dev/sdbX, где X номер тома. Проверить состояние монтирования устройства вы можете используя команду mount без аргументов. Если там нет записей вида /dev/sdbX, значит тома из ЗУ не примонтированы.

Перед дальнейшими действиями убедитесь, что у вас имеется папка /sbin в настройках переменной PATH: echo $PATH

Выполните следующие действия:

  1. Скачайте файл по ссылке выше или скопируйте его с иного компьютера
  2. Вставьте ЗУ в USB порт рабочего компьютера с Linux-ом
  3. Определите нужный файл устройства, как описано выше
  4. Убедитесь, что устройство не в состоянии монтирования, как описано выше

Запустите утилиту fdisk используя sudo передав в качестве параметра целевое устройство.

sudo fdisk /dev/sdb

Система войдёт в интерактивный режим. Все основные команды представлены одним символом. В списке далее в скобочках приводится расшифровка команды. Выполните команды в их следующей последовательности:

  1. m (manual) для ознакомления с командами
  2. d (delete) для удаления существующих разделов
  3. n (new) для создания загрузочного раздела:
    1. Выберите тип раздела: p (primary)
    2. Выберите номер 1 для нового раздела
    3. Оставьте первый сектор по умолчанию
    4. Введите размер +1G
  4. l (list) для вывода возможных типов разделов
  5. t (type) для задания типа раздела, используя значение b (FAT 32)
  6. a (active) для установки признака активности раздела
  7. n (new) для создания раздела хранения
    1. Выберите тип раздела: p (primary)
    2. Выберите номер 2 для нового раздела
    3. Оставьте первый сектор по умолчанию
    4. Оставьте размер по умолчанию (максимальный)
  8. p (print) для вывода информации о нашем новорождённом разделе
    1. Первый должен быть типа FAT 32, со звёздочкой и размера 1G
    2. Второй должен быть типа Linux и максимально оставшегося размера
  9. w (write) для записи таблицы разделов на носитель и выхода
Command (m for help): p
...

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdb1  *       2048  2099199  2097152    1G  b W95 FAT32
/dev/sdb2       2099200 61439999 59340800 28.3G 83 Linux

Отформатируйте первый раздел в формате FAT 32. Обратите внимания, что тут и далее мы используем формат /dev/sdbX место /dev/sdb, пока не будет сказано иначе.

sudo mkfs.vfat -F 32 /dev/sdb1

Отформатируйте второй раздел в формате ext4.

sudo mkfs.ext4 /dev/sdb2

Примонтируйте первый раздел устройства на папку /media/disk/. Если система выдаст ошибку из за отсутствия папки, предварительно создайте её командой mkdir:

sudo mkdir -p /mnt/disk/
sudo mount /dev/sdb1 /mnt/disk/

Перейдите в папку со скаченным архивом. Распакуйте архив на ЗУ.

sudo unzip clonezilla-live-*-amd64.zip -d /mnt/disk/

Отмонтирйте ЗУ вновь

sudo umount /mnt/disk/

Создание клона

Вам нужно будет загрузиться с ЗУ в режиме BIOS-а, но при этом в BIOS-е у вас будет определено несколько устройств. Устройства будут представлены обычно древовидно с двумя уровнями: не выбирайте запись второго уровня, а напротив, корневую запись. Устройство с Clonezill-а можно узнать по следующим параметрам: UEFI, USB, сравнительно небольшой размер.

Вы можете не менять настройку порядка загрузки, а прямо из BIOS выполнить загрузку нужного устройства. Обычно эта опция вызывается клавишей F8

Выполните следующие действия:

  1. Вставьте ЗУ в порт USB
  2. Перезагрузите ОС
  3. Войдите в BIOS способом соответствующим материнской плате
  4. Выполните загрузку Clonezill-ы, как описано выше

При загрузке утилита попросит вас выбрать графический режим: выберите первый вариант. Последует выбор языка: можете выбрать любой язык, но допустим вы выбрали английский. Далее режим раскладки клавиатуры, выберите Keep. На следующем окне у вас будет вопрос:

"Start Clonezilla or enter login shell (command line)? Select Mode:"

Необходимо выбрать Enter_shell. В самом низу экрана у вас появится промпт. Определите на каком устройстве файловой системы /dev у вас оказалось наше ЗУ - целевой носитель. Сначала выведите список устройств:

ls -la /dev/sd*

Далее применяя к каждому команду sudo fdisk -l ... вы сможете узнать файл устройства по объёму постоянной памяти. Пусть это будет устройство /dev/sdb с его томом /dev/sdb2. Обратите внимание на комментарий в начале по поводу файлов устройств и партиций (томов). Теперь определим исходный носитель. Предположительно именно /dev/sda будет являться нашим исходным носителем, образ которого необходимо снять. Если вы выполните sudo fdisk -l /dev/sda, вы скорее всего увидите три следующих тома, однако мы рассматриваем мы все три в рамках одного устройства /dev/sda:

  • BIOS boot
  • Linux filesystem
  • Linux swap

Итак, нам необходимо снять образ с /dev/sda и положить его в том /dev/sdb2.

Для монтирования тома целевого носителя определим его файловую систему командой sudo fdisk -l /dev/sda. Мы получим список томов носителя. Скорее всего в списке будет одна запись, и форматом тома будет являться ext4. Тип файловой системы целевого накопителя определяет значение параметра -t в команде ниже. Если это ext4, то вам нет необходимости использовать опцию -t в принципе. Если же у целевого носителя иная файловая система, выясните в системах поиска необходимое значение опции -t. К примеру в случае с HPFS/NTFS/exFAT используйте опцию -t ntfs. Теперь примонтируйте целевой носитель на существующую папку /media:

sudo mount /dev/sdb2 /media

Изучите содержимое носителя и свободное место на нём:

ls -la /media
df -h /media

Если свободного места в избытке, приступим к клонированию образа:

sudo dd bs=10M if=/dev/sda of=/media/image

где:

  • dd - древняя команда Define Data, ещё с Mainframe-ов
  • bs - block size - размер блока данных при копировании
  • if - input file - вводный файл
  • of - output file - файл вывода

Копирование может занять от 10 минут до нескольких часов, в зависимости от параметра bs, качества материнской платы и объёма исходного диска. Параметр bs не рекомендуется ставить слишком большим, во избежание сбоя.

После окончания копирования, выполните отключение устройства:

sudo umount /media

Залитие клона

Для залития клона на целевой ПК, вам необходимо выполнить все действия из главы выше, включая монтирование ЗУ с образом. Единственное отличие, это то, что мы меняем исходный и целевой объекты:

sudo dd bs=5M of=/dev/sda if=/media/image

Далее, как и ранее, выполните отключение накопителя с помощью команды umount, как описано выше и перегрузите компьютер командой reboot. Выключение машины, при необходимости, можно выполнить с помощью команды: shutdown now. После перезагрузки, если вы не меняли порядок режима загрузки, вы должны оказаться в оболочке ОС залитой с образа.