Вопрос или проблема
У меня проблема, когда я хочу синхронизировать папки с моего внешнего резервного жесткого диска на мой NAS.
Я получаю эту ошибку:
ошибки чтения маппинга доступ запрещен (13)
У меня есть права root; если я хочу изменить права пользователя через chmod, ничего не меняется. С Windows владелец изменяется, но копирование не работает.
Тесты S.M.A.R.T в порядке.
Тесты ntfsfix не выдают ошибок.
Я пытался сделать chkdsk из Windows без результатов.
У вас есть идеи по ремонту или трюки для восстановления моих файлов?
У меня похожая проблема, и я выявил потенциальную причину. Короче говоря, я считаю, что это вызвано повреждением исходных данных, так как я с тех пор доказал, что другие команды копирования (cp
) и базовое чтение файлов (less
) выдают ошибки чтения. Я не пытался выявить/исправить ошибки файловой системы.
Я пытаюсь дублировать содержимое одного (большого внутреннего RAID) раздела на (менькую) USB флешку, которая имеет достаточно места для всех данных. Оба отформатированы в ntfs (я решаю проблему, связанную с тем, что Windows 10 неожиданно не поддерживает мою RAID-карту). Я использую образ MintOS на USB-накопителе, а затем копирую файлы с помощью rsync -a Source/ Destination
.
Несколько файлов, все в одной директории, каждый раз генерируют ошибки, когда я запускаю команду. Самими файлами являются текстовый (.txt) файл, PDF (.pdf) файл и пять бинарных образов диска (.dsk).
Ошибки, которые появляются, похожи на эти:
rsync: ошибки чтения при маппинге "full_file_path": Доступ запрещен (13)
...
ОШИБКА: <папка>/<имя_файла> не прошел проверку -- обновление отменено.
...
Ошибка rsync: некоторые файлы/атрибуты не были переданы (см. предыдущие ошибки) (код 23) в main.c(1183) [отправитель=3.1.0]
Похоже, что первая запись, включая часть “Доступ запрещен (13)”, происходит дважды, что, как я полагаю, является попыткой rsync
скопировать файл два раза.
Если я попробую скопировать файлы с помощью cp
, я получаю следующие ошибки, при этом на Destination создаются файлы нулевого размера.
cp: ошибка чтения ‘path_to_Source_file’: Доступ запрещен
cp: не удалось расширить ‘path_to_Destination_file’: Доступ запрещен
Ответ или решение
Проблема с ошибкой "read errors mapping permission denied (13)" при использовании rsync для копирования данных с внешнего жесткого диска NTFS на NAS может быть вызвана несколькими факторами, включая проблемы с правами доступа, возможные повреждения файловой системы или самих файлов. Рассмотрим детали и возможные решения этой ситуации.
Анализ проблемы
-
Ошибка прав доступа: Несмотря на то, что вы обладаете правами root, это не всегда гарантирует доступ к файлам, если они принадлежат другому пользователю или если файловая система NTFS неправильно смонтирована. Ваша система могла некорректно определить права доступа из-за специфики NTFS, поэтому стоит проверить, как диск смонтирован.
-
Проблемы файловой системы: Если операция
chkdsk
в Windows не выявила ошибок, это не исключает возможность скрытых повреждений. Тем не менее, NTFS может содержать ошибки, которые невидимы для стандартных проверок. Порекомендуем воспользоваться инструментомntfsfix
, однако, в вашем случае он не выявил проблем. -
Чтение данных: Судя по вашему описанию, ошибка чтения возникает и при использовании команды
cp
, что указывает на то, что файлы могут быть повреждены или доступ к ним ограничен не только для rsync, но и для других команд.
Рекомендации по исправлению
-
Проверьте точки монтирования: Убедитесь, что диск смонтирован с правильными опциями. Вы можете использовать команду:
mount | grep ntfs
Для монтирования с портированными правами в Linux:
sudo mount -o uid=1000,gid=1000 /dev/sdXY /mnt/point
Замените
uid
иgid
на ваши значения. -
Используйте
rsync
для отдельных файлов: Попробуйте скопировать файлы по одному, чтобы выйти за пределы проблемного файла. Например:rsync -a Source/file1.txt Destination/
Это поможет вам точно определить, какие файлы вызывают ошибку.
-
Создание резервной копии файлов: Если файлы повреждены, возможно, использование утилит для восстановления данных, таких как
TestDisk
илиPhotorec
, может помочь извлечь максимально возможное количество данных до попытки дальнейшего копирования. -
Проверьте физическое состояние диска: Поскольку S.M.A.R.T. тесты показывают нормальное состояние, используя более детальные инструменты, такие как
badblocks
, вы сможете выявить недоступные или испорченные сектора на диске. Команда:sudo badblocks -v /dev/sdX
Позволяет проверить наличие плохих секторов.
-
Копирование содержимого в виртуальной машине Windows: Если у вас есть возможность, попробуйте подключить жёсткий диск к системе Windows и использовать инструменты для резервного копирования для копирования данных.
Заключение
Решение проблемы с ошибкой "permission denied" при использовании rsync требует многостороннего подхода. Важно следовать методологии проверки прав доступа, состояния файловой системы и занятий с потенциально поврежденными файлами. Если после всех этих шагов проблема сохраняется, возможно, следует обратиться к специалистам в области восстановления данных или пользовательской поддержки, чтобы избежать потерь и повреждений данных.