Я вважаю, що це питання не є специфічним для Linux або ext4, а для будь-якої файлової системи в цілому.
Powerloss не знищить жодних даних, якщо на диск не буде записано файл.
Це в основному означає, що коли програма відкриває файл, він може зробити це багатьма різними способами.
Це може зробити так, щоб просто прочитати з нього, він може зробити це, щоб записати до нього з самого початку (переписати все) і додати до файлу (записати в кінці файлу).
Тепер хитрість полягає в тому, що файл має 2 сегменти. Це:
На початку жорсткого диска написано таблицю, яка містить місце (и) файлу на жорсткому диску. У вказаному місці (-ах) дані записуються як 0 і 1 на жорсткому диску.
Читання файлу назад, очевидно, спочатку отримує його розташування, то з фактичного місця, отримати кількість 0 і 1, щоб сформувати фактичний файл в пам'яті.
Коли жорсткий диск записується до файлу, він робить це, спочатку записуючи дані на диск, переглядаючи нові точки початку та закінчення (зазвичай це те ж саме, але у випадку фрагментації даних і використання другого блоку) , записуються її початкові та кінцеві точки), а записи записуються в таблицю розділів.
Якщо під час запису в файл потужність виходить з ладу, індекс, очевидно, не відповідає даним. Це створює явища досягнення помилки читання при спробі доступу до файлу. Ви бачите його там, але все одно ви не маєте доступу до нього.
Оскільки читання до файлу насправді не змінює вміст диска, потужність тут не вплине.