7 лет назад 10 сентября 2012 в 0:20 1911

Мало радости вручную переустанавливать ОС и весь прикладной софт после фатального сбоя системы или выхода из строя HDD / SSD. Но можно избежать лишних телодвижений: надо заранее подготовить образ диска, чтобы потом просто записать его на накопитель.

Данный способ решения задачи известен с незапамятных времен, но мало кто им действительно пользуется. Можно сказать, что он окружен неким ореолом таинственности. Я не совсем понимал, почему, до тех пор, пока не решил досконально разобраться с этим вопросом. Теперь – понимаю.

Десктоп Parted Magic с запущенным терминалом на переднем плане

В теории здесь все довольно просто: ну взяли диск или отдельный том, скопировали его в файл, потом произвели обратную операцию – и все дела. На практике же возникает множество вопросов, начиная с первого и самого главного: какие понадобятся инструменты? Даже среди коммерческого ПО изобилия не наблюдается, что уж там говорить о бесплатном. Но не беспокойтесь за свой кошелек: он не пострадает (смайл).

ATTENTION! ACHTUNG! ВНИМАНИЕ! Пытаясь повторить все, что описано в статье, будьте предельно аккуратны. Обязательно перепроверяйте, и лучше – по нескольку раз, абсолютно все, что вы собираетесь сделать. Один неправильно введенный или даже просто пропущенный символ в командной строке либо неверно выставленная опция в программе – и вы потеряете всю информацию. Восстановить ее будет крайне сложно, а в ряде случаев вообще невозможно.

Предупреждаю: ни автор, ни редакция UPgrade за сохранность ваших данных никакой ответственности не несет. Поэтому перечитайте этот абзац трижды, затем еще подумайте немного над тем, что в нем написано, и только потом приступайте к делу.

Пару слов о железе. Все эксперименты производились на специально выделенном под эти цели ПК. Конфигурация: материнка ASRock AD510PV с распаянным прямо на ней процессором Intel Atom D510 (2 ядра, 1,66 ГГц, 1 Мбайт L2 Cache, поддержка Hyper-Threading), две планки памяти по 1 Гбайт Hynix DDR2-800, а также два стареньких, но полностью исправных SATA-винчестера Samsung: HD250HJ (250 Гбайт, буфер объемом 8 Мбайт) и HD403LJ (400 Гбайт, буфер объемом 16 Мбайт).

Машинка совсем хилая (индекс производительности Windows 7: ЦП – 3,3, память – 4,6, дисковая подсистема – 5,9), но другой не нашлось. Зато вы можете быть уверенными в том, что на нормальных компьютерах все операции будут выполняться заметно быстрее. Дело в том, что при создании образов обычно применяется сжатие данных, а при записи – распаковка, и здесь все зависит от мощности CPU.

Программа испытаний. Решено было проверять не только традиционную разметку дисков MBR, но и ставшую недавно актуальной для домашних пользователей GPT, поскольку только она позволяет использовать винчестеры объемом свыше 2 Тбайт для размещения загрузочных разделов. Подробнее об этом читайте во врезке «О типах разметки». Всего было создано четыре схемы разбивки (партиции приводятся в порядке от начала диска).

Номер 1. MBR. Три раздела: основные – 100 Мбайт (загрузчик Windows 7) и 50 Гбайт (система), а также дополнительный, в котором был создан единственный логический диск, занимающий все место до конца винчестера объемом 250 Гбайт. Файловая система везде NTFS.

Номер 2. MBR. Четыре основных раздела: 100 Мбайт и 50 Гбайт для «семерки» – NTFS, 4 Гбайт – Linux swap, 179 Гбайт – EXT4. Загрузчик – GRUB Legacy, задействуется во многих дистрибутивах, установлен в MBR.

Номер 3. MBR. Два основных раздела для крайней на сегодня версии «Окошек» – 100 Мбайт и 50 Гбайт, далее – 50 Гбайт BSD Slice (внутри разбит на несколько томов, установлена FreeBSD 9.0, файловая система – UFS2), потом расширенный, в котором логический диск на 2 Гбайт – Linux Swap, 50 Гбайт – EXT4, а все остальное пространство отдано третьему диску, размеченному в NTFS. GRUB Legacy проживает там же, где и в предыдущем наборе.

Номер 4. GPT. Разделы: 64 Кбайт – freebsd-boot, 2 Гбайт freebsd-swap, 100 Гбайт – freebsd-ufs – UFS2, четвертый – NTFS, до конца винта.

