Аналог виктория для linux

Технический блог

Восстановление сбойных секторов HDD и SATA дисков в Linux.

Предыстория: давно искал аналоги HDD Regenerator, Victoria, MHDD для линукс, и ничего не находил. Натолкнулся на hdrecover 0.5, но реального восстановления сбойных секторов не произошло. HDrecover час шел до сбойного сектора, аттемпил с разных мест, угрожал, что убьёт данные, я соглашался на data destory, но сбойные сектора не восстанавливал.

И вот упершись рогом, решительно взялся за линукс. Уже лет 20 где-то и как-то восстановление происходит, но в линуксе никак. С жестким диском повезло, на нём была куча сбойных секторов. 250GB Seagate 5400rpm из ноубука. Так как было время для экспериментов, HDD Regenerator на старом компе через IDE бодро восстанавливал сектора, а hdrecover — нет.

Сначала в hdrecover во второй параметр командной строки я дописал указание сектора, с которого нужно начинать сканирование, потому как ждать по часу было невозможно долго.

Как-раз мне на этом жестком диске попался сектор, который иногда поддавался attemp pounce — то есть автор hdrecover на каких-то моделях жестких дисков может быть увидел эффект, когда можно добиться восстановления данных из сбойного сектора путём попыток чтения этого сектора сразу после чтения далеко и близко расположенных мест диска. Физически головка движется с края диска не так позиционируясь, как если бы она передвинулась с соседней дорожки.. В итоге у меня: сектор иногда читался, но 100% не восстанавливался.

Теперь вводные: Мне НЕ нужно было восстанавливать данные. Мне нужно было восстановить только сбойные секторы с потерей информации. Если же вам нужно восстановить максимум информации: Копируйте всё на другой несбойный диск: ddrescue, dd sync,noerror и после этого с нормального диска восстанавливайте через R-Studio Recovery. Если диск сыпется, то все эксперименты с восстановлением секторов и попыток запуска десятков «лучших программ восстановления данных» приводят только к ещё большей потере данных.

Так как мне не нужны были attemp pounce сектора, которые бы то читались, то не читались, из программы была убрана эта функциональность множественных попыток чтения, так как толку от этого не было, это сильно занимало время восстановления, и далее при использовании программ восстановления данных сильно бы их замедляло. Так даже лучше — при первой ошибке чтения перезаписываем сектор, а диск там уж сам что-то сделает: перепишет или remap. Как именно remap в линуксе сделать, я ещё не понял. Да и практики мало (чем remap в victoria отличается, то же непонятно, чаще не восстанавливает никак сектора)

hdrecover, записывая в устройство сектор, не восстанавливал данные. Попробовав dd if=/dev/zero of=/dev/sdX count=1 seek=XXX, увидел, что сектор XXX восстановился. Добавив 2-й попыткой восстановления команду dd уже в саму программу hdrecover, был получен положительный результат.

Восстановление секторов конкретного жесткого диска было успешным и на старом компьютере с IDE — SATA контроллере (не AHCI), и на переходнике USB 3.0-SATA.

Оставляйте комментарии по результатам своего восстановления.

Что ещё можно добавить в программу для функциональности: первичное быстрое чтение всего диска скачками для выявления большой сбойной области сразу.

Читайте также:  Дампы windows server 2012

Для чего может быть нужно множественное восстановление сбойных секторов: когда надоело смотреть лог и давать команду dd восстанавливая вручную, когда невозможно достать жесткий диск и провести процедуру на старом SATA контроллере через HDD Regenerator, когда данные не сильно нужны (восстановится — нормально, прогоним chkdsk или fsck, не восстановится — переустановим систему). Ну а сама программа hdrecover может использоваться для тестирования жестких дисков сразу с режимом восстановления.

P.S. Если диск сильно цыкает — то скорее всего он не может спозиционироваться на дорожку, и hdrecover вряд ли поможет.

P.S.S. для новичков в линукс: вывод хвоста сислога в отдельном окне: tail -f /var/log/syslog — и там видны результаты подключения USB устройств, ошибок дисков и номера сбойных секторов.

Исходные тексты и скомпилированная на 64 бит программа:

