fkn0wned
![](http://forum.ru-board.com/board/avatars/Elmo.gif)
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: И что, Ваш БП умеет программно отключать отдельные шлейфы? | Да, знаю, меня уже огорчили Цитата: Да, есть такое. Но где там скрипты? | Нет, но она может принимать параметры командной строки и тормозиться на первом же блоке и не будет пытаться читать дальше, что мне и нужно. А скриптовый интерпретатор — любой внешний (perl, python, etc). В общем, вот как я себе это представляю(что-то типа моих наметок алгоритма): Код: E:\DD\dd if=\\?\Device\Harddisk1\DR1 of=Partition2(n) bs=512 count=437176781 skip=102398373 --progress | Скрипт следит за файлом Partition(n) в папке E:\DD\ и проверяет его с периодичностью в минуту-две, если меняеться, то ничего не делаем, а если нет — выводит сообщение с надписью типа "Нужно переподключить питание винчестера" с кнопкой "Продолжить" Как только я нажму продолжить, скрипт считывает размер файла в байтах, делит на 512 и запускает DD со следующими параметрами: Код: E:\DD\dd if=\\?\Device\Harddisk1\DR1 of=Partition2(n+1) bs=512 count=437176781-кол-во блоков, высчитанное из размера файла и еще -1 skip=102398373+кол-во блоков, высчитанное из размера файла и еще +1 --progress | Через ~30 секунд проверить создался ли файла Partition(n+1), и если нет, то снова попросить передернуть питание и после этого Код: E:\DD\dd if=\\?\Device\Harddisk1\DR1 of=Partition2(n+1) bs=512 count=437176781-кол-во блоков, высчитанное из размера файла и еще -1-1 skip=102398373+кол-во блоков, высчитанное из размера файла и еще +1+1 --progress | (Это на случай, если и следующий блок окажется bad-ом и диск тут же отвалиться) Ну, и цикл сначала А иначе делать это все руками Вот, примерно так я себе это вижу (может можно как-то намного лучше), но поскольку программировать не умею совсем, то тут мне нужна помощь. Заранее благодарю. EDIT: Может быть в эту цепочку можно как-то включить и Victoria и просить передернуть питание при ABRT или из самой DD for Windows получать сообщение об ошибке, но я не знаю как. Ну и пересчитать этот скрипт под Block Size = 32, это я, в принципе, могу сделать. В общем, очень нужна помощь. EDIT2: Даже еще лучше, вместо кучи файлов можно писать один с отступом по команде seek. | Всего записей: 17 | Зарегистр. 14-08-2009 | Отправлено: 23:51 20-08-2010 | Исправлено: fkn0wned, 00:16 21-08-2010 |
|