Тут требуются пояснения, почему для проверки работы с дисками, размеченными как GPT, была выбрана именно FreeBSD. Дело в том, что она умеет грузиться с таких дисков даже в том случае, когда в материнской плате используется самый обычный BIOS, а не новомодный UEFI. Linux тоже на такое способен, но это семейство ОС я знаю намного хуже. Кстати, «Винда» вполне могла бы стартовать при таких же условиях, если бы в Редмонде позаботились о том, чтобы написать для нее соответствующий бутлоадер. Почему в Microsoft этого не сделали, мне неведомо. Ну а в качестве дистрибутива Linux был выбран openSuSE 12.1 (ru.opensuse.org) – просто из всех «пингвинов» лично мне он приглянулся больше всего.

Теперь про ПО. Было отобрано только два инструмента. Первый – Parted Magic (partedmagic.com). По сути, это специализированный дистрибутив Linux, в котором собрано множество оупенсорсных программ для манипуляций с дисками и файловыми системами. Туда входит в том числе Clonezilla (clonezilla.org), которая, как нетрудно догадаться, создана как раз для клонирования. Также из этого набора понадобится Gnome Partition Editor, или просто GParted (gparted.sourceforge.net), для операций над разделами. Сам по себе Parted Magic – весьма примечательный проект, так что, наверное, имеет смысл написать про него отдельно.

Работает он исключительно со сменных носителей. Если вы предпочитаете CD-диски, то качайте образ ISO и прожигайте его на болванку любой программой, к которой вы привыкли (очень советую бесплатный ImgBurn, www.imgburn.com). Я же остановился на варианте с USB-флэшкой, так как на тестовой машине оптического привода не было. Тут все немного сложнее. Сначала надо скачать утилиту UNetbootin (unetbootin.sourceforge.net), не требующую установки в систему.

Потом запустить ее, в выпадающем списке «Дистрибутив» выбрать пункт Parted Magic, а в поле «Носитель» – букву нужного диска, затем проставить галку напротив опции «Образ диска» и, наконец, скормить софтине тот же самый загруженный ранее исошник. Остается только нажать OK и дождаться завершения процесса. Важно, чтобы носитель был предварительно отформатирован в FAT-32, иначе ничего не получится. Я взял древнюю флэшку на 256 Мбайт, объема которой как раз хватило, и даже еще осталось немного свободного места.

Полагаю, нет нужды подробно объяснять читателям UPgrade, как загрузить ПК с этого «свистка» или сидюка. Замечу только, что в самом начале есть возможность изменить язык интерфейса с умолчального английского на русский. Но делать это не следует. Сборщик дистрибутива, видимо, что-то недосмотрел, и в некоторых программах, включая те, которые требуются для решения наших задач, вместо кириллицы вы увидите кракозябры. Это относится к трем последним версиям Parted Magic, которые я проверял. Может, когда-нибудь сей досадный баг исправят – новые релизы выходят исправно.

Загрузившись, вы попадаете в оконную среду Xfce. Прямо на десктопе есть ярлык Disk Cloning – он-то нам и нужен. Кликнув по нему, вы запустите ту самую Clonezilla. Интерфейс у нее псевдографический, зато пользователю помогает весьма толковый мастер. Прежде всего надо выбрать режим – device-image (есть еще возможность копировать диски и разделы с одного физического HDD на другой, но сейчас нам это не нужно).

На следующем этапе потребуется указать место хранения образов. Тут несколько пунктов, но в реальности понадобиться могут только два. Первый, Local Dev, предназначен для работы с устройствами хранения, подключенными непосредственно к ПК. Если его выбрать, то программа предложит присоединить USB-накопитель, потом выждать около 5 с (требуется для того, чтобы система его распознала), а затем нажать Enter. Далее будет выведен список дисковых устройств.

Здесь просто указываете требуемое – и дело в шляпе. Но поскольку в Linux они именуются иначе, чем в Windows, тем, кто вообще незнаком с «пингвином», будет трудновато разобраться. Главное – понять принцип, а чтобы помочь это сделать, я подготовил краткий ликбез (см. врезку «Имя, сестра! Имя!»). Наконец, надо сообщить о том, в какой конкретно папке вы желаете хранить образы.

