Под Windows столь необычный трюк можно выполнить своим кодом, используя
FSCTL_MOVE_FILE. Т.е. не создавая файл, а перемещая существующий.
Либо накидав на диск кучу файлов, а потом с помощью
nfi.exe (NTFS File Sector Information Utility), или
DiskView, или
fsutil querycluster посмотрев что именно лежит в интересующих вас секторах.
То же самое можно сделать в hex-редакторе, но тут уже требуется некоторое понимание файловых систем.
Под Linux загляните в исходники
dd
(в качестве потенциального источника идей) и посмотрите на
--write-sector
в
hdparm.
Также можно воспользоваться
debugfs
:
debugfs: testb 100500
Block 100500 marked in use
debugfs: icheck 100500
Block Inode number
100500 1488
debugfs: ncheck 1488
Inode Pathname
1488 /home/psiklop/hentai.mkv
Кроме того, в своё время был
DiskExplorer, но RunTime, по-моему, очень давно не обновляли свои инструменты, так что не знаю насколько оно работает сейчас.
нужная прога вылетает
Если же говорить в целом, то сама по себе такая идея - не очень. У вас уже пошли вылеты, а в будущем диск здоровее не станет, только продолжит покрываться бэдами.
Так что запись файлов, создание разделов вокруг, лечение (remap) и прочие ухищрения относительно bad block'ов - это пластырь на умирающую лошадь.
Забэкапьте содержимое всего диска и попробуйте сдать его по гарантии, если она не закончилась. Если закончилась, то используйте как свалку для того, что не жалко потерять.