Бэд блоки на hdd как убрать??
Смотря что Вы имеете ввиду под «бэд блоками». SMART имеет такие показатели, как Relocated Sectors (перемещённые секторы) и Relocation Candidate (кандидаты к перемещению).
С первыми нельзя сделать ничего. Если их количество превысило некоторый предел, то пора бы менять диск, а то риск скорого накрытия велик. Если на нём есть ценные данные, то как минимум пора участить бэкапы.
Со вторыми ещё есть шанс. Кандидаты к перемещению — это такие сектора, чтение из которых произошло однажды с ошибкой (у каждого сектора есть на этот случай CRC32). Чтобы проверить, окончательно ли накрылся сектор, контроллер жёсткого диска пытается записать туда данные. Этого можно ждать, пока само сложится, а можно форсировать утилитами типа упомянутой здесь mhdd. Так вот, если запись пройдёт успешно, сектор будет помечен рабочим. Если нет, будет увеличен счётчик перемещённых секторов.
Перемещаются, кстати, сектора в специально зарезервированный участок, обычно в конце диска. Логически он остаётся там же, где был, но фактически головка бегает за ним в другое место.
примерно пол года назад нарвался на неожиданность. 
1) HD Sentinel когда делал многократно проверку readonly то оно проходило всю поверхность и показывало какоето количество bad blocks (23 как видно на скрине) 
2) потом пробовал использовать victoria 4.46 [20080812] там remap сделал вид что типа ремапил...
3) после чего сделал проверку в HD Sentinel readonly еще раз
4) чето решил сделать read-write-read тест, так оно умудрилось регенерировать сектора и потом они уже были нормальные и записывались и читались нормально. опять так и делал проверку многократно...
на данный момент неизвестно как там поживает тот диск
но такая штука помогла вобщемто всего один раз)))
другие подобные попытки, на других дисках, после этого, не дали положительного эффекта