Найти в Дзене
Stanislav Matsak

Acronis не нужен или как на Linux делать образы любых операционных систем на примере Windows и Linux.

Очень многие знают, любят и применяют ежедневно #Acronis - очень популярную программу для создания образов операционных систем.
Хотя на самом деле, ничего эксклюзивного в функционале Acronis нет - все можно повторить стандартными утилитами Linux и по силам любому начинающему системному администратору.
Если вы можете установить дистрибутив Линукса по вашему выбору на флешку и сможете с него загрузить Линукс - вы сможете и все остальное, в том числе то, что описано в данной статье.
Чтобы не отягощать людей, разбирающихся в вопросе, я сначала скажу об фишке, которую использую для создания образов, про которую никто не вспоминает, когда речь идет о блочном копировании разделов ОС - сектор за сектором. Есть файловые системы, которые поддерживают сокращение своего размера до размера данных, т.е. можно в два клика сократить размер раздела, выкинув всё пустое пространство, оставив на разделе только данные. Примеры таких систем (те что проверял сам): Всё просто: перед снятием образа запусти

Очень многие знают, любят и применяют ежедневно #Acronis - очень популярную программу для создания образов операционных систем.
Хотя на самом деле, ничего эксклюзивного в функционале Acronis нет - все можно повторить стандартными утилитами Linux и по силам любому
начинающему системному администратору.
Если вы можете установить дистрибутив Линукса по вашему выбору на флешку и сможете с него загрузить Линукс - вы сможете и все остальное, в том числе то, что описано в данной статье.
Чтобы не отягощать людей, разбирающихся в вопросе, я сначала скажу об фишке, которую использую для создания образов, про которую никто не вспоминает, когда речь идет о блочном копировании разделов ОС - сектор за сектором.

Есть файловые системы, которые поддерживают сокращение своего размера до размера данных, т.е. можно в два клика сократить размер раздела, выкинув всё пустое пространство, оставив на разделе только данные.

Примеры таких систем (те что проверял сам):

  • NTFS (Windows)
  • ext4 (Linux)

Всё просто: перед снятием образа запустил gparted и сократил размер раздела до минимального, чтобы свободного места оставалось не более 1%.

Дальше скопировать разметку диска и сами разделы через dd или ddrescue. Будет гораздо быстрее, чем делать образ через тот же Acronis.

Но обо всем по порядку, начну с того, что для работы нужна загрузочная флешка Linux , лучше с GUI, диск с которого снимаем образ и диск куда образ записывать.
В моем примере про Windows я работал с домашнего Ubuntu Linux, снимал образ с соседнего диска на ФС своего Ubuntu Linux.

В примере про Linux - я это делал на очень слабеньком компьютере, загружался с USB-флешки Альт-Линукс, образ снимал и разворачивал с локального SATA диска, образ записывал на внешний USB HDD диск.

Но все эти работы можно выполнять с флешки, если на флешке достаточно места.

Перенос ОС копированием файловых систем (из образа ФС)

1. Перенос операционной системы копированием файловой системы выполняется с минимальными затратами времени и позволяет решать задачи администрирования:

  • восстанавливать работоспособность системы после фатального сбоя;
  • разворачивать объемные системы по числу компьютеров с похожей архитектурой и программным обеспечением;
  • переносить систему при модернизации оборудования.

2. Для сравнения: установка операционной системы Альт-Линукс с базовыми настройками занимает не менее 30 минут на каждый экземпляр установки и требует интерактивного вмешательства администратора.

Перенос операционной системы копированием файловой системы занимает от пары минут и может выполняться одновременно (параллельно) на нескольких компьютерах одним администратором.

3. Перенос операционной системы копированием файловой системы выполняется в два этапа:

  • создание образа файловой системы;
  • восстановление операционной системы из образа.

4. Основные способы создания образа ФС:

  • копирование раздела файловой системы (блочный метод);
  • копирование файлов ОС и восстановление архитектуры ФС (файловый метод).

5. В инструкции представлены оба метода с применением к разным задачам. У каждого метода есть свои плюсы и минусы.