Второй пункт – это Samba Server. Он позволяет управлять расшаренными по локальной сети «виндовыми» дисками и каталогами. Сперва прописывайте в диалоговом окне IP-адрес или имя машины, а затем – домен (если его нет, оставляйте поле пустым). Далее вам надо будет ввести логин (Account in Server). По умолчанию предлагается administrator. Когда доступ к общему ресурсу представлен другому пользователю, следует, конечно же, указать его.

В случае беспарольного общего доступа к файлам и папкам в качестве логина нужно использовать everyone. После этого Clonezilla потребует, чтобы вы сообщили ей о директории для хранения образов. К примеру, если вы хотите, чтобы они проживали в корне общего ресурса backup, то так его и вводите – только не забудьте после него проставить прямой слэш. Если же вы выбрали какую-то конкретную папку (допустим, Images), то запись будет иметь вид backup/images/. Только учтите, что она уже должна быть создана. Наконец, вас попросят ввести пароль (когда он не установлен, просто нажимайте Enter).

Затем надо выбрать режим – простой (Beginner) или «продвинутый» (Expert). Первый, понятное дело, проще, в нем задается намного меньше вопросов, да и настройки отсутствуют. Я бы рекомендовал именно его, поскольку во втором варианте большинство опций все равно придется оставлять в состоянии по умолчанию. Ну, если оно вам надо, то вы знаете зачем, а потому я не стану рассказывать об этом подробно из соображений экономии журнальной площади.

Это, так сказать, общая процедура, которую неизбежно потребуется проводить каждый раз перед началом работы с образами дисков в Clonezilla. Что лично меня огорчает, так это то, что мастер не позволяет отказываться назад, и, если, к примеру, сделана ошибка в выборе, допустим, диска, то придется перезапускать программу и повторять все снова.

После всего этого вы попадаете в главное меню, в котором тоже несколько пунктов. Интерес представляют следующие: Savedisk (сохранить в файлы образов весь диск), Saveparts (то же самое, но применительно к отдельным разделам), Restoredisk (восстановить из образов весь диск), Restoreparts (восстановить отдельные партиции). Любопытный режим работы – 1-2-mdisk, он предназначен для развертывания образов одного диска на несколько HDD (то самое клонирование).

Понятно, что прежде всего надо эти самые образы создать. Поэтому выбираем нужный пункт из первых двух и опять нажимаем Enter (при общении с данной софтиной эту операцию приходится повторять бессчетное число раз. – Прим. автора). Теперь надо задать имя каталога, куда будут сложены файлы. Задавайте такое, которое поможет сразу определить, что именно в нем хранится, потому что автоматически сгенерированное содержит только текущую дату. Следующий этап – выбор собственно диска (напоминаю, имена – линуксовые). После еще парочки вопросов (тут как раз можно, не задумываясь, их пропускать) появится сакральный «Are you sure you want to continue? (y/n)», ответив на который утвердительно вы запустите процесс.

Для восстановления диска из образов служит пункт Restoredisk. Тут алгоритм действий примерно такой же: сначала выбираете нужную папку, затем HDD из списка. В конце вы получите аж целых два предупреждения о том, что все существующие данные на винчестере, который вы указали, будут уничтожены. Если вы уверены в том, что делаете, вводите оба раза «yes» или просто латинскую букву «y».
Сохранение и восстановление разделов производится по совершенно аналогичной процедуре, так что нет смысла повторять все написанное выше.

Другой пакет, который мы решили потестить, – это бесплатный для персонального использования Paragon Backup & Recovery 2012 Free (www.paragon-software.com/home/br-free). У него есть свои особенности. К примеру, продукт российских программистов (правда, распространяемый немецким офисом компании, ориентированный на западного юзера и потому не русифицированный) способен создавать образы как при работе с отдельного загрузочного носителя (те же самые CD-диски и USB-флэшки), так и непосредственно в самой «Винде», прямо из запущенной системы. Данная фича называется Paragon Hot Processing & Volume Shadow Copy Service.

Для начала этот пакет придется установить совершенно обычным для Windows способом (инсталлятор «весит» чуть больше 100 Мбайт). При первом же запуске надо создать загрузочный носитель (меню Tools > Burn Recovery Media). Откроется очередной мастер (тут вообще все построено на них, но, в отличие от оупенсорсного продукта, они позволяют возвращаться назад и менять настройки). Тут все несложно – замечу только, что в разделе Recovery Media Options надо оставить галку напротив пункта Typical. Здесь тоже подойдет любой «свисток», потому что свободного места на диске требуется еще меньше, чем в случае с Clonezilla.

