Все просто: есть три числа (время) 14:22:55
hh = 14
mm = 22
ss = 55
Запишем в виде одного числа:
num = hh*10000+mm*100+ss = 142255
итог: 3 числа превратились в одно.
Если применительно к программированию - то там применяется операция бинарного сдвига вместо умножения.
Что не понятного? что функция выполняется на самом деле после выполнения всего кода? Это особенность setTimeout что он так выполняется, если задержка 0. Если бы выполнялся прямо в коде.
В биосе наверно был выставлен режим контроллера жестких дисков Эмуляция IDE и при сбросе сменился на AHCI - а это другое устройство, в ядре системы драйверов на него нет - естественно после загрузки ядра вылетает, так как жесткий диск не найден. Меняй обратно как было.
Биос ноутбука не умеет аппаратный RAID, следовательно нужно програмный RAID - а он только в редакциях win 10 pro/corp, и скорее всего не будет работать до загрузки ядра - тоесть нужен загрузочный раздел, что создает дополнительный изврат.
Все просто: читаешь документацию по файловым системам, разбираешься как каждая из них хранит файлы и выполняет их удаление. Потом подключаешься к нужному жесткому диску в режиме прямого доступа к бинарному содержимому, определяешь тип файловой системы, проходишься по содержимому выявляя начало и конец файла, по сигнатуре заголовка определяешь тип - сохраняешь данные в файл, имя скорее всего потеряется, но не во всех файловых системах, также как сожержимое может оказаться частично перезаписанным.
Работать проще в linux - там жесткий диск и его разделы представленны в виде файловых нод и читаются обычной командой open() в бинарном режиме.
Можно конечно из питона запускать консольную утилиту, но это совсем не то - вдруг она чего пропустит?