6. Блочный метод — копирует разметку диска и разделы диска целиком, он может быть применен к архивированию практически любой операционной системы и ее файловой системы, если файловая система поддерживает уменьшение своего размера, то этот метод один из лучших для применения в такой задаче.

Например, для файловой системы EXT4 или NTFS перед снятием архива размер раздела можно сократить до объема занимаемых данных, КПД метода в этом случае будет очень высок.

Но если исходная файловая система не может быть изменена в меньшую сторону, например XFS, то при наличии большого объема незанятого данными пространства, при архивировании - большая часть времени уйдет на сохранение пустого пространства раздела, КПД метода в этом случае будет не так хорош, как в предыдущем примере.

7. Файловый метод — очень зависит от Операционной системы и файловой системы, на которой она развернута. Для ОС Linux — это предпочтительный метод, т. к. он может быть применен фактически для любой файловой системы Linux.

XFS и EXT4 Linux лучше архивировать файловым методом.

8. Пример блочного архивирования файловой системы на примере переноса OS Windows NTFS.

8.1. Обычно для работы Windows использует два раздела — скрытый, размером от 512 Мб и системный, обычно это Диск С Windows. Дополнительные диски для копирования — не рассматриваем, т. к. их можно скопировать простым копированием файлов, они не влияют на работу ОС Windows и могут быть добавлены к системе в любой момент. При желании их так же можно скопировать блочным методом вместе с скрытым и системным разделами.

8.2. Этап создания образа ФС блочным методом.

8.2.1. Посмотреть разделы исходного диска с Windows fdisk

sudo fdisk -l

Диск /dev/sdb: 1,84 TiB, 2000398934016 байт, 3907029168 секторов

Disk model: Hitachi HUA72302

Единицы: секторов по 1 * 512 = 512 байт

Размер сектора (логический/физический): 512 байт / 512 байт

Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Тип метки диска: dos

Идентификатор диска: 0xb75549a0

Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип

/dev/sdb1 * 63 1028159 1028097 502M 7 HPFS/NTFS/exFAT

/dev/sdb2 1028160 132102143 131073984 62,5G 7 HPFS/NTFS/exFAT

Идентификаторы разделов и их файловой системы узнать командой blkid

sudo blkid

/dev/sdb1: LABEL="System Reserved" UUID="38143AA4143A6552" TYPE="ntfs" PARTUUID="b75549a0-01"

/dev/sdb2: UUID="94ECB0E5ECB0C332" TYPE="ntfs" PARTUUID="b75549a0-02"

8.2.2. В примере /dev/sdb1 — скрытый раздел Windows, /dev/sdb2 — системный раздел Windows.

8.2.3. Подключить системный раздел Windows в папку /mnt:

sudo mount -t ntfs /dev/sdb2 /mnt

8.2.4. Удалить файлы виртуальной и кэша памяти, можно на этом этапе удалить другие файлы - которые не понадобятся на новой системе и далее отключить системный раздел:

rm /mnt/pagefile.sys

rm /mnt/swapfile.sys

rm /mnt/hiberfil.sys

sudo umount /mnt

8.2.5. сократить раздел до минимального, не более 1-10% свободного места. Например к размеру данных добавить +200 МиБ. Для изменения размера задействовать графическую утилиту gparted (установка sudo apt-get install gparted):

sudo gparted

Gparted раздел до изменения размера. Размерность в МиБ и ГиГ (х1024), у Мб и Гб (х1000)
Gparted раздел до изменения размера. Размерность в МиБ и ГиГ (х1024), у Мб и Гб (х1000)

Выбрать раздел /dev/sdb2 и изменить его размер:

Gparted задать новый размер разделу
Gparted задать новый размер разделу

Подтвердить изменения с диском.

Gparted: Нажать Применить, дождаться завершения изменений на диске.
Gparted: Нажать Применить, дождаться завершения изменений на диске.
Gparted исходный диск после сокращения размера. Свободное место 1%. Можно снимать образ.
Gparted исходный диск после сокращения размера. Свободное место 1%. Можно снимать образ.

