Я хочу перечислить и удалить содержимое каталога на съемном жестком диске. Но я испытал «Ошибка ввода / вывода»:
$ rm pic -R
rm: cannot remove `pic/60.jpg': Input/output error
rm: cannot remove `pic/006.jpg': Input/output error
rm: cannot remove `pic/008.jpg': Input/output error
rm: cannot remove `pic/011.jpg': Input/output error
$ ls -la pic
ls: cannot access pic/60.jpg: Input/output error
-????????? ? ? ? ? ? 006.jpg
-????????? ? ? ? ? ? 006.jpg
-????????? ? ? ? ? ? 011.jpg
Мне было интересно, в чем проблема?
Как я могу восстановить или удалить каталог pic
и все его содержимое?
Моя ОС - Ubuntu 12.04, а съемный жесткий диск имеет файловую систему ntfs. Другие каталоги, не содержащие или не находящиеся pic
на съемном жестком диске, работают нормально.
Добавлено:
Последняя часть вывода dmesg
после того, как я попытался перечислить содержимое каталога:
[19000.712070] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[19000.853167] usb-storage 1-1:1.0: Quirks match for vid 05e3 pid 0702: 520
[19000.853195] scsi5 : usb-storage 1-1:1.0
[19001.856687] scsi 5:0:0:0: Direct-Access ST316002 1A 0811 PQ: 0 ANSI: 0
[19001.858821] sd 5:0:0:0: Attached scsi generic sg2 type 0
[19001.861733] sd 5:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19001.862969] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.865223] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.865232] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.867597] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.869214] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.869218] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.891946] sdb: sdb1
[19001.894713] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.895950] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.895953] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.895958] sd 5:0:0:0: [sdb] Attached SCSI disk
[19113.024123] usb 2-1: new high-speed USB device number 3 using ehci_hcd
[19113.218157] scsi6 : usb-storage 2-1:1.0
[19114.232249] scsi 6:0:0:0: Direct-Access USB 2.0 Storage Device 0100 PQ: 0 ANSI: 0 CCS
[19114.233992] sd 6:0:0:0: Attached scsi generic sg3 type 0
[19114.242547] sd 6:0:0:0: [sdc] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19114.243144] sd 6:0:0:0: [sdc] Write Protect is off
[19114.243154] sd 6:0:0:0: [sdc] Mode Sense: 08 00 00 00
[19114.243770] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.243778] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.252797] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.252807] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.280407] sdc: sdc1 < sdc5 >
[19114.289774] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.289779] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.289783] sd 6:0:0:0: [sdc] Attached SCSI disk
Ответы:
Ошибки ввода / вывода при попытках доступа к файловой системе обычно означают аппаратные проблемы.
Введите
dmesg
и проверьте последние несколько строк вывода. Если диск или подключение к нему не удается, это будет отмечено там.РЕДАКТИРОВАТЬ Вы монтируете его через
ntfs
илиntfs-3g
? Насколько я помню, устаревшийntfs
драйвер не имел поддержки стабильной записи и был в основном заброшен, когда оказалось, чтоntfs-3g
он значительно более стабилен и безопасен.источник
ntfs-3g
?mount
команду и глядя на вывод.dmesg
после того, как попытался составить список содержимого каталога. Я не знаю, как это помогает. (2) Я не могу увидеть, смонтирован ли он с помощью nfts-3g или ntfs, посмотрев на выводmount
:/dev/sdb1 on /media/removable_drive type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
fuseblk
означает, что он использует методfuser
файловая система в пользовательском пространстве, что иntfs-3g
используется. Так что ты хорош в этом отношении.Как утверждает Садхур, это, вероятно, вызвано аппаратными проблемами на диске, и
dmesg
выходной файл - правильное место, чтобы проверить это.Вы можете выполнить сканирование поверхности вашего диска из Linux
/sbin/badblocks /dev/sda
.Проверьте страницу руководства для более тщательного тестирования основных исправлений (перемещение блоков). Все это не зависит от файловой системы, поэтому является безопасным даже для файловой системы NTFS, поскольку работает на уровне «поверхности диска».
Я лично сделал это для запуска ежемесячно от cron. Конечно, вам нужно проверить, получаете ли вы письма cron в своем почтовом ящике (что по умолчанию часто не так). Эти письма заканчиваются
/var/mail/$USER
или похожи.Я создал
/etc/cron.d/badblocks
:источник
/sbin/badblocks /media/removable_drive
в моем случае?/sbin/badblocks /dev/sdb
или sdc. Я действительно не могу понять, что случилось / вы сделалиdmesg
/dev/sd{x}
диск сfdisk -l
командойВаша файловая система повреждена, для томов NTFS вы должны запустить систему
chkdsk
под Windows, но восстановить ее практически невозможно. Иногда вам может понадобиться отформатировать диск.источник
badblocks
комманду в Linux.Решение, которое работает для меня, - понизить
ntfs-3g
версию с выпуска 2014 года до выпуска 2012 года. Это должно решить вашу проблему с доступом к разделу NTFS. В долгосрочной перспективе это не решение, потому что в конечном итоге вам потребуется запустить последнюю версию.Больше информации здесь
источник
Я просто хотел добавить свое решение в эту ветку для блага других - я выполнил некоторую работу в своей системе, когда у меня вышел из строя источник питания - я, должно быть, переподключил кабели SATA в неправильном порядке, так как когда я их переключал, все работало снова - в любом случае, не знаю, почему загрузочный диск должен находиться на определенном порте SATA, может быть ответом для кого-то другого.
источник
Никто не упомянул, что делать, если инструменты Linux не работают и доступен только Mac, но не Windows.
Может быть исправлено в OS X с Paragon NTFS
В моем случае
gparted
сказали пойти найти ПК с Windows, который нигде не было найдено. Но рядом был Mac, для которого доступно это замечательное программное обеспечение. Установил пробную версию, выполнил проверку , затем чинил - и вуаля!источник
Я просто хотел поделиться своим опытом: во FreeBSD 10.3 я подключил свой внешний жесткий диск с
Внутри жесткого диска я
mkdir
создал папку, а затем переместил в нее несколько файлов, конечно, с помощьюmv
команды. Наконец я выполнил следующую команду:Затем я смонтировал жесткий диск на машине Linux с ядром 4.4.0-78-generic. Теперь, когда я перечисляю содержимое жесткого диска, каталог, созданный во FreeBSD, назван
Jeff
, как показано ниже:Также при попытке удалить
Jeff
каталог я получаю следующее сообщение об ошибке:Я не смог избавиться от
Jeff
каталога на машине с Linux, поэтому я использовал машину с FreeBSD и снова смонтировал жесткий диск на FreeBSD. Ноls
,cd
иrm
команды на FreeBSD генерировать то же самоеInput/output error
. Похоже, вntfs-3g
пакете FreeBSD была ошибка .ОБНОВИТЬ
Я перенес все свои данные с внешнего жесткого диска на компьютер с Linux, конечно, поврежденный файл
Jeff
не мог быть перемещен из-за ошибки ввода-вывода. Затем я переформатировал внешний жесткий диск с обнулением тома и проверкой сбойного сектора следующим образом:А затем переместил все данные обратно на внешний том. Таким образом, я потерял поврежденный файл с именем
Jeff
, однако мой внешний жесткий диск очищен от любых ошибок ввода-вывода.источник
Я объявил, что когда я пытаюсь получить доступ к диску, на котором возникла эта ошибка, он пытался записать последние скопированные файлы, которые были перезаписаны в последний файл, а затем попытка доступа не удалась, потому что уже записанная запись не совпадает с последними скопированными элементами, поэтому происходит сбой. Самый здоровый способ спасти диск - удалить последний элемент или элементы, скопированные в Windows.
источник