Как всегда, все началось с сугубо практической вещи. А именно с того, что перед устновкой системы я решил скопировать "хомяк" на внешний винт. Воткнул винт, он автоподмонтировался... начал копировнаие. Где-то на 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
В общем, такие вот дела.