8.2.6. Снять разметку диска и разделы sdb1 и sdb2, большие файлы сжать на лету gzip:

sudo dd if=/dev/sdb of=/home/2tdata/backup/mbr_win10.img bs=512 count=4

4+0 записей получено

4+0 записей отправлено

2048 байт (2,0 kB, 2,0 KiB) скопирован, 0,000581747 s, 3,5 MB/s

sudo dd if=/dev/sdb1 bs=1M conv=noerror | gzip -c > /home/2tdata/backup/win10_sdb1.gz

502+1 записей получено

502+1 записей отправлено

526385664 байт (526 MB, 502 MiB) скопирован, 4,08875 s, 129 MB/s

sudo dd if=/dev/sdb2 bs=1M conv=noerror | gzip -c > /home/2tdata/backup/win10_sdb2.gz

наблюдать за процессом создания архива в другом терминале progress (установка пакета sudo apt-get progress):

watch sudo progress

watch sudo progress  - Прогресс создания архива образа раздела
watch sudo progress - Прогресс создания архива образа раздела

Для оценки времени, затраченного на операцию копирования перед командой можно задать команду time, тогда после выполнения операции будет показано затраченное на операцию время.

time sudo dd if=/dev/sdb2 bs=1M conv=noerror | gzip -c > /home/2tdata/backup/win10_sdb2.gz

13300+1 записей получено

13300+1 записей отправлено

13947076608 байт (14 GB, 13 GiB) скопирован, 431,488 s, 32,3 MB/s

real 7m11,502s

user 7m0,686s

sys 0m23,318s

для создания образа используется команды и опции:

dd — копирование данных раздела, сектор за сектором

if=/dev/sdb1, if=/dev/sdb2 — источник данных для копирования

bs=1M - размер буфера переноса за одну операцию 1Мб.

conv=noerror — контроль ошибок

gzip -c — архиватор с настройками архивирования по умолчанию (компромисс между скоростью архивирования и сжатием данных)

/home/2tdata/backup/win10_sdb1.gz — полное имя файла образа раздела.

8.3. Этап восстановления ОС из образа ФС блочным методом.

8.3.1. Очистить диск для развертывания системы, можно через gparted создав новую таблицу разделов, можно переписать заголовок диска нулями 512x4 байт.

sudo dd if=/dev/zero of=/dev/sdb bs=512 count=4

4+0 записей получено

4+0 записей отправлено

2048 байт (2,0 kB, 2,0 KiB) скопирован, 0,0297328 s, 68,9 kB/s

8.3.2. Перечитать командой ядру изменения разделов дисков sync

sudo sync

8.3.3. Посмотреть разделы дисков, /dev/sdb — пустой, без разделов fdisk

sudo fdisk -l

Диск /dev/sdb: 1,84 TiB, 2000398934016 байт, 3907029168 секторов

Disk model: Hitachi HUA72302

Единицы: секторов по 1 * 512 = 512 байт

Размер сектора (логический/физический): 512 байт / 512 байт

Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

8.3.4. Восстановить таблицу разделов из файла образа:

sudo dd if=dd if=/home/2tdata/backup/mbr_win10.img of=/dev/sdb

4+0 записей получено

4+0 записей отправлено

2048 байт (2,0 kB, 2,0 KiB) скопирован, 0,0178785 s, 115 kB/s

sudo sync

sudo fdisk -l

Диск /dev/sdb: 1,84 TiB, 2000398934016 байт, 3907029168 секторов

Disk model: Hitachi HUA72302

Единицы: секторов по 1 * 512 = 512 байт

Размер сектора (логический/физический): 512 байт / 512 байт

Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Тип метки диска: dos

Идентификатор диска: 0xb75549a0

Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип

/dev/sdb1 * 63 1028159 1028097 502M 7 HPFS/NTFS/exFAT

/dev/sdb2 1028160 28268543 27240384 13G 7 HPFS/NTFS/exFAT

Разделы появились.

8.3.5. Восстановить разделы из файл-образов разделов.

gzip -dc /home/2tdata/backup/win10_sdb1.gz | sudo dd of=/dev/sdb1 bs=1M conv=noerror

