Скрипт swaphalt.sh
Этот скрипт сначала проверяет сигнатуру области подкачки Linux, а затем восстанавливает на разделе файловую систему Windows.
(Основано на скрипте, приведенном в Swap-Space-HOWTO автора H. Peter Anvin)
#!/bin/sh
#
# swaphalt.sh Этот файл вызывается из /etc/rc.d/init.d/halt
# после того, как будут выключены учет ресурсов и подкачка
#
# This file is executed through the /etc/rc.d/init.d/halt
# script after swapping and accounting has been turned off.
#
# Автор: Rahul U. Joshi Перевод: Станислав Рогин
#
# проверяем сигнатуру раздела подкачки и восстанавливаем таблицы данных Windows
loopcount=0
# флаг, указывающий была ли восстановлена информация раздела подкачки Windows
# flag to indicate whether the swap info has been restored or not
restored=0
# проверяем сигнатуру до 3 раз (check for swap signature 3 times before giving up)
while [ $loopcount -lt 3 ]
do
if [ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" = 'SWAP-SPACE' ]; then
echo "Восстановление структуры раздела подкачки DOS/Windows ($loopcount-я попытка)"
echo "Restoring DOS/Windows swap info , iteration $loopcount)"
/bin/zcat /etc/winswap.gz > /dev/winswap
restored=1
break
else
loopcount=loopcount+1
fi
done
if [ $restored -ne 1 ] ; then
echo "Сигнатура области подкачки не обнаружена после $loopcount попыток"
echo "Swap signature not found after $loopcount tries"
echo "Восстановление таблиц не произведено"
echo "Skipping restoring"
fi
|