После этого можно смело заходить в раздел Backup & Restore и задавать нужный режим. Backup Wizard сначала попросит выбрать требуемые диски и / или разделы – понравилось, что он сразу дает оценку требуемого пространства (т. е. выдает примерный размер будущего архива). Жмем Next и попадаем в окно, где надо указать место хранения образов. Первый пункт – это Backup Capsule. В данном случае Paragon (для краткости будут называть его так) предлагает использовать свободное пространство в конце какого-нибудь существующего раздела на локальном HDD.

Ну, не знаю… Лично мне выбор кажется не слишком удачным: что будет делать человек, если эта самая капсула «накроется» вместе с винчестером? Лучше выбрать что-то из Save Data to Local / Network Drives («Сохранить данные на локальных / сетевых дисках») или Burn the Data to CD, DVD or BD (т. е. записать на оптический носитель).

Последнее не проверял ввиду отсутствия привода. Поскольку мы сейчас рассматриваем «виндовую» оболочку, то подключение сетевых дисков и папок проблем не вызывает: на этапе мастера Backup Destination надо просто кликнуть по плюсику рядом с пунктом Network, дождаться, пока будут определены удаленные хосты, и, собственно, выбрать нужный ресурс. Каждый архив при создании можно снабдить комментарием – настоятельно призываю читателей это делать.

Восстановление из образов можно произвести в этой же программе. Исключение – когда нужно реанимировать ОС. Здесь и потребуется тот самый сменный носитель, который мы создали раньше. После загрузки с него вы попадете в программу-оболочку, из которой и запускаются нужные инструменты.

Если образы хранятся на сетевом диске, в первую очередь следует зайти в раздел Network Configurator. Там сначала придется настроить сетевой интерфейс. Ну, здесь все обычно: либо вбиваете IP-адрес и DNS-сервер вручную, либо оставляете активной опцию Obtain IP Address Automatically, если в локалке адреса раздаются по DHCP. Для завершения надо нажать кнопку Restart Network. Затем надо снова зайти в тот же раздел, но на первом же этапе мастера кликнуть по надписи Configure Network Connections и добавить удаленный ресурс (Add). В новом окне Mount Settings правее поля Network Path есть небольшая кнопка, которая открывает обозреватель сети, – «виндовые» машины в ней видны точно так же, как и в самой Windows. Не забудьте указать правильные имя и пароль.

При вызове Simple Restore Wizard надо сначала скормить ему архив (это файл с расширением *.pbf), после открытия которого пользователю покажут, что именно находится внутри. Потом следует указать, куда записывать образ (диск или раздел; кстати, очень здорово, что Paragon показывает в этом окне точные модели всех обнаруженных HDD). Затем в окне Restore Summary можно ознакомиться с тем, что было и что станет после завершения операции с указанным вами носителем. Нажав здесь на кнопку Next, вы сразу запустите процесс. Хорошенько подумайте перед этим, потому что никаких предупреждений не выводится.

Из других особенностей продукта отмечу наличие планировщика для создания образов по расписанию. Лично мне это не нужно, но, вероятно, кому-то может и пригодиться. Кроме того, в программе для Windows существуют два вида интерфейса: простой (по умолчанию) и расширенный (он открывается по клику на переключателе Open Advanced Interface в главном окне). Также хочется сказать спасибо разработчикам за очень подробную документацию в формате PDF (правда, только на английском), которую можно скачать с офсайта.

Перед тем, как переходить непосредственно к результатам испытаний, придется коротко объяснить, почему я выбрал именно эти решения. Да просто потому, что люди ими пользуются – есть информация в форумах и других онлайновых ресурсах. Кроме того, эти приложения действительно могут, хотя и далеко не во всех случаях, справиться с задачей. Есть еще фриварный MiniTool Drive Copy (www.minitool-drivecopy.com/drivecopy.html), но он знаком только с «виндовыми» ФС, а потому на него было решено не тратить время (может, когда-нибудь сподоблюсь и на него посмотреть).

С исходными данными разобрались, стало быть, приступим. Методика была такая: все тестовые наборы я создавал на 250-гигабайтный винчестер, а потом восстанавливал снятые с него образы на 400-гигибайтный. Это логично, так как в случае выхода из строя HDD владелец вряд ли будет покупать новый такого же объема. Перед «реанимацией» первый гигабайт диска назначения «забивался» нулями при помощи линуксовой команды dd – для чистоты эксперимента, так сказать. Впрочем, мы еще к ней вернемся. Каждая операция восстановления повторялась для проверки дважды.