0+16064 записей получено

0+16064 записей отправлено

526385664 байт (526 MB, 502 MiB) скопирован, 5,40845 s, 97,3 MB/s

для /dev/sdb2 с оценкой времени #time

time gzip -dc /home/2tdata/backup/win10_sdb2.gz | sudo dd of=/dev/sdb2 bs=1M conv=noerror

0+425615 записей получено

0+425615 записей отправлено

13947076608 байт (14 GB, 13 GiB) скопирован, 155,435 s, 89,7 MB/s

real 2m35,459s

user 1m18,387s

sys 0m17,221s

наблюдать за процессом извлечения из архива в другом терминале progress

watch sudo progress

watch sudo progress  - Прогресс восстановления образа раздела диска из архива
watch sudo progress - Прогресс восстановления образа раздела диска из архива

8.3.5. Расширить системный раздел /dev/sdb2 до необходимого размера #gparted

sudo gparted

Gparted раздел диска до изменения размера
Gparted раздел диска до изменения размера
Gparted размер раздела до увеличения 13,3 МиБ.
Gparted размер раздела до увеличения 13,3 МиБ.
Gparted размер раздела увеличить до 64000 МиБ, а можно было и до конца диска, :)
Gparted размер раздела увеличить до 64000 МиБ, а можно было и до конца диска, :)
Gparted Для применения изменений нажать на зеленую галочку на панели инструментов
Gparted Для применения изменений нажать на зеленую галочку на панели инструментов
Gparted Прогресс увеличения размера раздела диска
Gparted Прогресс увеличения размера раздела диска
Gparted Раздел диска после увеличения его размера
Gparted Раздел диска после увеличения его размера

8.3.6. Восстановление системы закончено, можно перезагрузиться (sudo reboot) и загрузить Windows с диска /dev/sdb.

Рабочий стол Windows с восстановленного из образа раздела
Рабочий стол Windows с восстановленного из образа раздела
Восстановленный диск C крупным планом
Восстановленный диск C крупным планом

9. Файловый метод архивирования для копирования разделов Linux, проверено на ФС ext4 и xfs.

Linux — не Windows , можно штатным способом, из коробки, установить на флешку и применять ее для резервного копирования. В этой части примеры работы на Alt-Linux.

**** Важно, перед снятием образа с раздела Linux, нужно почистить его от старых компонент операционной системы: неиспользуемые пакеты и ядра/модули от предыдущих установок.

Нужно выполнить две команды на системе для снятия образа:

Удалить неиспользуемые пакеты ПО

sudo apt-get autoremove

Удалить старые ядра и их компоненты

sudo remove-old-kernels

Проверка:

показать версию актуального ядра

echo $(uname -r)

5.4.111-std-def-alt1

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

ls -lhat /lib/modules/

drwxr-xr-x 6 root root 4,0K апр 28 13:59 5.4.111-std-def-alt1

9.1. Проверить диски, подключенные к системе, через fdisk

sudo fdisk -l |grep /sd

Диск /dev/sda: 931,5 GiB, 1000204886016 байт, 1953525168 секторов — внешний USB диск

/dev/sda1 2048 1879293951 1879291904 896,1G 83 Linux

/dev/sda2 1879293952 1953523711 74229760 35,4G 7 HPFS/NTFS/exFAT

Диск /dev/sdb: 29,9 GiB, 32080200192 байт, 62656641 секторов - флешка

/dev/sdb1 * 2048 62654463 62652416 29,9G 83 Linux

Диск /dev/sdc: 465,8 GiB, 500107862016 байт, 976773168 секторов — локальный диск для переноса ОС

/dev/sdc1 * 2048 204799999 204797952 97,7G 83 Linux

/dev/sdc2 204800000 409599999 204800000 97,7G 83 Linux

/dev/sdc3 409600000 614399999 204800000 97,7G 83 Linux

/dev/sdc4 614400000 976773046 362373047 172,8G 83 Linux

Идентификаторы ФС, через blkid

sudo blkid