Файл [download url=»http://agansk.ru/tech/wp-content/uploads/2019/04/hdrecover-0.5-dd.tar.gz»]

3 thoughts on “ Восстановление сбойных секторов SATA дисков в линукс ”

Если сбойные сектора не восстанавливаются, то для работы на таком диске можно сделать такое:
глянуть, что где: fdisk -l
глянуть mount, если надо отмонтировать нужный диск: umount /dev/sdb1
проверим на сбойные сектора: badblocks -s /dev/sdb1 > /home/user/sdb1_badblocks
Выполним команду для игнорирования сбойных секторов, что бы исключить их от использования в ОС:
e2fsck -l /home/user/sdb1_badblocks /dev/sdb1

Сам не пробовал, если у меня сбойные сектора не восстанавливаются — диск идёт с пометкой сбойный, максимум: для хранения неважной информации..

Если сбойных секторов очень много, не сотни, а десятки тысяч, можно изменить в тексте hdrecover.cpp команду перезаписи на count=16 или больше, для ускорения процесса

whdd для командной строки удалось скомпилять в ubuntu 16.04 (apt install dialog libncurses5-dev libncursesw5-dev). И на debian 8 и на убунту выбор ata или posix приводил к ошибке сегментирования.
hddsuperclone для графического экрана не копирует смонтированный диск..

Источник

6 приложений для анализа жесткого диска в Linux

Командная строка

Если вы истинный линуксоид, самый легкий и быстрый способ – использовать команду «df» в командной строке. Просто напечатать:

в терминале, и он покажет вам загрузку жесткого диска в процентах

Как видно из представленного выше скриншота, способ может служить лишь в качестве быстрого просмотра доступного места на диске и определенно не является самым удобным для проведения анализа жесткого диска.

Baobab

Большинство линукс-дистрибутивов с Gnome(в частности Убунту), используют Baobab в качестве дефолтного приложения для просмотра диска.Это замечательное приложение, способное до последней папки разделить и проанализировать структуру хранения данных на жестком диске. Просто укажите папки необходимые для сканирования, и в результате получите круговую диаграмму, отражающую количество занимаемого места каждым файлом.

KDirStat и GdMap

Если вы использовали WinDirStat в Windows, то согласитесь, что это очень удобное приложение, позволяющее анализировать и оптимизировать ваше дисковое пространство. Однако мало людей знают, что WinDirStat это на самом деле клон KDirStat. KDirStat обладает той же функциональностью что и WinDirStat (или может быть наоборот), за исключением того, что он предназначен для использования в Linux. Несмотря на то, что KDirStat разрабатывался для KDE, он также совместим с любым оконным менеджером X11.

KDirStat отображает ваши папки/файлы в виде прямоугольников. Чем больше размер файла, тем больше прямоугольник. Это позволяет вам быстро просмотреть файловую систему, и легко определить какая папка/файл занимают много места на жестком диске.

Gd Map это эквивалент KDirStat для Gnome, кроме того что он не отображает древовидную структуру папок, и не позволяет очищать жесткий диск.

Читайте также:  Именованные семафоры linux с

Filelight

Подобно Baobab, Filelight, создает интерактивную карту концентрических, сегментированных колец, помогающих визуализировать использование диска на вашем компьютере.Вы легко можете приблизить нужные папки, путем клика на соответствующем сегменте колец.

Philesight

Philesight это реализация Filelight в качестве веб-приложения, может быть запущена на удаленном сервере, не имеющим графического интерфейса. Philesight использует командную строку для генерации PNG-файлов в браузере и включает CGI-скрипты для навигации по файловой системе. Одна из ее особенностей, красочная радуга концентрических колец, что делает ее весьма приятной на вид.

xdiskusage

xdiskusage маленькая программка, отображающая файловую систему иерархически, слева направо, прямоугольными фигурами, с размерами, соответствующими размеру файлов. Если вы сканируете домашнюю папку, слева будет находится прямоугольник, отображающий полностью папку home, а справа все файлы, находящиеся внутри нее.
Вы легко можете приближать/удалять, нужные папки, по двойному щелчку на соответствующем прямоугольнике.

Источник

Аналог victoria (тест поверхности HDD,SSD) под Linux, существует ли?

нужно прочекать диск, smart статистика не хорошая.
киньте ссылку на инструмент аналогичный victoria

что такое поверхность sdd?

SSD диск, исправил. понятно что у SSD блинов нет внутри, не придирайтесь

Диск — это что-то круглое, нет ?
по теме — mhdd.

ну это тот который подключен после /dev/sdc

неужели и впрямь непонятно что мне потребовалось. в круги, в блины нужно тыкнуть обязательно

Посмотреть данные SMART smartctl -iHA

Прогнать самотестирование: smartctl -t long (результаты смотреть через ндцать часов smartctl -a )

Проверить/исправить/очистить диск — badblocks -w -svb4096

Больше тащемта ничего не надо, кроме разве что периодического профилактического badblocks -n чтобы намагниченность обновлять.

А если бэды уже есть — то нужен GNU ddrescue (не путать с dd_rescue) и второй диск. Прямо на больном диске данные только дебил станет восстанавливать.

И вы её конечно нам не покажите?

Зачем? если «smart статистика уже не хорошая»

дело в том что это диск Seagate ST3250318AS
Производитель у этой модели по своему интерпретирует параметры smart
Поэтому решил проверить поверхность по старинке утилитой, на всякий случай

Статистика в порядке. Сдохнет — заменишь. Будет портить данные — ФС сообщит или исправит (если в пуле есть откуда взять оригинальные данные).

У меня немало дисков валяется с хорошим смартом, но данные с них почти не читаются. Так что смарт не всегда полезен.

Жаль он в режиме AHCI не работает. Старенький (

Если диск может работать в режиме AHCI, то он слишком новый, чтобы от утилит типа victoria было хоть какое-то подобие пользы. Да и на более старых дисках толку от них мало.

Диск то тут причем. Я писал про mhdd. mhdd рулез — он умеет ремапить сбойные сектора. Только он, к сожалению, работает с IDE(SATA) контроллером в стандартном (не AHCI) режиме. Современные биосы все чаще не позволяют переводить SATA контроллер в стандартный (совместимый) режим. Приходится подключать винчестер к компу с более старой материнкой и там уж лечить в mhdd.

Диск, выпущенный в последние 20 лет, тебя даже близко не подпустит к операциям переназначения секторов.

он умеет ремапить сбойные сектора

cat тоже умеет. И hdparm умеет, если знаешь нужный адрес. Никакого волшебства в твоих поделках нет, контроллер диска в принципе им не позволит самим что-то переназначать.

Это у старческий или юношеский максимализм? AHCI — стандарт. Ты бы ещё сказал, что NVMe не стандарт 🙂

Читайте также:  Другая загрузка mac os

Прежде чем «. подавать какие-то советы космического масштаба. «, Вам следовало бы разобраться, как работает mhdd. Естественно она не управляет аппаратным ремапом. Ремап делает контроллер винчестера, mhdd же пытается ему подсказать путем многократного чтение и записи сбойного сектора, что сектор «готов» для ремапа. К сожалению, не со всеми контроллерами это проходит — у самсунгов были, как я помню, контроллеры очень «тугие».

hdparm же может делать софтовые беды.

Это у старческий или юношеский максимализм?

Здесь читаю, а здесь нет? Да, в биосе он как только не называется. Смысл надеюсь, понятен?

mhdd же пытается ему подсказать путем многократного чтение и записи сбойного сектора

Окей, вижу, что ты не из верующих в волшебство «низкоуровневого форматирования».

hdparm же может делать софтовые беды

У него есть команды для чтения и записи. Скрипт на три строки даст тебе аналог mhdd, который будет работать хоть где. —read-sector , —write-sector / —repair-sector .

дело в том что это диск Seagate ST3250318AS
Производитель у этой модели по своему интерпретирует параметры smart

Чувак, ты не поверишь. Интерпретация RAW_VALUE ( попугаи ) у каждого производителя своя. Для пользователя предназначены VALUE ( что сейчас ), WORST ( худшее в истории, что помнят аксакалы ) и THRESH ( когда дойдёт до этой линии, произойдёт страшное. ну может не сразу, но в воздухе витает дух трагедии )

Кстати, если тебя покусали роботы и принципиально читать именно RAW, то у seagate это 48-битное значение. младшие 4 байта — общее число операций ( любых. и успешных, и провальных ) за всё время, старшие 2 байта — число ошибок, которое произошло за всё время. Т.е. ты эту цифру можешь сам разбить на 2 части, посмотреть общее число ошибок и посчитать процент ошибок

Считать 1-й и 7-й параметр 48-битными и отобразить как HEX можно так:

smart статистика не хорошая
Seagate ST3250318AS

Ну и где вы увидели что-то не хорошее?

Каких если не секрет?
То что смарт не является «серебряной пулей» я знаю, много раз сталкивался с вариантами десктопных хардов, когда даже «мяу по смарту сказать не успевали», дохли сразу и окончательно либо успевали «мяукнуть» и практически через несколько часов так же дохли. Так же сталкивался с вариантами смарт хороший, но хард ведет себя «через одно место», при этом пожалуйста все читает, все пишет, потом фигаг fs посыпалась, все прочекали все исправили, и до следующего раза. Но вот варианта смарт хороший но не читает пока не встречал.
Однако в теме ТС написал только одно «smart статистика не хорошая».

Вот мне знакомый приносил WD-шку, которую он уронил на пол. Я к сожалению уже не помню — было лет пять назад, помню что была серия black. Так вот она не читалась совсем — только хрустела, но smart показывала и был он в полном порядке. Кажется можно было даже самодиагностику запускать, но она зависала.

Да, до такого варианта я как-то не додумывался, когда харду уже и так по звуку хана, ещё и смарт посмотреть 🙂 У меня так тоже был случай механического повреждения, головы вылетели за парковочную область, это стало понятно после того как разобрал его, пинок назад профита уже не принес. 🙂

Источник

Оцените статью