[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
66941Здравствуйте.Есть программа для лечения жёсткого диска.Может кто написать GUI для этой проги.С возможностью выбора диска.
Undeground, BadNTFS_GUI.
.
.

О программе

BadNTFS v1.10 Freeware (c) Copyright D.Kuznetsov.
Программа работает исключительно с NTFS разделами.
Программа способна находить и помечать ВСЕ нестабильные и дефектные кластера на NTFS разделе, в том числе и те которые игнорируются функцией "Self-Healing" NTFS,
системой S.M.A.R.T. самого диска (не выполняется realloc) и конечно же не обнаруживаются с помощью chkdsk, что есть нередкое явление результатом которого становится необходимость приобретать новый жесткий диск, даже если речь идет об одном битом секторе.
К примеру если при чтении секторов возвращается ошибка 1117 (ERROR_IO_DEVICE) или подобные ошибки отличные от 23 ERROR_CRC.
Чем вызван такой тотальный игнор проблемы, существующей с момента появления NTFS, я не знаю, но проблема
в очередной раз постигла один из моих дисков и в результате появилась данная программа, которая ее успешно решает.
Функции:
1. Автоматическое удаление файлов попавших на дефектные кластера.
2. Автоматический перенос файлов и каталогов, попавших на нестабильный кластер с сохранением данных.
3. Возможность работы в среде RE.
4. (!) После внесения изменений в $BadClust необходимо запустить chkdsk с ключом /f для коррекции карты занятых кластеров и выявления возможных ошибок.
5. Бесполезна для SSD по очевидным причинам.
Формат badlog.txt
Файл представляет собой текстовый UNICODE файл, первые 2 байта FEFF, далее строки из 2-3 параметров разделенных 1 пробелом вида:
XXXXXX YYY filename
где, XXXXXX - номер кластера, YYY - номер записи соответствующего файла в MFT, filename - полный путь до файла (необязательный параметр)
YYY может принимать специальные значения -2 и -1,
-2 - кластер уже есть в $BadClust,
-1 - требуется найти соответствующий кластеру файл.
Ограничения:
- Раздел должен быть доступен для блокировки/размонтирования.
- Дефектный/нестабильный кластер должен быть свободным. В случае если кластер занят, программа произведет поиск файла/директории и при возможности его передвинет,
если же это невозможно или кластер принадлежит загрузочной области или метафайлу, то вам придется освободить его самостоятельно.

Дополнительная информация

В случае неправильного определения HDD ( по TRIM ) в настройках имеется пункт для разблокировки и продолжении работы


Последний раз редактировалось: avalat (2023-01-03 10:23), всего редактировалось 22 раз(а)

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
avalat
Примерно как-то так, не проверял.
cmd.exe /c title BadNTFS - scan drive f:& BadNTFS_x86.exe f:&if defined PROCESSOR_ARCHITEW6432 (%SystemRoot%\SysNative\chkdsk.exe f: /f&pause&exit) else (%SystemRoot%\System32\chkdsk.exe f: /f&pause&exit)
Или в самом приложении проверять разрядность, и формировать в зависимости от нее строку запуска.
Исправил ошибку.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1269
  • Репутация:126

    [+] [-]
nikzzzz, лучше заранее проверять чтобы не столкнуться с ограничением длины строки, а то мало ли что ещё захочется добавить, типа форматирование вывода.
avalat, посмотри у меня в теме, мы эту проблему уже обсуждали, gera_serg может тебе кучу советов дать что нигде не работает.

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
nikzzzz, Ага,спасибо, сообразил.
Думаю паузу убрать, вместо неё вывести по окончании log.txt и badlog.txt (с сохранением на С:\), так наверное лучше будет.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1269
  • Репутация:126

    [+] [-]
avalat, что если у тебя один диск, сбойный и ты на него сохранишь? Или вообще нет "С"? Может лучше вывести в блокнот или окно с Edit-элементом. А автор компа пусть решает что с этим делать.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
avalat,
67184вместо неё вывести по окончании log.txt и badlog.txt
Imxo, как-то не красиво, когда окно автоматически закрывается, непонятно, что произошло.
А вместо pause можно задать вопрос "Open log in Notepad?" , и открывать при желании лог в блокноте.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1269
  • Репутация:126

    [+] [-]
avalat, если сохранять на диск, то на тот, с которого запущена программа.

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
Перезалил.
Сделал определение разрядности через процедуру
На всех пешках заработало.
Запускал утиль ещё на двух машинах (выбрал малые разделы), bad-ов всё нет и нет. Странно даже, не бывает так...
Завтра на работе попробую, там должно быть навалом.


Последний раз редактировалось: avalat (2021-08-13 15:28), всего редактировалось 1 раз

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
avalat
А к чему такие сложности?
Можно просто прочитать переменную
If GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")<>"" - значит запущен x32 процесс под WinX64 и нужно использовать путь SysNative.
Открыть лог в блокноте - всегда открывается badlog.txt, даже если он пустой.
Может их объединить в один лог?

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
nikzzzz, по наличии папки SysWOW64 тоже работает, взял,что первое на глаза попалось.
Насчет логов мысль хорошая.
---------------------------------------------------------
(Чуть позже) Логи объединил в один ( bad+badlog.txt )logs.txt


Последний раз редактировалось: avalat (2019-05-26 19:43), всего редактировалось 1 раз

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
Смотрю ты пару раз обновил прогу,какие изменения. А то в теме ничего нет.
Ага, поправлял несколько раз, сообщали в ЛС о некоторых нюансах.
Сейчас в шапке свежая версия.
Добавил скрытие окна на время выполнения программы.

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
Исправил баг с логами (logs.txt), отображались некорректно...
для ясности добавил туда дату

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
avalat, aa
Почему-то при попытке открыть лог, пишет "не удалось открыть лог файл".
И желательно было бы определять SSD диски, если нужно, могу подкинуть исходник на PB.

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
Обновил утилитку, добавил пару ключей.

[Цитировать]

    lowe.story
  • 16005
  • Стаж: 7 лет
  • Сообщений: 57
  • Репутация:6

    [+] [-]
avalat, aa
Можно ли указать наименьшее время чтения кластера (удалить все слабочитаемые)?

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 452
  • Репутация:127

    [+] [-]
Думаю, можно в разумных пределах.
Не пробовал.

Страница 3 из 5


Показать сообщения:    

Текущее время: 16-Апр 19:42

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы