LINUX.ORG.RU

Перестал монтироваться NTFS-раздел после обновления ядра

 


3

3

Linux manjaro (arch).

Обновилось ядро до версии 6.17.5-2-rt7-MANJARO (было 6.16) - и перестал монтироваться NTFS-раздел с помощью драйвера ntfs3.

kernel: ntfs3(sdb2): Mark volume as dirty due to NTFS errors
kernel: ntfs3(sdb2): Failed to load $BadClus (-22).
mount: /run/media/pelewin/HDD_DATA: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error.

Сначала я подумал, что просто выставлен «dirty bit» у NTFS, перезагрузился в Windows, выполнил chkdsk (ошибок не нашло), перезагрузился в linux - то же самое.

Перезагружался уже много раз, выполнял chkdsk много раз - всегда одно и то же. В винде никаких проблем с этим разделом не наблюдается. С помощью ntfs-3g, кстати, тоже монтируется. С помощью ntfs3 - нет (а мне бы хотелось, как и раньше, оставить ntfs3).

Это что-то поломали в ядре или всё же что-то с моей ФС?


Ответ на: комментарий от Pinkbyte

По ссылке точно моя проблема, но, к сожалению, решения нет и там.

Можно отказаться от ntfs3 в пользу ntfs-3g (что я пока и сделал, за неимением лучшего). Можно совсем отказаться от файловой системы NTFS, но в чём причина этой странности - непонятно.

А странности, если обобщить, следующие:

  • один из NTFS разделов недавно перестал монтироваться с помощью ntfs3, хотя несколько лет монтировался без проблем
  • изменения вроде как не связаны с самой последней версией ядра, потому что наблюдаются, как минимум, на нескольких версиях (6.12, 6.16, 6.17)
  • другой NTFS раздел прекрасно монтируется, как теперь, так и раньше
  • под windows никаких ошибок нет
PeleWin
() автор топика
Ответ на: комментарий от PeleWin

Если точно уверен, что ошибок нет - пройдись с помощью ntfsfix/ntfsrecover. Только учти, что эти утилиты могут тебе и упороть диск(по крайней мере раньше такое предупреждение было в man, сейчас что-то не вижу, возможно мои сведения устарели), потому пользуйся ими на свой страх и риск.

Pinkbyte ★★★★★
()

Ура, ребята! Исправил! Правду сказать - причину не выяснил, но кое-что стало понятно:

  • проблема в самой NTFS, была какая-то небольшая проблема, которую виндовый chkdsk даже проблемой не считал и не устранял
  • проблема была связана со служебным файлом NTFS, называемом $BadClus и хранящем список сбойных секторов (при этом список - пустой, сбойных секторов нет).

Нашёл в интернете инструкцию, как сбросить (удалить) список сбойных секторов NTFS. Проверил с помощью ntfsinfo -i 8 /dev/sdb2 (inode 8 - это и есть как раз $BadClus) и увидел, что список пустой. Тем не менее, решил его, по инструкцию всё равно сбросить. Это делается так:

ntfsinfo -i 8 <partition>
записываем на бумажку строчку после Dumping attribute $Data (0x80)... в самом конце Allocated size
ntfstruncate <partition> 8 0x80 '$Bad' 0 //обнуляем атрибут 'Bad'
ntfstruncate <partition> 8 0x80 '$Bad' <Allocated size> //восстанавливаем атрибут 'Bad'
грузимся в windows и запускаем проверку диска, т.к. ntfstruncate оставляет после себя ошибки.

Теперь раздел монтируется с помощью ntfs3, как и раньше, без проблем.

Я ещё проверил, что изменилось в файле $BadClus, выполнил ещё раз, уже после восстановления и chkdsk команду ntfsinfo -i 8 /dev/sdb2, но глазом различий не увидел. Только показалось, что размер файла $BadClus увеличился на несколько байт. Когда не монтировалось, размер был вроде бы 376 байт, а теперь - 384, «круглое» число в шестнадцатиричной системе счисления.

PeleWin
() автор топика

https://forum.manjaro.org/t/polkit-auth-broken-after-update-pidfd-not-supported-on-kernel-5-15/184592

In my case, just fixing the polkit-agent-helper SUID permissions wasn’t enough. I did it with:

sudo chmod 4755 /usr/lib/polkit-1/polkit-agent-helper-1

But I also had to mask the polkit-agent-helper socket:

sudo systemctl stop polkit-agent-helper.socket

sudo systemctl mask polkit-agent-helper.socket

Otherwise, the problem persists.

anonymous
()