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

  • 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 сильно облегчает жизнь, пользуйтесь им когда ситуация это позволяет.
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 58

    +5
    Смешанные чувства от прочтения статьи. Звучит очень рекламно, но… Смысл рекламировать бесплатную утилиту под свободной лицензией?..
      +4
      Ну как же. Смысл в том, чтобы продемонстрировать, что свободное программное обеспечение это круто! Ну и собственно эта статья, как и две предыдущие, родилась из моего желания выяснить как заменить Акронис свободным софтом. Вот, публикую результаты по мере выяснения. Надеюсь, что будет полезно и кому-то кроме меня.
        0
        Ну, некоторые продукты Acronis дома хорошо заменяются свободным софтом. Clonezilla, gparted и прочие. А вот чем без бубна заменить True Image для регулярного автоматического резервного копирования с инкрементальными копиями?
          0
          Ну я бы посмотрел в сторону btrfs и zfs. Они умеют инкрементальные копии, а регулярность можно устроить каким-нибудь кроном. А вот чтобы для любой файловой системы такое сделать — ну может класть образы в ту же zfs, а потом делать инкрементальный снапшот. Но это уже, конечно, не совсем без бубна.
            0
            Я говорю про Windows. Будет у меня дома небольшой «сервер» — хоть Bacula подниму. А сейчас простенький NAS, на который честно купленный True Image делает все так, как надо, и без бубна. Но хотелось бы нахаляву.
              +2
              Например, Veeam Endpoint Backup Free. Конечно, он не безгрешен, но явно неплох. Хочет как минимум Windows 7.
                0
                Спасибо, гляну. А в чем «небезгрешность»?
                  0
                  В отличие от продуктов Акронис, у него лишь одно задание, один «профиль» с настройками.
                    0
                    Так может потому что он в версии Free?
                      0
                      Возможно. Дело в том, что иных версий у этого продукта пока нет.
                      К слову, здесь же, на Хабре, нашел упоминание про Arcserve Unified Data Protection Workstation Free.
                    0
                    у меня на рабочем компе veeam создавал ежедневный инкрементальный бакап домашнего каталога 7-8 часов, независимо от дня недели (то есть, объёма изменений); даже если это суббота, и изменившихся файлов — только база аутлука.

                    Встроеный в винду управляется минут за 30.
                      0
                      У веема даже на сайте есть скриншот, как оно 30 мегабайт инк.бакапа делало 9.5 часов.
                      img.veeam.com/product_pages/endpoint/temp/control_panel.png
                  0
                  А чем не устраивает встроенный в windows бекапер?
                    0
                    Тем, что не создаёт образы, которые можно просмотреть штатным линуксовым mount, тем что требует запущенного Windows и, last but not least, тем что не свободный софт.
                      0
                      Вы меня, честно говоря, в тупик поставили :) Не помню. Была какая-то проблема, с которой я не смог справиться. По-моему, она касалась инкрементального копирования на сетевое хранилище.
                        0
                        Я вот его использую, и мне интересно стало, может быть мимо меня какие-то возможности проплывают. Сам сталкивался с багом, когда при включенной галке «включить образ системы дисков» он включал и бекапил не только системный диск, но и огромный диск с барахлом. И инкрементальный бекап на сетевой диск у меня вроде как работает.
                          0
                          Я попробую воспроизвести проблемную ситуацию, отпишусь.
            +2
            Я так и не понял, чем оно лучше штатного семерочного бэкапа.
              0
              Прежде всего тем, что работает не только для семёрки. Плюс врядли штатный бекап монтируется линуксовым mount. А в качестве антивирусника я использую Live CD от Касперского. Но и попутно не надо разбираться в том, как делается штатный семёрочный бекап.
                +1
                Делается в три клика, через мастер. Ну, а в качестве универсального бесплатного средства я предпочитаю Clonezilla.
                  0
                  После использования различных сторонних утилит, для клонирования или бекапа дисков…

                  Был впечатлен возможностями Маковой “Disk Utility" :) хотя надо будет взглянуть на NTFS Clone
                    0
                    Disk Utility умеет снимать образы с ntfs разделов, в которые не пишется дисковое пространство, реально не содержащее файлов?
                      0
                      я в смысле функционала, NTFS — readonly если не ставить примочек на маке. За статью спасибо
                        0
                        Всегда пожалуйста :). Я смотрел на Disk Utility и выяснил как раз то, о чём вы говорите. Думал, может я чего-то упустил тогда.
                    0
                    Я тут поредактировал предыдущий ответ. Добавил, что ещё врядли штатный бекап монтируется линуксовым mount.
                    Что касается Клонзиллы — она общего назначения и не всё может. Если у меня очень узко очерченная задача, которая решается ntfsclone, которая есть везде — я предпочитаю ntfsclone.
                      0
                      … которая есть везде — это касается только Linux же?
                        0
                        Ну в большей части дистрибутивов линкуса — включена по умолчанию, плюс есть в системах семейства BSD.
                          0
                          Если мы работаем с Windows-разделами, то для меня логично было бы создавать копии, доступные под Windows. С помощью того же disk2vhd, упомянутого ниже, например. Или штатным бекапом, или акронисом.
                            0
                            Копии разделов логично создавать так, чтобы они были доступны для той системы, которой вы собираетесь их читать. Для вас это Windows.
                            До того, как я слез с акронисовой иглы, у меня система изготовления бекапов определяла систему, в которой я буду их просматривать, что, по моему мнению, не совсем правильно. ntfsclone — это мой способ развернуть ситуацию правильной стороной.
                              0
                              у меня где то лежит винда бекап, сделанный три года назад, никак не переставлю.
                              Сложно представить сколько будет качать патчей.
                                0
                                Гораздо сложнее представить сколько придётся возвращать обратно накопленные за 3 года мелкие модификации в системе, которые будут потеряны после восстановления бекапа.
                +1
                А чем вам dsk2vhd не угодил?
                  0
                  Требует для работы Windows и не делает образов, которые монтируются штатными средствами линукса.
                    0
                    А ваша программа требует для работы Linux, и не делает образов, которые монтируются штатными средствами Windows. При этом бэкапите вы как раз винду, и туда же вам и разворачивать (не говоря о том, что виртуальный диск можно поднять прямо как систему в виртуалке, я так делал при переносе неоднократно).

                    Вы требования-то указывайте заранее.
                      0
                      Образа мне нужны для того, чтобы в случае неудачи развернуть из них систему как было и чтобы осуществлять проверку на вирусы. Чтобы развернуть бекап Windows не нужен, проверку на вирусы я осуществляю с помощью live cd касперского, который работает на линуксе. То бишь Windows мне скорее мешает, чем помогает. Мешает потому, что запускать штатные средства бекапа на системе забитой вирусами и троянами — удовольствие сомнительное. Возможно это надо было написать отдельно, но я побоялся перегрузить статью, которая планировалась как краткий обзор конкретного юскейса для ntfsclone.
                        0
                        Требования надо было описать в первую очередь, иначе мотивация вашего выбора не понятна совершенно.
                  0
                  В Принципе с Windows есть такая практика

                  1) допустим сегодня 1 Мая 2014 года, устанавливается чистая система накатываются драйвера делается снимок раздела.И Система живет активной жизнью некоторое время 1 года.

                  2) Сегодня 1 Мая 2015 года. Данные важные бекапаться. накатывается старый образ, Винда докачивает патчи делается образ. и опять год живет…

                  Сама идея «переделывать» образы через определенный промежуток времени.
                  Утилита как бы не столь принципиальна, плюс специфическая разбивка и можно Documents Settings перенести на другой раздел.

                    +1
                    Думаю это хорошая практика. Но в моем случае ей, увы, не следовали.
                      0
                      Чем делаете снимок раздела?
                        0
                        Symantec Norton Ghost
                      +1
                      Пару лет назад делал свой велосипед по резервному копированию: ночью сервер через WOL будил компьютеры, через PXE загружался debian у которого в init был прописан скрипт резервного копирования, сохранялась вся структура диска и все разделы, им же можно было восстановить резервную копию. Идея не прижилась, сервера давно уже нет, но скрипт остался, может кому пригодится (качество кода конечно хромает). Без переделки вряд ли запуститься, но если есть желание поразбираться — в нём достаточно много интересных решений.
                      Сейчас делаю разностное резервное копирование на теневых копиях и хардлинках — экономия места значительная и удобный быстрый доступ к любому файлу от любого числа.
                        +1
                        Есть partclone, который поддерживает не только NTFS, но еще и btrfs, ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, FAT, EXFAT, HFS plus, UFS2, VMFS и MINIX.
                          +1
                          Таки да. Но partclone обычно не установлен по умолчанию в большинстве дистрибутивов линукса. И не может делать образа, которые можно смотреть с помощью mount. Вернее может, но это непросто организовать. Поэтому, если речь идёт об ntfs — знать об ntfsclone очень полезно.
                          0
                          Возможно, я что-то упустил, но всегда делал подобное чем-то вроде:
                          dd if=/dev/sda1 bs=4096 | gzip -9cf > sda1.dd-image.gz
                          +
                          gunzip -c sda1.dd-image.gz | dd of=/dev/sda1 bs=4096

                          Чем описанный софт лучше?
                            0
                            Диск объёмом 160 гигабайт был заполнен данными на 20 процентов. ntfsclone не читает сектора диска, которые не содержат файлов. Это экономит время на создание бекапа и экономит место на диске, ибо gzip эти сектора будет интерпретировать как ценные данные и в нуль не сожмёт.
                              –3
                              Согласен, в ноль не сожмёт, но результат будет примерно сопоставимым.
                              То есть из преимуществ только возможность примонтировать такой образ и скорость создания. Я вас правильно понял?
                                +3
                                Если свободное пространство на низком уровне заполнено не нулями, а случайными значениями, то результат будет отличаться в тысячи раз. То есть gzip coжмёт свободное просторанство допустим в 10 раз — получается примерно 13 гигабайт. В случае с ntfsclone вместо 13 гигабайт будет просто 0. Но я сильно сомневаюсь, что gzip сожмёт случайные данные в 10 раз.
                                Eсли в же незанятых секторах бинарные нули, то можно смело делать образ с помощью ddrescue с ключом --sparse — это безопаснее, чем голый dd, хотя и не так быстро, как ntfsclone. Об этом подробно написано в моей первой статье
                                Сухая выжимка из преимуществ — возможность примонтировать образ, скорость создания и место на диске. Все эти преимущества имеем за счёт того, что в файловой системе много свободного места. Если бы свободного места было мало — ваш вариант обеспечил бы экономию дискового пространства, а ntfsclone не имел бы никаких преимуществ даже перед dd, не говоря уже о ddrescue.
                            +1
                            У Майкрософт есть отличная утилита disk2vhd. Она делает тоже самое, бесплатная и компактная. Официальное решение так сказать.
                            Полученный VHD диск потом можно без проблем запускать на Hyper-V или монтировать через стандартные средства Windows.
                              0
                              Дело в том, что я собираюсь запускать образ не на Hyper-V, а на live cd касперского, который построен на линуксе и, соответственно, мне нужно, чтобы образ монтировался утилитой mount. Ну и плюс что бы ты не запускал на умирающей от троянов и вирусов семёрке — оно работает со скрипом. Особенно когда оперативной памяти там — как раз, чтобы семёрка завелась.
                              0
                              А wim уже не в моде? )
                                0
                                Если на диске свободно 138 гигабайт, а занято 22 гигабайта, wim создаст образ на 22 гигабайта?
                                  0
                                  Да, мало того, там еще и встроенная LZX-компрессия есть. Но мне больше нравится стандартная утилита для бэкапа в Win7, которая создает сразу vhd-образа разделов. Образа можно смонтировать и в Linux, если есть qemu-img.
                                0
                                В домашних условиях, когда сильно нужно делать образы — ваяю с помощью древнего Symantec Ghost 11. Это тот самый универсальный молот, который у мастеров кузнецов передается из поколения в поколение.

                                В комплекте личных утилит уже все поменялось не один раз, но только он остается неизменным. Даже до сих пор корректно снимает файловые образы с NTFS, не смотря на то, что утилите более 10 лет уже. А если сильно хочется, всегда можно снять битовый образ диска с игнорированием ошибок чтения — восстановить на заведомо рабочий жесткий диск и вытащить, то что можно было спасти.
                                Ключей запуска — на все случаи жизни, сжатие Z9 до сих пор не уступает ни одному продукту по бэкапам, в систему ничего не устанавливает, магическим образом видит диски за рэйдконтроллерами чуть чаще чем всегда.

                                Загрузился с флешки/диска через WinPE, запустил ghost32.exe и бед не знаешь.
                                Полученный образ всегда можно посмотреть через ghost explorer — ghostexp.exe

                                ntfsclone просто менее удобный вариант старого досовского Symantec Ghost 11
                                  0
                                  Ну, я любитель дубовых решений. Мне нравится пользоваться программами, которые делают что-то одно и делают это так, чтобы результаты можно было использовать в других программах. ntfsclone может снимать образы, которые видит mount, которым пользовались ещё охотники на мамонтов, соответственно мне беспроблемно доступны все решения, накопленные человечеством с тех времён, и это очень приятно осознавать.
                                  Может ли Symantec Ghost 11 создать образ, который можно монтировать с помощью mount? Если может, то будет ли этот образ включать только реально используемые данные, без свободного пространства?
                                  Если может, то лично мне это интересно. Если нет — то софта, умеющего делать образа, которые можно смотреть в основном с помощью этого софта — его в общем много, можно выбирать на вкус и цвет.
                                  В соседнем комментарии вот говорят, что vhd образа можно монтировать с помощью quemu-img, а Symantec Ghost 11, насколько я понимаю, умеет делать vhd, так что пользоваться им наверное можно. Но он таки стоит денег и распространяется отдельно, а ntfsclone есть в умолчальной поставке большинства дистрибутивов линукса совершенно бесплатно.
                                  Правда вот сжатие кусков диска, занятых реальными данными, так, чтобы можно было монтировать итоговые образа mount, дубовыми решениями не получается, надо использовать файловую систему с поддержкой компрессии.
                                    0
                                    Symantec Ghost 11 — есть DOS, есть Windows версия. Работает на всем, включая Windows 10 х64.
                                    Если нужно посмотреть содержимое — есть Ghost Explorer, диском конечно, не подключает, но нужные файлы извлечь без проблем дает, позволяет удалять и добавлять файлы в образ.
                                    Образ по умолчанию включает в себя только реально используемые данные, но может и битовую копию всего диска/раздела.
                                    По поводу сжатия образов, к примеру:
                                    Виртуальная машина с Windows 7 Pro x64 + Office 2007 + все обновления по март 2015 до sysprep занимает 20.0 гигабайт
                                    Она же после внутренней чистки от старых обновлений, sysprep'а, обнуления не используемого пространства — VHD занимает 17.2 гигабайта
                                    Образ снятый с этого VHD с помощью Ghost 11 с максимальным сжатием занимает в формате GHO — 7.8 гигабайта — что позволяет держать на загрузочной флешке парочку образов для быстрого развертывания физических машин. Идеальный вариант для восстановления работоспособности, когда под рукой ровным счетом ничего кроме флешки нет.

                                    Попробуйте, утилита проста и удобна и выручала меня, без преувеличения, 1000+ раз.

                                    Образы сохраняются в свой формат GHO, в VHD не умеет. Она очень стара… и надежна.
                                      0
                                      ghost32.exe занимает 5 283 464 байт, т. е. пять мегабайт. это версия 11.0
                                        0
                                        Если бы задача создания образов для последующего накатывания стояла у меня, я бы после процедут с sysprep сделал образ ntfsclone и сжал бы его каким-нибудь суровым компрессором. Подозреваю, что нашёл бы компрессор лучше, чем вбитый в Ghost 11. И накатывал бы обратно, разжимая на лету.
                                        А за рекомендацию спасибо, буду иметь в виду. Как я заметил, статьи писать имеет смысл в первую очередь для того, чтобы почитать комментарии. Из них можно узнать много нового.
                                          0
                                          Здесь уникальное место, где комментарии к статье могут быть ценнее чем сама статья.

                                  Only users with full accounts can post comments. Log in, please.