Почему fsck.vfat выдает ошибку "Содержит свободный кластер (8). Предполагается EOF."?

Почему fsck.vfat выдает ошибку "Содержит свободный кластер (8). Предполагается EOF."?
Почему fsck.vfat выдает ошибку "Содержит свободный кластер (8). Предполагается EOF."? - cameraoverboard @ Unsplash

Я сталкиваюсь со странной ситуацией, когда смонтированный том VeraCrypt монтируется и становится доступным только для чтения на Tails.

Запуск fsck.vfat выявляет ошибку кластера с папкой под названием "Monero".

Пытаюсь отладить ошибку... вы случайно не знаете, что происходит?

Спасибо за помощь!

$ sudo fsck.vfat -r /dev/mapper/veracrypt1
[sudo] password for amnesia:
fsck.fat 4.1 (2017-01-24)
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
/Monero/Donations/Donations
  Contains a free cluster (8). Assuming EOF.
/Monero/Donations/Donations
  File size is 4448713 bytes, cluster chain length is 0 bytes.
  Truncating file to 0 bytes.
Reclaimed 4889 unused clusters (5006336 bytes).
Perform changes ? (y/n) n
/dev/mapper/veracrypt1: 22 files, 104/50728 clusters

В файловой системе VFAT есть таблица FAT (File allocation table), которая указывает для каждого кластера (группы из нескольких блоков) диска :

  • свободен ли кластер или нет;
  • когда кластер принадлежит файлу, который является следующим кластером.

Здесь у вас есть файл, который объявлен размером 4448713 байт, и первый кластер которого является 8-м согласно информации из каталога, к которому он принадлежит. Однако FAT указывает, что кластер 8 свободен, что противоречиво. Тогда fsck.vfat предлагает усечь файл до размера 0, что снова делает файловую систему согласованной.

Подобное поведение обычно наблюдается при физическом извлечении флэш-накопителя, когда Windows что-то на нем записывает: он успел обновить каталог, но не FAT.


NevaDev, 8 февраля 2023 г., 04:36