Обе программы справились с созданием образов и восстановлением из оных первой и второй тестовых разбивок. С третьей вышел полный облом. Paragon вроде нормально все скопировал и потом записал на другой винт, только вот после этого ничего не работало. Оказался испорчен загрузчик GRUB (выдавал ошибку Error 1, когда дело доходило до stage1.5) – впрочем, разработчик честно об этом предупреждает. Переустанавливать оный я не стал. Это не то чтобы суперсложная процедура (мануалы, в т. ч. и на русском, есть в Сети), но просто в мои задачи это не входило. Оказалось также, что прога зачем-то оставила свободное место (около 1 Гбайт) в начале расширенного раздела – оба раза так оно и было. С Clonezilla все еще хуже: создать образы она смогла, а «залить» их на HDD нет.

Ошибка возникала при попытке записи таблицы разделов. Для этих целей софтина использует штатную утилиту sfdisk, которая входит в состав практически любого дистрибутива Linux. Если в этой самой таблице были разделы типа BSD Slice или те, которые отформатированы в HFS+ (Apple OS X), sfdisk ругается на то, что нулевой сектор не содержит сигнатуры MBR, и все заканчивается, не успев начаться. Баг этот известен, но никто не спешит его исправлять: обычное дело в мире OpenSource – можно годами ждать, пока проблема не коснется квалифицированного программиста, который в состоянии исправить ошибку в коде.

В общем, не дружат, как выясняется, «пингвин» и «чертенок» (смайл). Правда, в проге есть и другие инструменты для записи таблицы разделов (выбор производится в расширенном режиме работы), но и они почему-то не сработали. Единственное, что я не попробовал, так это создание таблицы вручную. Думаю, мало кто захочет этим заниматься, а если захочет – он без труда найдет инструкции в онлайне.

С четвертой схемой разбивки (GPT) тоже не все благополучно. Clonezilla с ней справилась на «отлично», а вот Paragon – нет. Ситуация была похожа на ту, что описывалась чуть выше, правда, теперь ругался уже на GRUB, а загрузчик BSD Loader.

Но мне все-таки удалось выполнить задуманное при помощи той самой консольной команды dd, упомянутой выше. Дело в том, что обе программы, которые не смогли разобраться с двумя последними схемами, на самом деле работают только с отдельными разделами. Если же весь диск скопировать целиком и посекторно, никаких проблем не возникает. Итак, приступим: прежде всего загружаем Parted Magic (можно взять любой другой live-дистрибутив), запускаем терминал и монтируем носитель для хранения образов.

Методика экспериментов была такая: все тестовые наборы я создавал на винчестер емкостью 250 Гбайт, а потом восстанавливал снятые с него образы на другой, 400-гигибайтный.

Делается это командой Mount, но про нее столько написано в Сети, в том числе и на русском, что не стану приводить все возможные варианты. Сохранять весь диск в образ без сжатия – идея плохая: если был, к примеру, HDD объемом 1 Тбайт, то на выходе вы этот самый терабайт и получите. Поэтому воспользуемся архиватором gzip – хотя он сжимает данные похуже других, зато быстро работает. Ну и, собственно, команда dd if=/dev/sda conv=sync,noerror bs=8M | gzip -c > /mnt/sda.img.gz – вводить ее надо с правами суперпользователя.

Пояснения: параметр if определяет, откуда копировать (в данном случае – устройство sda), опции sync,noerror приказывают dd пропускать нечитаемые секторы, а вместо них выдавать нули (полезно, если вы копируете сбойный винчестер), а параметр bs задает размер буфера (есть мнение, что его надо брать таким же, как и у модели HDD, с которой вы работаете). Все, что после символа «>», – это имя создаваемого файла-образа.

Обратная операция, т. е. запись полученного ранее, – gunzip -c /mnt/sda.img.gz | dd of=/dev/sda bs=8M – опять-таки, нужны соответствующие права (команда sudo в многопользовательском режиме). Здесь /mnt/sda.img.gz – исходный файл, а /dev/sda – имя устройства.

