Все говорят, что не надо делать fsck
на диск без umount
, потому что это приведет к повреждению файловой системы. На самом деле я попытался fsck смонтированного диска, и файловая система повреждена.
Это было несколько лет назад, когда я мало знал о Linux. Но после всех этих лет я до сих пор не знаю, что произошло при выполнении fsck и почему эта операция повредит файловую систему при подключении диска.
Жду подробных объяснений :-)
Дизайн программирования fsck предполагает, что программа - единственное, что имеет доступ к файловой системе. Когда файловая система смонтирована, она, несомненно, постоянно изменяется, что нарушает предположения проекта fsck.
fsck выполняет свою работу за несколько проходов, fsck должен будет прочитать и сопоставить большой объем материалов, касающихся структурной целостности файловой системы, если файловая система изменяется, структурные данные изменяются, а fsck не является динамическим и не будет отслеживать эти изменения. Он будет делать «предложения» относительно того, что исправить, основываясь на своем анализе на этом проходе, не зная, что структурные данные изменились. Эти изменения могли быть совершенно неправильными! После этого Fsck сгенерирует поврежденную файловую систему.