Блог Александра Башкирова

ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
Этот сайт в основном посвящен тому, что мне интересно вне работы. Ведется в порядке хобби.
Все изложенное на сайте - мое частное оценочное мнение и не может быть истолковано иначе.
Со всеми вытекающими из этого последствиями.

Проблема с кешированием NTFS диска в Linux

Просмотров: 5349Комментарии: 5
Linux

Как всегда, все началось с сугубо практической вещи. А именно с того, что перед устновкой системы я решил скопировать "хомяк" на внешний винт. Воткнул винт, он автоподмонтировался... начал копировнаие. Где-то на 25% винт "уснул". Такое впечатление, что запись на него не велась. Интересное кино... ну ладно, переткнул винут, продолжил. Ага. та же картина. Только после переподключения отказался монтироваться, вывалив ошибку:

Error mounting /dev/sdb1 at /media/alexander/DriveS: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdb1" "/media/alexander/DriveS"' exited with non-zero exit status 13: $MFTMirr does not match $MFT (record 0). Failed to mount '/dev/sdb1': Input/output error NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory, (e.g. /dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation for more details.

В общем, картина Репина "приплыли" и "такого я еще не видел". И мысль - "интересно, я его совсем того... или нет?"

В общем, порылся в интернет, оказалось - я совсем не одинок. Решается достаточно просто.

Сначала ставим ntfsprogs: sudo apt-get install ntfsprogs

(в Минте оно уже стоит)

Затем запускаем:

~$ sudo ntfsfix /dev/sdb1
Mounting volume... FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 0...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.

Собственно, все. После этого монтирование проходит. Проверяем:

sudo mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sdb1" "/media/alexander/DriveS"

(рецепт отсюда, кстати: http://wmarkito.wordpress.com/2010/12/29/how-to-fix-mftmirr-does-not-match-mft-record-0/)

Так, локально победили. Теперь глобально. Ошибка происходит из-за того, что включено кеширование записи на диск. И в какой-то момент система сходит с ума отоого, что считает, что записывает со скоростью 80Мбит, а реальная скоро 5..6.

Лечится просто, отключением кеширования:

sudo nano /etc/hdparm.conf

и там прописываем:

/dev/sdb {
        write_cache = off
}
/dev/sdc {
        write_cache = off
}

(у меня был файл весь закомментированный, но проверить, что выше нет подобных раскомменированных строк - хорошая идея).

Рецепт отсюда: http://askubuntu.com/questions/407784/usb-memory-stick-is-broken-after-files-are-copied

В общем, такие вот дела.

Комментариев: 5 RSS

1 GeorgeFist 06-09-2015 23:47

У меня в похожей ситуации ваш рецепт не помог.

~ $ sudo ntfsfix /dev/sdb1

[sudo] password for george:

Failed to determine whether /dev/sdb1 is mounted: No such file or directory

Mounting volume... Failed to access '/dev/sdb1': No such file or directory

Error opening '/dev/sdb1': No such file or directory

FAILED

Attempting to correct errors... Failed to access '/dev/sdb1': No such file or directory

Error opening '/dev/sdb1': No such file or directory

FAILED

Failed to startup volume: No such file or directory

Failed to access '/dev/sdb1': No such file or directory

Error opening '/dev/sdb1': No such file or directory

Volume is corrupt. You should run chkdsk.

Может что-то посоветуете?

2 Alexander Bashkirov 07-09-2015 07:15

Проверьте, что у Вас ntfs диск подмонтирован как /dev/sdb1 - судя по Вашему выводу, он подмонтирован в другую точку монтирования.

3 Аноним 07-09-2015 20:43

Знания и опыт, уверенно побеждают самоуверенность и невежество.

Вы совершенно правы.

Нужно было

sudo ntfsfix /dev/sdс1 делать

Особенности файловой системы линукс сходу в голове не укладываются, всетаки нужно уделить этому внимание.

СПАСИБО вам огромное.

Вы человечище

4 Аноним 02-03-2016 20:51

И снова здравствуйте подскажите, а что делать в такой ситуации:

Флешка не монтируется в Линукс минт автоматически. Если руками в терминале, то:

$ sudo mount /dev/sdb /mnt/

mount: блочное устройство /dev/sdb защищен от записи, монтируется только для чтения

А хотелось бы полноценный доступ иметь можно ли получить доступ к хранящимся на флешке данным

при этом

$ lsusb

Bus 001 Device 007: ID 13fe:3e00 Kingston Technology Company Inc. Flash Drive

$ sudo fdisk -l

Диск /dev/sdb: 31.0 Гб, 30992891904 байт

64 головок, 32 секторов/треков, 29557 цилиндров, всего 60532992 секторов

Units = секторы of 1 * 512 = 512 bytes

Размер сектора (логического/физического): 512 байт / 512 байт

I/O size (minimum/optimal): 512 bytes / 512 bytes

Идентификатор диска: 0x5959a0d3

Устр-во Загр Начало Конец Блоки Id Система

/dev/sdb1 * 0 2596863 1298432 17 Скрытый HPFS/NTFS

Диск /dev/sdb1: 1329 МБ, 1329594368 байт

64 головок, 32 секторов/треков, 1268 цилиндров, всего 2596864 секторов

Units = секторы of 1 * 512 = 512 bytes

Размер сектора (логического/физического): 512 байт / 512 байт

I/O size (minimum/optimal): 512 bytes / 512 bytes

Идентификатор диска: 0x5959a0d3

Заранее благодарю

5 Alexander Bashkirov 12-03-2016 22:05

Извините, что долго не отвечал - был в отъезде, система проталкивала только заранее написанные посты...

Итак,

1) проверьте, что у Вас установлен ntfs-3g

2) если проблема не уходит, то через gparted переразметить флешку, и отформатировать ее (бывает, что на некоторых флешках разделы "едут")

если не поможет - пишите, будем думать.

Оставьте комментарий!


Комментарий будет опубликован после проверки

     

  

(обязательно)