Внимание! Никаких вопросов dd не задает, и в процессе записи все существующие данные на диске будут уничтожены. Если вы сделали ошибку в имени устройства, есть риск сгубить нужную информацию.
Если хотите сделать образ не всего диска, а только одного раздела, нужно прописать вместо /dev/sda нужное имя.

Чтобы наблюдать прогресс работы dd, надо в другом терминале выполнить команду watch -n 5 killall -USR1 dd (здесь 5 – интервал в секундах, через который dd будет рапортовать о проделанной работе).
Эта связка – dd и gzip – из разряда вечных ценностей. Только она позволяет скопировать диск целиком, со всей разметкой, структурой и данными. Именно эти две консольные утилиты справились с проблемными третьей и четвертой схемами.

Время, требуемое на создание образа диска, сильно зависит от объема данных. Поясню. Предположим, в разделе объемом 100 Гбайт в реальности занято только 10 Гбайт. Но секторы, которые помечены как свободные, в реальности могут содержать (и содержат, как правило) информацию из удаленных ранее файлов и папок. Что произойдет, если копировать такой раздел, как есть? А вот что: архиватор (в данном случае gzip) будет сжимать эти данные точно так же, как и в случае реально существующих объектов ФС.

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

На это тратится процессорное время (т. е. копирование замедляется), да и сжатие получается неэффективным. Продвинутые программы типа той же Clonezilla применяют различные инструменты для анализа файловых систем, пытаясь определить, информация в каких секторах нужна, а каких нет. А вот dd этого не умеет. Поэтому надо перед копированием забить неиспользуемые секторы нулями. В «юниксах» это делается при помощи той же самой команды, только параметры другие: dd if=/dev/zero of=/tmpfile bs=8M, где dev/zero – имя специального устройства, из которого считывается только 0, а /tmpfile – имя временного файла. Когда свободное место кончится, dd сообщит об этом и завершит работу. Остается только удалить этот /tmpfile. Данную операцию надо проводить для всех разделов.

В Windows существует бесплатная программка Blank and Secure (www.softwareok.com/?seite=Microsoft/BlankAndSecure), которая превосходно справляется с данной задачей. Ну и теперь немного цифр. На копирование всего диска без затирания неиспользуемых секторов (схема номер 2) при помощи dd и gzip на тестовой машине потребовалось 14 ч, а размер сжатого образа получился аж 175,5 Гбайт. После «обнуления» – 2 ч и 12,4 Гбайт соответственно. Почувствовали разницу? То-то же.

Clonezilla в последнем случае создавала образы около 40 мин. (занятое место на диске – 7,2 Гбайт), а Paragon из Windows – 30 мин. (около 10 Гбайт). Запись образов: dd вместе с gunzip – примерно 1,5 ч (распаковка требует заметно меньше ресурсов), а обе специализированные программы уложились в какие-нибудь полчаса.

Заодно я проверил несколько моментов, которые оставались для меня неясными (а инфы в Сети я не нашел). Прежде всего копирование разделов MBR на диски GPT (и в обратном направлении) не работает (ну, я и не надеялся, просто хотелось в этом убедиться). Если вы записываете образ диска на винчестер большего объема, остается неразмеченное пространство. Его можно использовать, например, увеличив размер существующей партиции при помощи того же GParted (вот почему я рекомендовал Parted Magic – он есть в составе этого дистрибутива).

Ограничения: расширять можно только тот раздел, после которого имеется свободное пространство. С некоторыми типами разделов (например, пресловутым BSD Slice) эта, в общем-то, отличная программа работать не умеет (да и не только она). Поэтому, если есть диск MBR, на нем созданы четыре основные партиции, и последняя из них – та, которая не поддерживается редактором разделов, свободное место вы задействовать не сможете. Если вы записываете образ на раздел, который больше по размерам, то все незадействованное в оном дисковое пространство пропадет – это справедливо для разбивки и MBR, и GPT.

«Линукс» без танцев с бубном перенести не получится, потому что для идентификации партиций во многих дистрибутивах используется уникальные ID, при генерации которых применяется информация из прошивки самого накопителя. Тут придется после смены винчестера и записи образов редактировать файл /etc/fstab и прописывать в нем правильные идентификаторы. Но еще лучше сделать это перед созданием образов и прописать там метки UUID. Вот хорошая инструкция на русском на эту тему: tuxologia.blogspot.com/2010/02/ftab-uuid.html. Преимущества данного подхода в том, что потом снятый образ диска можно будет заливать не только на тот же, но и вообще на любой HDD и все будет сразу работать.

