18 May 2015

ntfsclone — создаст образ так, как другим не под силу

Configuring LinuxSystem administrationBackup
Tutorial
Недавно я повстречал компьютер с Windows 7, который периодически отказывался связываться с интернетом. Подробности оставлю за кадром, скажу только, что проблема была явно не в железе. Неисправности надо исправлять, и так вышло, что первым кандидатом на претворение этого постулата в жизнь оказался я.

Переустановкой системы можно исправить любой косяк


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

Предвидя возмущение в комментариях, хочу сделать лирическое отступление. Переустановка займёт, допустим, день, а поиск первопричин при моей квалификации продлится не менее недели, поэтому вдумчивый и методичный подход тут не вариант.

А если всё пойдёт не так


Значит, будем проверять и, в случае чего, переустанавливать. Но компьютер, естественно, используется для работы, на нём, естественно, куча нужных и важных файлов, сотрудника, который им пользуется, под рукой, естественно, нет. Да и если бы он даже был — мой горький опыт показывает, что среднестатистический пользователь на вопрос о том, какие файлы сохранить, как правило отвечает «Все!» и спокойно возвращается к своей повседневной жизни. И какие-нибудь из этих файлов обязательно лежат в таком месте, о существовании которого никто даже не подозревал.

Лучше сделать полную копию раздела


Решение этой проблемы лежит на поверхности — надо действительно сохранить все файлы, которые есть на машине. Это можно сделать прямым копированием, но обычно быстрее и удобнее снять образ всего диска, благо в офисных компьютерах они, по нынешним меркам, микроскопические. «Да это же работа для ddrescue!» — подумал я.

Однако более тщательное изучение диска заставило меня усомниться в собственной адекватности. Винчестер, согласно рекомендациям лучших собаководов, был разбит на единственный логический диск, более известный широкой общественности как C. Из 160 гигабайт на нём было занято 22. Согласитесь, копировать 138 гигабайт ради сохранения двадцати двух было бы несколько экстравагантно.

Копию диска, 80 процентов которого ничем не занято, лучше делать ntfsclone


Можно, конечно, забить свободное место нулями и проинструктировать ddrescue сохранить образ в sparse файл, но ведь эти нули придётся сначала записать, а потом (во время снятия образа) прочитать. В случае жёсткой необходимости скопировать образ диска на маленькую флешку этот вариант, в общем, вполне себе рабочий, но на фоне того же Акрониса выглядит туповато.

Так как в работоспособности диска сомнений практически не возникало, я решил, что это подходящий момент для того, чтобы попробовать какую-нибудь из утилит, предназначенных для создания образов разделов, но, в отличие от dd и его многочисленных продолжателей, учитывающих особенности файловой системы. То есть не делающих побитовую копию устройства, а сканирующих таблицу размещения файлов для копирования только тех областей, в которых действительно есть данные. Непосредственно на загрузочной флешке нашлась ntfsclone, которая является частью пакета ntfsprogs, созданного, как нетрудно догадаться, для работы с файловой системой ntfs.

ntfsclone может создать файл образа в собственном немонтируемом формате


Единственное, на что я рассчитывал после краткого сеанса общения с гуглом — это получить образ размером 22 гигабайта в специфичном для ntfsclone формате. Этот образ я мог бы сохранить на флешку, для того чтобы в спокойной обстановке развернуть его на все 160 гигабайт и натравить на них антивирусник.

Ходят слухи, что образы, сделанные с помощью ntfsclone можно монтировать с помощью утилиты imagemount, но её на флешке не было, поэтому проверку слухов пришлось отложить на потом.

ntfsclone может сделать сжатый образ, монтируемый штатными средствами


Результаты оказались существенно лучше, чем мои самые смелые ожидания. Во-первых, оказалось, что использование особого формата — не необходимость, а особая фича, которую не обязательно включать. Во-вторых, обыкновенный образ ntfsclone создаёт в виде sparse файла, а значит, он займёт на диске ровно столько места, сколько реально используется в клонируемом разделе.

Из двух оглашённых выше пунктов следует, что образ, сделанный ntfsclone, можно совершенно спокойно смонтировать стандартной утилитой mount, и нет никакой необходимости что-то куда-либо разжимать, а значит, проверку на вирусы можно делать на 22 гигабайтной копии архива, а то и на нём самом!

ntfsclone прекрасно справляется с задачей копирования с исправных носителей


Несмотря на то, что, как понятно из названия, программа работает только с разделами, отформатированными в ntfs, её полезность сложно переоценить! Ничего лучше для бездумного изготовления резервной копии пустого на 80 процентов диска просто не существует! Экономия времени огромна, экономия пространства безмерна, а побочных эффектов просто-напросто нет!

Это, конечно, если речь идёт о создании резервной копии исправного устройства. Но даже если устройство неисправно, вполне вероятно, что дефекты находятся как раз в областях, не занятых файлами, то есть там, куда ntfsclone при копировании лезть не будет.

ntfsclone понятна и проста в использовании


Кстати, в статье нет ни одного примера. Это потому, что пользоваться программой действительно очень-очень просто! Но без примеров, конечно, нельзя.

Образ диска получается одной командой


ntfsclone -o <файл куда мы сохраним образ> <раздел образ которого делаем>
То есть, для снятия образа диска C: в файл win_c.img нужно написать:
ntfsclone -o win_c.img /dev/sda1
И это всё! Sparse файл будет создан автоматически, если такая фича есть в файловой системе, в которую мы положим файл с образом.

Монтируется образ совершенно обычным способом


mount -o loop win_c.img win_c

Главное — при создании образа не ошибиться с форматом


Будьте внимательны! В интернетах часто встречается рекомендация использовать аргумент -s, он же --save-image. Его использование приведёт к созданию образа в специфичном для ntfsclone формате, и, как следствие, отсутствию возможности монтировать этот образ стандартной mount.

ntfsclone — незаменимый инструмент при создании образов разделов отформатированных в ntfs


По сравнению с ddrescue ntfsclone обладает двумя важными преимуществами:

  1. ntfsclone скопирует только реально используемые куски диска, никакого бесполезного багажа.
  2. Образ, созданный ntfsclone, без ключа --save-image, можно монтировать штатными средствами операционной системы.

В общем ntfsclone сильно облегчает жизнь, пользуйтесь им когда ситуация это позволяет.
Tags:backuplinuxntfsclone
Hubs: Configuring Linux System administration Backup
+7
28.8k 163
Comments 58