/dev/sda1: UUID="41a0775d-d294-4c30-9129-c41054c367f7" TYPE="ext4" PARTUUID="ee965eaf-01"

/dev/sda2: UUID="448B-89E6" TYPE="exfat" PTTYPE="dos" PARTUUID="ee965eaf-02"

/dev/sdb1: UUID="84dedcfe-a841-47b2-8c53-a58408689854" TYPE="xfs"

/dev/sdc1: UUID="4885b291-88d2-42c8-a603-4d4d0e63345a" TYPE="ext4" PARTUUID="04b14f94-01"

/dev/sdc2: UUID="dff3450c-d4b3-4b57-aa9d-ad639db2df03" TYPE="ext4" PARTUUID="04b14f94-02"

/dev/sdc3: UUID="e9128c44-c397-4f67-8843-efd53d646841" TYPE="ext4" PARTUUID="04b14f94-03"

/dev/sdc4: UUID="d6bf6771-8655-40e1-b9eb-dd86aedcef2a" TYPE="ext4" PARTUUID="04b14f94-04"

9.2. План работ:

  • сделать копию раздела /dev/sdc1 ext4 файловым методом;
  • отформатировать раздел /dev/sdc1 в xfs;
  • восстановить систему на новый раздел /dev/sdc1 xfs файловым методом.

9.3. Создание образа раздела /dev/sdc1 ext4 файловым методом.

9.3.1. Подключить раздел /dev/sda1 по адресу: /media/1 (sudo mkdir /media/1) — это раздел для сохранения образа mount

sudo mount /dev/sda1 /media/1

Подключить раздел /dev/sdc1 по адресу: /mnt, это раздел для репликации образа:

sudo mount /dev/sdc1 /mnt

9.3.2. Сделатьрепликацию раздела диска в архивный образ tar

sudo tar -cpzf - /mnt/ | (sudo pv -p --timer --rate --bytes > /media/1/exchange/alt-gui-new.tgz)

#tar — архиватор-упаковщик-распаковщик;

-cpzf — опция запуска tar, будет создавать архив с полными правами файлов и с сжатием данных;

/mnt/ - директория для архивирования;

| - разделитель составной команды

#pv — консольная утилита для отображения хода выполнения и статистики исполнения консольных команд, устанавливается sudo apt-get install pv;

-p --timer --rate --bytes - опции запуска pv: показать индикатор выполнения, время выполнения команды, показать счетчик скорости передачи данных, показать количество переданных байтов.

> /media/1/exchange/alt-gui-new.tgz — пропустив через себя трафик tar, pv перенаправляет его в файл /media/1/exchange/alt-gui-new.tgz

Команда самодостаточная в плане мониторинга за ходом выполнения задачи, ориентируясь на него ждем завершения создания образа раздела.

sudo tar -cpzf - /mnt/ | (sudo pv -p --timer --rate --bytes > /media/1/exchange/alt-gui-new.tgz)

tar: Удаляется начальный `/' из имен объектов

tar: Удаляются начальные `/' из целей жестких ссылок ]

tar: /mnt/var/resolv/var/avahi/socket: сокет проигнорирован <=> ]

tar: /mnt/var/spool/cron/.sock: сокет проигнорирован <=> ]

tar: /mnt/var/spool/postfix/public/showq: сокет проигнорирован

tar: /mnt/var/spool/postfix/public/flush: сокет проигнорирован

tar: /mnt/var/spool/postfix/public/cleanup: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/proxywrite: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/local: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/anvil: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/rewrite: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/discard: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/scache: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/lmtp: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/smtp: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/bounce: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/filter: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/trace: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/error: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/retry: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/relay: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/proxymap: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/virtual: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/defer: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/verify: сокет проигнорирован

tar: /mnt/var/spool/postfix/private/tlsmgr: сокет проигнорирован

2,19GiB 0:18:52 [1,98MiB/s] [ <=> ]

Итог: создан образ размером 2,2 Гб за 18 минут 52 сек.

Исходный размер ФС df -h

Файловая система Размер Использовано Дост Использовано% Cмонтировано в