Ну и рекомендации (уж простите, без пояснений, но проверенные мною лично. – Прим. автора). Старайтесь без крайней нужды не создавать расширенных разделов на дисках MBR: с ними проблемы. Когда вы записываете образы на новый винт, лучше цеплять его к тому же самому каналу контроллера SATA, на котором «висел» прежний накопитель. Если вы используете только Windows, то выбор очевиден: Paragon Backup & Recovery 2012 Free. Он позволяет создавать образы дисков «на лету», в работающей системе, что довольно удобно. Когда речь идет о «пингвинах», наш выбор – Parted Magic. Если же на вашей машине «крутится» BSD, Apple OS X или еще что-то более экзотическое, то остается единственный вариант – dd и gzip.

Для себя я решил делать полные образы дисков своих машин при помощи dd (защита на случай выхода дисков из строя), а также отдельные копии системных разделов (для быстрого восстановления в случае программных сбоев). UP

О типах разметки
Появившаяся вместе с IBM-совместимыми персоналками схема разбивки дисков MBR (иногда ее еще называют MSDOS) имеет множество недостатков. Главный – такой носитель может иметь максимум четыре раздела: либо все основные, либо три основных (Primary Partition) и один расширенный (Extended Partition), в последнем можно создавать логические тома.

Главная загрузочная запись (Master Boot Record) размером 512 байт содержит собственно лоадер и таблицу разделов. Она хранится в единственном экземпляре в первом секторе диска. Если MBR повреждена, получить доступ к разделам невозможно (хотя есть способы спасти сами данные, когда они целы). Кроме того, существует ограничение на размер раздела: 2,2 Тбайт.

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

Разметка GPT (GUID Partition Table) была разработана Intel для своих серверов на базе Itanium в начале 90-х как часть спецификации EFI (теперь – UEFI). Она использует современную схему адресации и лишена указанных выше недостатков. Во-первых, служебные данные здесь хранятся в двух экземплярах (в начале и в конце физического диска). Во-вторых, разделов (они все однотипные) может быть до 128. А размер их ограничен пределом в каких-то 9,4 ЗБ (зетабайт) – причем эта схема позволяет создавать партиции хоть в 16 Кбайт.

В MBR это невозможно (в теории это допускается, но так уж исторически сложилось, что минимальный размер раздела в MBR – 1 Мбайт). Все современные ОС, включая Windows Vista / 7, Linux, BSD и Apple OS X, поддерживают GPT, и полный переход на нее уже неизбежен. Он ускорился с распространением носителей объемом от 2,5 Тбайт и материнских плат с UEFI вместо обычного BIOS.

Имя, сестра! Имя!
Поневоле вспомнился любимый советский фильм про д’Артаньяна (смайл). Действительно, человек, никогда не работавший в какой-нибудь системе на базе Linux, без подсказки не разберется, как тут именуются диски. Прежде всего надо запомнить, что это – т. н. блочные устройства, к которым программы могут обращаться через специальные файлы в каталоге /dev (здесь слэш означает корень ФС, и его обязательно надо указывать, когда требуется полное имя).

Так вот, диски с интерфейсом IDE обозначаются как hd*, а с интерфейсами SCSI / SATA – как sd*. Вместо звездочек надо подставить букву. Для самого первого диска, подключенного к контроллеру, это будет латинская буква «a», для второго – «b», для третьего – «c» и т. д. Таким образом, если винчестер подключен к первому каналу SATA, то его полное имя будет /dev/sda.

Для отдельных разделов к этому обозначению добавляются номера. С единицы до четырех – это для основных разделов, а с пятого и далее – для логических томов (это в случае разметки MBR, в GPT есть только один тип раздела). К примеру, для обращения к первому основному разделу надо указать /dev/sda1, ко второму – /dev/sda2. Заметьте, никаких букв дисков, как в Windows, здесь нет. Кстати, об ОС от Microsoft.

Седьмая версия «Окошек», как известно, создает небольшой загрузочный раздел, которому не назначается буква, и, следовательно, из самой «Винды» получить доступ к нему невозможно до тех пор, пока не будет сделана соответствующая настройка. Многие вообще даже не подозревают, что такой раздел существует. Так вот: чтобы восстановить эту «ось» из образов, надо сначала сделать оные для первого и второго основного разделов.

Никто не прокомментировал материал. Есть мысли?