Создание образа системы в Linux
Клонирование — создание точной копии исходного носителя.
В данном случае клонировать нужно корневую файловую систему Linux.
Клонированная копия и образ — одно и то же.
Зачем это надо?
Если вы администрируете парк компьютеров с одинаковой конфигурацией и хотите установить на них дистрибутив Линукс. Устанавливаем на одной машине, а на другие просто клонируем. Если система «накрылась», вы сможете восстановить её исходное состояние развертыванием образа, где всё уже установлено и настроено под ваши нужды
Как создать образ:
Во избежание недоразумений оговорим те разделы и диски, которые будем использовать
/dev/sda — жесткий диск с рабочей системой, его будем архивировать
/dev/sda1 — раздел, содержащий корневую фс
dev/sdb1 — раздел на внешнем жёстком диске для архивации
1.-Перезагрузитесь в однопользовательском режиме (single)
2.-Введите команду mount, чтобы узнать, какой раздел содержит корневую файловую систему (в примере используется /dev/sda1).Образ этого раздела и нужно сохранить на другом носителе. Например на внешнем жестком диске.
3.-Подмонтируйте внешний HDD
4.-Теперь перемонтируем корневую систему в режим «только для чтения» и создадим образ:
Как восстановить систему из созданного образа:
Нужно иметь под рукой: загрузочный компакт-диск любого дистрибутива Linux. При использовании простого диска (не LiveCD) для перехода на текстовую консоль нажмите Ctrl + Alt + F2.
При установке системы на пустой диск нужно создать разделы. При восстановлении после сбоя, ничего создавать не нужно. Лишь убедитесь в том, что раздел подкачки (Linux swap) создан.
Корнем становится каталог /install, к которому примонтирован новый HDD. В качестве командной оболочки выступает /bin/bash.
3.- Перезпишем загрузчик:
4.-Перезагрузим компьютер командой reboot. Копия системы восстановлена
blog.smart-admin.ru
Блог системного администратора
Снимаем образ утилитой DD в Linux
Снимаем образ всего диска утилитой dd.
1) узнаем как называется диск командой: df -h
Файловая система Разм Исп Дост Исп% смонтирована на
/dev/sda1 27G 2,8G 23G 11% /
tmpfs 1005M 0 1005M 0% /dev/shm
2) снимаем образ загрузочного раздела:
# dd if=/dev/sda of=/home/user/moy-mbr.bak count=1 bs=512
3) снимаем образ самого диска:
# dd if=/dev/sda of=/home/user/moy-razdel.bak
# dd if=/home/user/moy-mdr.bak of=/dev/sda
# dd if=/home/user/moy-razdel.bak of=/dev/sda
Можно сразу добавить в архив:
# dd if=/dev/sda | gzip -c > /home/user/moy-razdel.img.gz
И потом достать из архива:
# gzip -x /home/user/moy-razdel.img.gz | dd of=/dev/sda
Вариант 2 от Юрия Акимова
Создание образа жесткого диска при помощи утилиты dd в Unix
Для создания образа жесткого диск не обязательно использовать утилиты на подобии Acronis True Image или Norton Ghost, достаточно простой утилиты dd, которая входит в состав большинства Unix-подобных операционных систем (Linux, FreeBSD, Solaris и т.д.) В статье рассмотрен простой способ создания резервной копии образа жесткого диска при помощи dd. Первым делом необходимо подготовиться к резервному копированию. В данной статье введем следующие обозначения:
При необходимости нужно подставить собственные значения.
Подготовка к созданию образа жесткого диска
Первым делом необходимо загрузиться с любого доступного Live-CD диска, имеющего утилиту dd, и войти в командную строку в качестве суперпользователя. Создаем точку монтирования для проведения резервного копирования.
Монтируем жесткий диск на который необходимо сохранить образ.
Создание образа жесткого диска
dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,noerror
- if=/dev/sda — копируем весь жесткий диск sda;
- of=/mnt/backup/sda.img — копируем в /mnt/backup/sda.img;
- bs=8M — задаем размер кэша жесткого диска для ускорения процедуры копирования (иначе данные будут сбрасываться малыми порциями по 512 байт);
- conv=sync,noerror — указываем dd на необходимость копирования по типу бит-в-бит с игнорированием ошибок чтения.
Для сокращения размера образа жесткого диска его можно сжать любым архиватором.
Восстановление образа жесткого диска
Для восстановления образа жесткого диска необходимо проделать процедуру обратную процедуре создания этого образа.
При использовании сжатия параллельно необходимо разархивировать образ.
Миграция системы на другой жесткий диск
Для миграции всей системы на другой жесткий диск необходимо, в качестве цели назначения задать расположение нового диска.
После чего при необходимости устанавливаем загрузку с данного жесткого диска. При условии, что новый жесткий диск больше старого, на нем останется неразмеченная область. Ее следует разметить и отформатировать согласно имеющимся требованиям.
Статистика копирования в dd
Главный минус в dd — это отсутствие наглядного представления статистики выполнения процедуры копирования. Однако этот минус можно легко обойти. Достаточно подключиться к другому терминалу.
Определить номер процесса, под которым запущена dd.
Периодически посылать данному процессу команду kill -USR1 номер_процесса_dd .
watch -n 5 kill -USR1 номер_процесса_dd
- watch -n 5 — выполнять команду каждые 5 секунд;
- kill -USR1 номер_процесса_dd — показать статистику копирования.
Создание, монтирование и запись образов linux
Довольно часто бывает нужно создать образ оптического диска. В Windows для создания образа диска обычно используются посторонние программы, например, Nero или WinImage. В Linux мы будем пользоваться только средствами операционной системы.
1. Создание и монтирование образов
Образ CD/DVD-диска можно создать с помощью команды dd:
Вместо /dev/cdrom надо подставить имя файла устройства вашего привода CD/DVD (обычно этого делать не приходится, поскольку ссылка /dev/cdrom устанавливается самой системой на ваш привод CD/DVD).
Указанная команда создаст файл образа cd.iso, который будет записан в ваш домашний каталог. Аналогично с помощью этой команды можно создать и образ дискеты — только вместо /dev/cdrom нужно указать имя файла устройства /dev/fd0.
Что можно сделать с ISO-образом в Windows? Его можно записать на чистую болванку или же открыть в специальной программе (например, ISOpen или UltraISO) для изменения. В Linux открыть образ можно с помощью средств самой операционной системы.
Для этого его надо просто подмонтировать к корневой файловой системе с помощью команды следующего формата:
# mount -o loop -t iso9660 образ точка_монтирования
— опция -o loop означает, что будет монтироваться не файл устройства, а образ диска, который записан на жесткий диск;
— параметр -t 9660 задает тип файловой системы образа: iso9660 (стандартная файловая система для CD/DVD);
— после файловой системы указывается файл образа, например,
/cd.iso;
— последний параметр — это точка монтирования, каталог, к которому будет подмонтирован образ (напомню, что каталог должен существовать).
ПРИМЕЧАНИЕ
В большинстве случаев команду mount нужно выполнять от имени пользователя root или с помощью команд sudo ИЛИ su.
В нашем случае для монтирования образа
/cd.iso к каталогу /mnt/image нужно выполнить команду:
# mount -o loop -t iso9660
После этого можно обращаться к образу как к обычному каталогу:
2. Запись образов на болванку
Предположим, у вас есть файл образа cd.iso, и нужно записать его на компакт-диск, но вы не хотите (или не имеете возможности) использовать графические программы вроде Nero или k3b. В этом случае вам нужно использовать программу cdrecord (пакет называется аналогично). Команда для записи образа на болванку CD-R очень проста и выглядит так:
# cdrecord dev=0,0,0 -dao speed=16 файл_образа
Для записи DVD-R используется аналогичная команда:
# dvdrecord dev=0,0,0 -dao speed=4 файл_образа
В этой команде вам нужно изменить параметр dev — это идентификатор устройства CD/DVD. Если в вашей системе установлен только один привод CD/DVD, и он же является пишущим, тогда, скорее всего, у него будет идентификатор 0,0,0.
Но если у вас несколько приводов CD/DVD (например, обычный и пишущий), вы должны ввести следующую команду:
Команда выведет список CD/DVD, установленных в вашей системе. Вам надо запомнить идентификатор нужного привода и использовать его при записи образа диска
Для очистки DVD-RW диска используется команда:
# dvd+rw-format -f имя_устройства_DVD-RW
Для быстрой очистки CD-RW введите команду:
# cdrecord -v blank=fast dev=0,0,0
Если нужно произвести полную, а не быструю очистку, замените blank=fast на blank=all.
3. Программа mkisofs
Иногда нужно создать образ CD/DVD не с оригинального диска, а с каталогов файловой системы. Другими словами — у вас есть файлы и каталоги, которые вам нужно записать на CD/DVD. Технология CD/DVD не позволяет записывать файлы и каталоги непосредственно на носитель — вам нужно создать каталог, поместить в него все файлы и каталоги, которые вы хотите записать на оптический диск, затем создать по этому каталогу ISO-образ, а потом записать его на болванку.
Скопируйте все необходимые вам файлы в каталог
/cd. Затем выполните команду:
mkisofs -r -jcharset koi8-r -o
Эта команда создаст по каталогу
/cd файл образа cd.iso и поместит его в ваш домашний каталог. Обратите внимание на кодировку локализованной версии — сейчас используется koi8-r. Если у вас другая кодировка, например, utf8, вы должны указать ее:
mkisofs -r -jcharset utf8 -o
Указание кодировки необходимо для правильного отображения русскоязычных имен файлов и ката¬логов под управлением MS Windows.
После создания ISO-образа его нужно записать на носитель с помощью команды cdrecord, как было показано ранее. После записи не забудьте удалить образ, чтобы он не занимал места на диске.
Существует способ записи каталога на CD/DVD без создания промежуточного ISO-образа. Для этого служит команда:
mkisofs -jcharset кодировка /каталог | cdrecord -опции
4.Преобразование образов дисков
Иногда нужно записать созданный в другой программе образ диска, формат которого отличается от ISO9660. Наиболее часто встречаются образы дисков в форматах IMG, BIN, CUE, NRG, CCD.
Если у файла образа «расширение» (в Linux нет понятия «расширение», поэтому данное слово взято в кавычки) img, то это еще не означает, что формат образа ISO9660. Одни программы, например, k3b, действительно, создают образ в формате ISO9660 и записывают его в файл с расширением img, a другие — могут записывать в файл с таким же расширением образы диска в собственных форматах.
Файлы .bin/.cue можно записать на диск с помощью программы cdrdao или преобразовать в ISO с помощью программы bchunk.
Nero записывает образы диска в формате NRG, который можно преобразовать в ISO с помощью программы nrg2iso. Если вам нужно открыть NRG-образ, чтобы просмотреть его содержимое, вы это можете сделать с помощью команды:
mount -t udf,iso9660 -o loop,ro,offset=307200 файл.nrg точка_монтирования
Образ в формате CloneCD (ccd) можно преобразовать в ISO с помощью программы ccd2iso.
5. Создание и монтирование файлов с файловой системой
Иногда (например, для создания мини-дистрибутива) нужно создать файл, содержащий собственную файловую систему. Первым делом нужно создать пустой файл, потом создать в нем файловую систему, а затем подмонтировать этот файл к корневой файловой системе. Все это можно сделать с помощью трех команд:
# dd if=/dev/zero of=/file.fs bs=1k count=100000
# mkfs.ext2 -F /file.fs
# mount -t ext2 -o loop file.fs /mnt/disk
Первая команда создает пустой файл размером почти 100 Мбайт (100 000 Кбайт), вторая команда создает в этом файле файловую систему типа ext2, третья — монтирует файл к каталогу /mnt/disk.
6. Создание файловой системы
В разд. 5 с помощью команды mkfs.ext2 мы создали файловую систему в файле. С помощью этой команды мы можем создать файловую систему на разделе жесткого диска, например: mkfs.ext2 /dev/hda1.
Вообще, создать файловую систему нужного типа (если эта файловая система поддерживается ядром вашей системы) можно с помощью команды mkf s. , например:
mkfs.ext3
mkfs.vfat mkfs.reiserfs
Подробнее прочитать об этом можно, введя команду:
7.Проверка и восстановление файловой системы
Для проверки файловой системы используется программа fsck:
Например: fsck /dev/hda5.
Перед использованием этой команды надо размонтировать проверяемую файловую систему.
Если требуется проверить корневую файловую систему, то следует загрузиться с LiveCD и запустить fsck для проверки нужного раздела.
Если же жесткий диск «посыпался» (то есть появились «плохие» блоки), нужно, не дожидаясь полной потери данных, произвести следующие действия:
1.Выполнить команду fsck -с (команда пометит «плохие» блоки).
2.Сделать резервную копию всех важных данных.
3.Отправиться в магазин за новым жестким диском и перенести данные со старого жесткого диска на новый. Проверить жесткий диск на наличие плохих секторов можно программой badblocks.
ПРИМЕЧАНИЕ
Программа fsck может проверять не только файловые системы ext2/ext3. Для проверки, например, vfat можно использовать команду fsck.vfat .
Для восстановления «упавшей» таблицы разделов можно использовать программу gpart. Только будьте осторожны и внимательно читайте все сообщения, выводимые программой.
8.Смена корневой файловой системы.Команда chroot
Предположим, мы поставили Windows после Linux, и программа установки Windows перезаписала начальный загрузчик. Теперь Windows загружается, a Linux — нет. Что делать? Нужно загрузиться с LiveCD и выполнить команду:
Например, если Linux была установлена в раздел /dev/hda5, то нужно ввести команду:
Данная команда сменит корневую файловую систему — то есть вы загрузите ядро Linux с LiveCD, a затем сделаете подмену корневой файловой системы. Вам останется только ввести команду записи загрузчика (например, lilo) для восстановления начального загрузчика.
9. Подробно о монтировании NTFS
Как уже было отмечено ранее, Linux умеет только читать информацию из NTFS-разделов, но не умеет записывать в них информацию. Если при перекомпиляции ядра включить опцию записи информации в NTFS-разделы, то поддержка записи появится, но очень ограниченная.
Существуют средства, позволяющие добавить поддержку записи NTFS-разделов. Самым оптимальным из них является модуль ntfs-3g. Модуль ntfs-3g доступен по интернет-адресу www.ntfs-3g.org/. На этом сайте доступны как исходные коды, так и уже собранные пакеты для разных дистрибутивов. Все, что вам нужно — это установить скачанный пакет:
sudo dpkg -i ntfs-3g*
После установки пакета можно примонтировать NTFS-раздел:
# mount -t ntfs-3g раздел точка_монтирования
Понятно, что нужно указать ваш раздел и вашу точку монтирования. Если надо обеспечить автоматическое монтирование NTFS-раздела, то в файл /etc/fstab следует добавить запись, подобную этой:
раздел каталог ntfs-3g defaults,nls=utf8,umask=007,gid=46
У модуля ntfs-3g все равно есть ограничения — например, вы не сможете изменять сжатые файлы (хотя сможете их читать) и читать зашифрованные файлы.
10. Ограничение скорости CD/DVD
Программа hdparm позволяет ограничить скорость оптического привода (CDROM/DVDROM) — иногда это требуется, чтобы информация была считана без ошибок (как правило, если поверхность носителя информации немного повреждена). Рассмотрим команду ограничения скорости:
Множитель — это и есть скорость, например, I× соответствует скорости 150 Кбит/с для CD и 1385 Кбит/с для DVD. Чтобы установить вторую (2×, 300 Кбит/с) скорость чтения для CD, используется команда:
# hdparm -q -E2 /dev/cdrom
Для ограничения скорости DVD можно использовать команду:
# hdparm -q -E1 /dev/dvd
11. Монтирование каталога к каталогу
В Linux можно подмонтировать не только каталог к устройству, но и каталог к каталогу. Делается это с помощью все той же команды mount, запущенной с параметром —bind:
# mount —bind исходный_каталог каталог_назначения