
Існує багато програм для "глибокої" перевірки жорстких дисків1. Переважно вони працюють під Windows чи DOS (Viktoria, MHDD). Швидше за все саме вони і будуть встановлені на різних "аварійних" Live-CD.
Хоч такі програми і працюють з різними файловими системами2 не завжди є можливість використати CD-ROM, а запис їх на Live-USB це взагалі окрема і довга :) історія.
Часто під рукою є флешка з Live-Linux, наприклад Ubuntu яку дуже просто переносити на USB-накопичувач.
Linux надає можливість перевірити жорсткий диск без встановлення додаткових програм.
badblocks
Безпечний пошук bad-секторів (режим "лише читання"):
badblocks -sv /dev/sda
Безпечна перевірка в режимі читання/запис:
badblocks -nsv /dev/<device>
Повна перевірка з перезаписом (усі дані на жорсткому диску буде знищено!!!). Записуються нові дані, за певними шаблонами, які потім считуються з перевіркою:
# Дані буде знищено!!!
badblocks -wsv /dev/sda
Прилад результатів:
$ badblocks -wsv /dev/sda
Checking for bad blocks in read-write mode
From block 0 to 488786587
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: 27.83% done, 6:19:45 elapsed. (0/0/0 errors)
[...]
Testing with pattern 0x00: done
Reading and comparing: done
Pass completed, 0 bad blocks found. (0/0/0 errors)
Нагадую, що наведені вище приклади працюють на дисках з будь-якою файловою системою (Windows/Unix/Linux).
Для чисто Linux-систем можна використати результати перевірки для запобігання використання поганих секторів.
fsck
Перевірка диску та збереження списку поганих секторів. Цей файл можна подати програмі для створення логічних дисків чи команді перевірки системи:
# перевірка диску
badblocks -wsv -o /root/<badblocks.txt> /dev/<device>
# створення розділу
mkfs.<filesystem-type> -l /root/<badblocks.txt> /dev/<device>
# перевірка розділу
e2fsck -l /root/<badblocks.txt> /dev/<device>
Логічна перевірка файлової системи з пошуком bad-секторів:
fsck -vcck /dev/sda
Програму badblocks буде запущено автоматично, а список поганих секторів буде взято до уваги командою fsck, щоб уникнути їх використання системою в майбутньому.
S.M.A.R.T.
Говорячи про перевіку стану жорсткого диску не можна не згадати про S.M.A.R.T. (Self Monitoring Analysis and Reporting Technology — Технологія Самоконтролю, Аналізу і Сповіщення).
Аналізуючи роботу диску технологія S.M.A.R.T. усуває проблеми на наднизькому рівні, навіть не показуючи їх операційній системі. Але наявність внутрішніх проблем може вказувати на те що жорсткому диску залишилось жити не довго...
Для Ubuntu, необхідні програми потрібно спочатку встановити (можна безпосередньо і на Live-USB).
sudo apt-get install smartmontools
sudo smartctl -i /dev/sda
P.S.
Програма з графічною оболонку для перегляду даних S.M.A.R.T. — GSmartControl.

GParted Live
Щодо роботи з логічними розділами то "швейцарським ножем" у вигляді Live-USB є GParted Live.
На жаль програма не вміє виконувати низькорівневу перевірку, але робить чорта лисого з розділами, дисками (в т.ч. і відновлення випадково видалених розділів). Усе зі збереженням даних.

-
Як правило під "перевіркою" диску мається на увазі перевірка на bad-сектори. ↩
-
По суті, програмам для перевірки поверхні байдуже яка файлова система на вінчестері. Вони працюють з диском посекторно, не вникаючи в логічну розмітку. ↩
-
Часто, тестування ж.д. називають "перевірка поверхні". Хоча правильна робота жорсткого диска залежить від купи факторів і стан середовища лише їх частина. В будь якому випадку, поломки приводів головок/дисків чи порушення внутрішньої логіки роботи вінчестера теж виливаються в помилки читання/запису. ↩