zix написал(а):
Виктория при обнаружении нечитаемого сектора в режиме "Ремап" производит перенос адресов в биосе винта из резервной области
К сожалению, Вы неправильно понимаете. Попробую повторить еще раз. Viktoria никуда ничего не переносит. Мало того, она не имеет физической возможности это сделать, потому что SCSI-команды переназначения секторов на SATA-накопителях не работают. Так что НИ ОДНА ПРОГРАММА не может (физически) выполнить переназначение сектора. Поскольку отсутствует аппаратная (точнее, микропрограммы контроллера HDD) поддержка такой возможности.
Как же тогда работает режим "remap"? Да очень просто - программа пытается записать сектор в надежде на то, что микроконтроллер диска обнаружит ошибку записи и самостоятельно произведет переназначение сектора.
Всё. Больше ничего она не делает и делать не может. И ни одна другая программа не может делать тоже.
Что делать пользователю, если на диске появился нечитаемый сектор, а никаких программ специально написанных для того, чтобы от него избавиться, под рукой нет?
Два варианта:
1. Пользователь знает номер сектора - он записан в журналах ОС или smart. Решение элементарное - перезаписать его. Любой программой, которая может выполнить запись физического сектора. Это может быть уже упомянутый hdparm, dd или любая другая программа.
2. Пользователь не знает номер сектора, либо таких секторов слишком много. Вариант распадается на два подварианта:
2.1. На диске нет полезной информации. Тогда проще всего заново пересоздать на нем файловую систему, выполнив попутно проверку поверхности диска в режиме записи. Или просто любым способом выполнить запись по всему объему раздела с дефектными блоками (dd if=/dev/zero of=/dev/sda1 или cat /dev/zero > /dev/sda1), а потом создать файловую систему.
2.2 На диске есть полезная информация, которую жалко терять. Тут необходимо отметить, что информация в нечитаемых секторах в любом случае будет потеряна, поэтому полезно, к примеру, используя отладчик файловой системы (debugfs), проверить какому файлу принадлежат дефектные секторы. Разумеется, это можно сделать только в том случае, если номера дефектных секторов известны. Если они неизвестны или если Вам неохота учиться пользоваться отладчиком файловых систем, есть простой хотя и затратный по времени способ (не бойтесь, не Вашего, а компьютерного!) - прочитать все файлы на диске (путем копирования их в /dev/null, контекстного поиска по всем файлам или любым другим) и посмотреть при чтении какого файла произойдет ошибка.
Если таким образом Вы нашли файл с дефектным блоком, то скопируйте его (в режиме игнорирования ошибок чтения) и просто распишите оригинал нулями. Контроллер жесткого диска выполнит переназначение или восстановит сектор (если после записи он снова начнет читаться) точно так же, как это сделала бы программа Виктория.
Допустим, у Вас нет желания возиться, выполняя вышеописанные действия. Вы просто хотели бы запустить какую-нибудь программу, которая вызовет выполнение процесса переназначения дефектных секторов микроконтроллером жесткого диска (к слову сказать, это самый плохой и неправильный путь, потому что Вы не будете знать, какие файлы были изуродованы в процессе переназначения, но именно его все предпочитают за его простоту и отсутствие необходимости напрягать мозговые извилины).
Так запустите её! Как уже было сказано, Виктория не делает ничего сверхестественного. И ни одна другая программа не делает, просто потому, что никаких специальных команд переназначения секторов SATA-диски не поддерживают.
Какую программу Вы можете запустить? Я её уже упоминал - программу, которая выполняет проверку поверхности диска в режиме неразрушающей записи. То есть, она читает сектор, записывает в него какие-нибудь образцы (0x00, 0xAA, 0x55, 0xFF), а потом восстанавливает старое содержимое.
Может быть, badblocks -svn /dev/sda1 и займет больше времени времени, чем проверка того же диска "Викторией" (я просто не знаю - не пользуюсь ни Viktoria, ни mhdd), но результат будет одинаковый. А если не видно разницы...
И последнее. Вы запускаете badblocks и уходите, больше ни о чем не заботясь. По окончании работы, badblocks выдаст Вам на экран (или запишет в файл) номера обнаруженных дефектных секторов. Тогда Вы сможете посмотреть, каким файлам эти секторы принадлежат и заняться восстановлением файлов. Восстанавливать их придется потому, что хотя "плохие" секторы и будут переназначены, но на их месте в файле останется мусор. Причем останется он, независимо от того,будете ли Вы использовать для восстановления поверхности диска "Викторию" или любую другую программу.