/dev/sdc1 96G 11G 81G 12% /mnt

ls -lhat /media/1/exchange/

-rw-r--r-- 1 sam sam 2,2Gапр 27 21:00 alt-gui-new.tgz

Образ сжат почти в шесть раз: 2,2 Гб файл образа против 11Гб данных на разделе.

9.4. Подготовка раздела /dev/sdc1 к восстановлению из образа.

9.4.1. Отключить раздел от точки подключения /mnt:

sudo umount /mnt

9.4.2. Отформатировать раздел в mkfs.xfs

sudo mkfs.xfs /dev/sdc1 -f

meta-data=/dev/sdc1 isize=512 agcount=4, agsize=6399936 blks

= sectsz=4096 attr=2, projid32bit=1

= crc=1 finobt=1, sparse=1, rmapbt=0

= reflink=0

data = bsize=4096 blocks=25599744, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0, ftype=1

log =internal log bsize=4096 blocks=12499, version=2

= sectsz=4096 sunit=1 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

Для форматирования в ext4 задействовать такую команду mkfs.ext4  (sudo mkfs.ext4 /dev/sdc1)

sudo mkfs.ext4 /dev/sdc1

mke2fs 1.44.6 (5-Mar-2019)

/dev/sdc1 contains a xfs file system

Proceed anyway? (y,N) y

Creating filesystem with 25599744 4k blocks and 6406144 inodes

Filesystem UUID: 26e238de-2f11-43c6-ba48-b55d3ff9bab5

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done

Writing inode tables: done

Creating journal (131072 blocks): done

Writing superblocks and filesystem accounting information: done

Форматируем в xfs, формат ext4 — был дан для аналогии.

sudo mkfs.xfs /dev/sdc1 -f

9.4.3. Посмотрим идентификаторы разделов дисков blkid

sudo blkid

/dev/sdc1: UUID="efc0272c-f7b2-477a-a563-253128b3a9b5" TYPE="xfs" PARTUUID="04b14f94-01"

9.4.4. Подключаем раздел /dev/sdc1 в папку /mnt:

sudo mount /dev/sdc1 /mnt

проверка места на подключенных разделах до восстановления из образа df

df -h

Файловая система Размер Использовано Дост Использовано% Cмонтировано в

/dev/sdc1 98G 132M 98G 1% /mnt

132 Mb зарезервировано xfs для работы xfs, сам раздел пуст.

9.5. Восстановление раздела /dev/sdc1 ОС из образа файловым методом:

time sudo tar -C / -xpf /media/1/exchange/alt-gui-new.tgz

time — считать время выполнения команды.

tar — архиватор-упаковщик-распаковщик

-C / - путь восстановления данных из архива корень системы, каталог /mnt имеет то же имя, что и корневаяпапка архива и все файлы из архива извлекаются в корень раздела /dev/sdc1 который подключен в /mnt родительской системы.

-xpf — извлечь содержание архива с восстановлением прав доступа к файлам.

/media/1/exchange/alt-gui-new.tgz — файл архива — образ раздела диска.

Прогресс выполнения извлечения файлов из образа на раздел диска можно наблюдать в отдельном терминале командой #progress (установка sudo apt-get install progress):

watch sudo progress

watch sudo progress Прогресс восстановления раздела диска из образа
watch sudo progress Прогресс восстановления раздела диска из образа

При этом показывается как итоговый ход выполнения прогресса в %, так и файлы извлекаемые в данный момент (для объемных файлов).

time sudo tar -C / -xpf /media/1/exchange/alt-gui-new.tgz

164.29user 70.53system 4:03.67elapsed 96%CPU(0avgtext+0avgdata 8988maxresident)k

3847432inputs+20843784outputs (3major+2414minor)pagefaults 0swaps

Процесс восстановления раздела из образа выполнен за 4 минуты 03:67 сек при 96% задействовании процессора.

9.6. Проверка места на подключенных разделах после восстановления из образа df

df -h

Файловая система Размер Использовано Дост Использовано% Cмонтировано в

/dev/sdc1 98G 11G 88G 11% /mnt

