Формальный ответ: на любом, где есть работа с файлами на байтовом уровне.
Контекстный ответ: судя по тому, что ты писал в предыдущих темах, тебе не язык программирования нужен. Программа, которая должна работать с собственно испорченным жёстким диском, уже давно написана и называется dd. Изучаешь, как её запускать (только источник с приёмником не попутай), запускаешь, делаешь копию. Всё, с испорченным жёстким диском работать больше не надо, надо работать с копией, для этого есть программы восстановления.
Ну… да, на копии можно и из своих программ потренироваться, не факт, что что-то восстановишь, но практика будет хорошая.
HTML. Этот язык заводится из простого текстового редактора и для его исполнения нужен только веб-браузер, к вашему сведению сидя на Windows я писал в блокноте копию рабочего стола (писал например в функцию кнопки пуск т.е. ее смена на более светлую картинку и обратно, так же меню картиночное высвечивалось и прочее) Язык вполне удобный, но его не совершенство это минус.
Навеяло. Однажды при использовании dd казус произошёл. Принёс клиет флеху. Не читается. ОК, говорю, вэлкам. Запустил виртуал бокс, бубунту. Провёл манипуляции. Восстановил. Похвалил себя-любимого, и пошёл спать. Утром приходит клиент. А файлы на флешке-то и не открываются. То есть атрибуты, заголовки, дескрипторы - всё на месте, но сами файлы не открываются.
На Питоне тоже можно: open, ioctl. Про Перл не знаю. Только подозреваю, что будут сильные тормоза при побайтовой работе с диском, Питон не предназначен для быстрой обработки бинарных данных.
Ты писал, что тебе физически некуда, ты об этом? Если тебе важны твои данные, купи диск бОльшей ёмкости и копируй туда.
Восстановление данных по определению недешёвая затея. А идея использовать диск со всё ещё нужными тебе данными для тестирования своих программистских упражнений чревата слишком высоким риском окончательной потери данных. Профессиональные программы ищут известные им форматы данных по сигнатурам и заголовкам файлов, возможно, даже нечёткий поиск используют. Глазами или простенькой программой там что-то найти почти невозможно. Я в своё время не пожалел $100 на программу восстановления того, что напортачила Windows XP без сервиспаков (начало нулевых, да).
Питон не предназначен для быстрой обработки бинарных данных
Как бы да, но сейчас процы настолько быстрые, что уже не так важно.
Программа, которая читает файл кусками, для каждого куска суммируя байты по одному, вот так: for i in range(len(data)): s += data[i], на 3.8 умудряется обработать 7 мегабайт в секунду. Не особо. Но на pypy3 — уже аж 300. Жёсткий диск медленнее данные отдаёт.
Ни на каком. Снять с него побитовую копию в режиме только чтение на другой носитель большего размера и работать с ней утилитами по восстановлению данных. И это всё при условии, что диск не физически поломан, а программно сломалась ФС. В случае физической неисправности, в зависимости от её вида данные могут как и быть восстановлены за значительную сумму при условии наличия нужного оборудования, так и быть безвозвратно утеряны. Попытки запуска неисправного физически диска могут привести к его окончательной безвозвратной поломки.
В Debian и Ubuntu устанавливаешь командой sudo apt install hexedit, затем запускаешь командой hexedit твой_дамп или sudo hexedit /dev/твой_диск. Справка F1. В Windows смотришь https://en.wikipedia.org/wiki/Comparison_of_hex_editors и выбираешь любой, где в столбце Windows написано «yes», а в строке license — «GPL». Дальше скачиваешь, устанавливаешь и пользуешься. Но, как тебе уже сказали, ты рискуешь окончательно угробить данные, если не уже. Даже если всё будешь делать правильно. И тем паче, если где-то ошибёшься. Поэтому, если данные действительно важны, купи диск > 1 Тб. и создай дамп, а с ним уже играйся.