Сижу на работе, ковыряю рабочий ноут — надо без сноса системы изменить размеры разделов. Для проведения операции необходимо сделать бэкап. Бэкап можно сделать при помощи старой, как мир, команды dd в тандеме с командой gzip. Я сделал так:

# dd if=/dev/sda2 conv=sync,noerror bs=64K | gzip -c -9 > /media/sda5/oleg/backups/system.gz

conv=sync,noerror означает, что dd не будет читать блок, если он читается с ошибкой, но будет записывать в образ данные, чтобы размер блока не менялся. bs=64K — ставим размер блока равным 64k. Интересно, что чем выше размер блока, тем быстрее будет производиться копирование. В тырнете я нашел, что можно поставить размер блока равным размеру кэша винчестера, тогда вообще будет ажурно)). Ну а далее по команде — перенаправляем вывод dd на gzip, который сразу же жмет данные и кладет их в нужный нам файл.

Для распаковки из образа можно воспользоваться командой zcat, которая распаковывает содержимое и отображает его на стандартный вывод. Я же просто перенаправляю вывод в файл устройства:

# zcat /media/sda5/oleg/backups/system.gz > /dev/sda1

Вот и вся наука)