Montowanie NTFS w Dolphinie — błąd „volume is dirty" i naprawa `ntfsfix`
Klikam dysk NTFS w Dolphinie, a zamiast zamontować, dostaję błąd o „złym systemie plików" albo „bad superblock". Ręczny sudo mount -t ntfs-3g działa, ale nie o to chodzi — kiedyś klikanie w menedżerze plików po prostu działało. Ten artykuł tłumaczy, skąd się to bierze na Ubuntu/Kubuntu 24.04 +, jak jednym poleceniem naprawić dysk i jak zapobiec powtórkom.
Objaw
Kliknięcie dysku NTFS w Dolphinie kończy się komunikatem w stylu:
Próba uzyskania dostępu do 'My Book' zakończyła się błędem: Żądane działanie zakończone niepowodzeniem: Error mounting /dev/sda1 at /media/sarniak/My Book: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error.
Komunikat jest mylący — sugeruje brakujące oprogramowanie, choć problem jest zupełnie inny.
Prawdziwa przyczyna
Sprawdzenie logów jądra pokazuje właściwy powód:
journalctl -b | grep -iE "ntfs|sda1"
# lub: sudo dmesg | grep -i ntfs
ntfs3(sda1): It is recommened to use chkdsk.
ntfs3(sda1): volume is dirty and "force" flag is not set!
Partycja NTFS ma ustawioną flagę „dirty" — czyli system plików nie został czysto odmontowany. Typowe przyczyny:
- dysk odłączony bez „bezpiecznego usuwania" / „odmontuj",
- Windows zamknięty z włączonym Fast Startup (szybkie uruchamianie) lub uśpiony w hibernacji — zostawia NTFS w stanie dirty.
Dlaczego „kiedyś działało"
Ubuntu/Kubuntu 24.04 montuje NTFS przez udisks2 domyślnie sterownikiem jądra ntfs3. Ten sterownik odmawia montowania brudnej partycji, dopóki nie ustawi się flagi force. Wcześniej używany był ntfs-3g (FUSE), który był bardziej pobłażliwy i montował mimo dirty flag. Dlatego:
- ręczny
sudo mount -t ntfs-3g /dev/sda1 /mntnadal działa (omijantfs3), - ale klikanie w Dolphinie (które idzie przez
udisks2→ntfs3) się wywala.
To nie jest awaria dysku ani brak pakietów — udisks2, ntfs-3g i polkit mogą być w pełni sprawne.
Rozwiązanie (jednorazowe)
Wystarczy raz wyczyścić flagę „dirty". To jednorazowe sudo, a nie montowanie przez sudo za każdym razem — po tym zabiegu klikanie w Dolphinie znów działa normalnie.
Najpierw upewnij się, że dysk nie jest zamontowany (jeśli ntfs3 go odrzucił, to i tak nie jest). Następnie:
sudo ntfsfix -d /dev/sda1
Flaga -d (--clear-dirty) czyści flagę dirty, jeśli wolumin da się bezpiecznie zamontować.
Przykładowy output
sarniak@nyarlathotep:~$ sudo ntfsfix -d /dev/sda1
[sudo] hasło użytkownika sarniak:
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sda1 was processed successfully.
Po tym po prostu kliknij dysk w Dolphinie — zamontuje się bez problemu.
Jak znaleźć nazwę partycji (
/dev/sda1itd.):lsblk -f. KolumnaFSTYPEpokażentfs, aLABEL/UUIDpomoże zidentyfikować właściwy dysk.
Alternatywa: wymuszenie montowania przez ntfs3
Zamiast czyścić flagę, można zamontować z opcją force (montuje mimo dirty, read-write, ale bez sprawdzenia spójności — mniej bezpieczne):
sudo mount -t ntfs3 -o force /dev/sda1 /mnt/dysk
W praktyce ntfsfix -d jest czystsze, bo naprawia stan raz i przywraca normalne klikanie w Dolphinie.
Jak zapobiec powtórkom
- W Dolphinie zawsze używaj „Odmontuj" / „Bezpiecznie usuń" przed odłączeniem dysku.
- Jeśli tego samego dysku używasz też pod Windows: wyłącz Fast Startup
(Panel sterowania → Opcje zasilania → „Wybierz działanie przycisków zasilania" → odznacz „Włącz szybkie uruchamianie"). Fast Startup zostawia NTFS w stanie dirty/hibernacji przy każdym „wyłączeniu". - Nie wyrywaj dysku USB w trakcie zapisu ani zaraz po skopiowaniu plików — poczekaj na zakończenie odmontowania.
Szybka ściąga
| Krok | Polecenie |
|---|---|
| Zidentyfikuj partycję | lsblk -f |
| Sprawdź przyczynę w logach | journalctl -b \| grep -i ntfs |
| Wyczyść flagę dirty | sudo ntfsfix -d /dev/sdX# |
| Zamontuj | kliknięcie w Dolphinie (albo udisksctl mount -b /dev/sdX#) |
| Naprawa głębsza (Windows) | chkdsk X: /f |