К основному контенту

Улучшенное восстановление образов Windows 7/8 при помощи Clonezilla

Если вам доводилось использовать в работе или в личных целях дистрибутив Clonezilla, то вы наверняка сталкивались с проблемой восстановления образа с большего диска на меньший (например, при апгрейде с HDD на SSD без переустановки ОС, или когда в организации много однотипных ПК с дисками разного объема), даже при условии, что данные занимают места гораздо меньше, чем меньший диск. И ключи -r -icds помогают не всегда, если вообще помогают.

Чтобы решить эту проблему нужно, во-первых, создать образ системы с разделом минимального объема, во-вторых, восстанавливать его на диск с разделом максимального объема и изменить размер файловой системы под этот раздел. Для первого шага нужно удалить из системного раздела pagefile.sys и hiberfil.sys, изменить его размер до минимального (можно даже оставить всего 1МБ свободного места) и загрузить систему один раз (чтобы она выполнила chkdsk). После всего этого можно создать образ диска, который будет универсальным. Второй шаг можно выполнять уже в автоматическом режиме, благо Clonezilla поддерживает кастомизацию своего live-cd, но какое-либо расширенное описание его «API» отсутствует, есть только общий FAQ и несколько примеров custom-ocs. Для изучения возможностей скачиваем исходный код проекта, и внимательно рассматриваем скрипты ocs-srи ocs-functions. Итак, приступаем к написанию custom-ocs.

Первое, что есть в каждом примере разработчиков, это загрузка стандартных функций и установка языка:
DRBL_SCRIPT_PATH="${DRBL_SCRIPT_PATH:-/usr/share/drbl}"
. $DRBL_SCRIPT_PATH/sbin/drbl-conf-functions
. /etc/drbl/drbl-ocs.conf
. $DRBL_SCRIPT_PATH/sbin/ocs-functions
. /etc/ocs/ocs-live.conf

ask_and_load_lang_set en_US.UTF-8
export LANG=en_US.UTF-8
Русский язык тоже есть.

Далее, нужно подключить диск с образами, в моем случае это будет сетевая папка:
dhclient -v eth0
mount -t cifs -o user="clonezilla",password="secret" "//10.2.0.2/images" /home/partimag

Теперь можно показать диалог выбора образа:
export imagedir="/home/partimag"
export ocs_mode_prompt="restoredisk"
get_target_dir_name_when_restoring_disk

И диалог выбора диска:
get_target_hd_name_from_local_machine "$msg_choose_the_disks_to_restore \n$msg_linux_disk_naming" "menu"
Если заменить menu на checklist, то можно выбрать несколько дисков.

Эта функция создаст 100МиБ раздел для загрузчика и системный раздел на всём оставшемся месте:
create_pt_for_w7() {
  dd if=/dev/zero of=/dev/$target_hd bs=512 count=1
  (echo o; echo w) | fdisk /dev/$target_hd
  (echo n; echo ; echo ; echo ; echo +100M; echo t; echo 7; echo a; echo 1; echo w) | fdisk /dev/$target_hd
  (echo n; echo ; echo ; echo ; echo ; echo t; echo 2; echo 7; echo w) | fdisk /dev/$target_hd
}

Перед тем, как начать, нужно убедиться, что всё было выбрано правильно:
gen_proc_partitions_map_file
parts_included="$(grep -Eo "${target_hd}[[:digit:]]+" $partition_table)"
get_dev_model_shown "$target_hd $parts_included"
export confirm_before_clone="yes"
countdown_or_confirm_before_restore "$target_dir" "$target_hd"

И, наконец, можно приступить к восстановлению образа:
create_pt_for_w7
ocs-sr -b -e2 -icds -j2 -k -p true restoredisk $target_dir $target_hd
ntfsresize -f -f /dev/${target_hd}2

Всё это теперь можно сохранить в файле custom-ocs и вшить его в дистрибутив Clonezilla. Для этого нужно загрузиться с live-cd, войти в консоль и любым удобным способом дать доступ к готовому файлу (через сетевой диск или флешку). Набираем командуocs-iso -g en_US.UTF-8 -k NONE -s -m ./custom-ocs от имени root. На выходе получаем готовый iso образ с кастомизированным скриптом, при помощи которого можно в минимум действий восстановить образ систем Windows 7/8 на диск любого объема.

Нагло скопировано отсюда.

Комментарии

Популярные сообщения из этого блога

Типичные неисправности ЖК-мониторов

Случилось у меня беда: умерли два одинаковых монитора. И вот стал я искать типовые неисправности для своей модели. (Умерли одинаково.) И вот нашёл такую вещь на просторах. Решил скопировать, дабы не потерять. А то ведь всякое случается с сайтами. Так надёжнее.

Запретить пользователям изменять настройки Google Chrome

Для запрета нужно использовать политики Хрома. Чтобы их активировать, необходимо скачать архив по этой ссылке -  отсюда  или  отсюда Далее по инструкции: Существует два типа шаблонов: шаблоны ADM и шаблоны ADMX. Вам потребуется определить, какой тип шаблонов можно использовать в вашей сети. В этих шаблонах показано, какие разделы реестра можно задать для настройки Google Chrome и какие значения параметров являются допустимыми. Значения параметров в этих разделах реестра определяют поведение Google Chrome. Настройте параметры сети. Откройте загруженный шаблон ADM или ADMX, выполнив указанные ниже действия. Выберите Пуск > Выполнить: gpedit.msc. Перейдите к узлу Политика локального компьютера > Конфигурация компьютера > Административные шаблоны. Нажмите правой кнопкой мыши Административные шаблоны и выберите Добавление и удаление шаблонов. В открывшемся диалоговом окне добавьте шаблон chrome.adm. В результате в узле Административные шаблоны" появится папка Google/G...

Автоматическое рисование топологии сети и прочие "плюшки" FPinger

Как правило, для создания карты сети молодой (а порою даже и не очень) админ ходит по всем укромным уголкам своей организации и ищет откуда и куда тянутся цветные провода. Но это не то чтобы глупый админ (потому что надо самому всё посмотреть и просто знать, где что находится физически), не сказать что работящий (может ему просто скучно и он устроил себе квест по поиску хабов и свитчей), но и не сказать что ленивый... Короче, хрен знает, почему люди так делают. Я отношусь к той категории людей, которым просто лень оторвать задницу от стула до тех пор, когда станет совершенно ясно, что без этого никак. Но вот когда я могу обойтись без этого, я со спокойной душой делаю всё, что требуется сидя на месте. Вот и сегодня, решил сделать давно стоявшее в очереди дел задание: нарисовать топологическую карту сети. Не очень понимаю, зачем предыдущему админу это понадобилось делать, но после того как он уволился это повисло на следующего за ним. Будучи от природы в меру ленивым, я стал искать...