Раздел занят на 11% и содержит 11Гбданных.

9.7. Изменить настройку монтирования корневой системы /etc/fstab на восстановленном разделе:

Узнать идентификаторы /dev/sdc1 UUID и TYPE их нужно скопировать и вставить в файл /etc/fstab нового раздела #blkid

sudo blkid

/dev/sdc1: UUID="efc0272c-f7b2-477a-a563-253128b3a9b5" TYPE="xfs"PARTUUID="04b14f94-01"

nano - консольный редактор

sudo nano /mnt/etc/fstab

Было:

proc /proc proc nosuid,noexec,gid=proc >

devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 >

tmpfs /tmp tmpfs nosuid >

UUID=4885b291-88d2-42c8-a603-4d4d0e63345a / ext4 relatime >

UUID=2020-07-27-08-29-52-00 /media/ALTLinux udf,iso9660 ro,noauto,user,>

/swapfile none swap sw 0 0

Стало:

proc /proc proc nosuid,noexec,gid=proc >

devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 >

tmpfs /tmp tmpfs nosuid >

UUID=efc0272c-f7b2-477a-a563-253128b3a9b5 / xfs relatime >

UUID=2020-07-27-08-29-52-00 /media/ALTLinux udf,iso9660 ro,noauto,user,>

/swapfile none swap sw 0 0

F2 — выйти с сохранением изменений в файле

sudo nano /mnt/etc/fstab Редактирование файла монтирования ФС Linux
sudo nano /mnt/etc/fstab Редактирование файла монтирования ФС Linux

Визуально проверить изменения в файле монтирования файловых систем:

sudo cat /mnt/etc/fstab

UUID и тип файловой системы должны совпадать между blkid и fstab
UUID и тип файловой системы должны совпадать между blkid и fstab

UUID="efc0272c-f7b2-477a-a563-253128b3a9b5" TYPE="xfs"

UUID=efc0272c-f7b2-477a-a563-253128b3a9b5 / xfs

9.8. Подготовиться к настройке загрузчика grub, переключив системные директории и корневой раздел на раздел, подключенныйв /mnt:

sudo mount --bind /dev /mnt/dev

sudo mount --bind /dev/pts /mnt/dev/pts

sudo mount --bind /proc /mnt/proc

sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

9.9. Установить загрузчик на диск /dev/sdc #grub-install

grub-install --boot-directory=/boot /dev/sdc

Выполняется установка для платформы i386-pc.

Установка завершена. Ошибок нет.

[root@alt-rescue /]

Для UEFI диска:

# UEFI-загрузка

grub-install --boot-directory=/boot --efi-directory=/boot/efi /dev/sdc

9.10. Привязка к "железу", создание initrd, #make-initrd

make-initrd -k $(ls /lib/modules/)

Если получаем сообщение вида:

/usr/share/make-initrd/mk/make-initrd.mk:10: *** You MUST NOT call private goals directly: 5.4.51-std-def-alt1. Останов.

Это значит, что перед снятием образа не была сделана очистка от неиспользуемых пакетов ПО и компонент старых ядер Linux.

Нужно сделать привязку к самому новому ядру, считываем содержание папки /lib/modules/:

ls -lhat /lib/modules/

итого 16K

drwxr-xr-x 6 root root 4,0K апр 26 12:19 5.4.111-std-def-alt1

drwxr-xr-x 4 root root 4,0K апр 25 10:20 5.4.51-std-def-alt1

drwxr-xr-x 4 root root 4,0K сен 4 2020 .

drwxr-xr-x 24 root root 4,0K сен 4 2020 ..

Выбираем название ядра с самым большим номером и самой свежей датой (сортировка по дате)

make-initrd -k "5.4.111-std-def-alt1"

***

00:00:49] Image is saved as /boot/initrd-5.4.111-std-def-alt1.img

9.11.Обновляем загрузчик #update-grub

LC_ALL=C update-grub

***

Found memtest image: /boot/memtest-5.01.bin

done

Готово, выходим из chroot, делаем reboot с диска /dev/cdc

exit

sudo reboot