Вопрос или проблема
Моему начальнику нужны некоторые файлы со старого жесткого диска. У нас он подключен через адаптер PATA на USB.
dmesg
[1568641.572757] sd 4:0:0:0: [sdc] 12594960 512-байтных логических блоков: (6.44 GB/6.00 GiB)
[1568641.573263] sd 4:0:0:0: [sdc] Защита от записи отключена
[1568641.573272] sd 4:0:0:0: [sdc] Режим Sense: 00 38 00 00
[1568641.574935] sd 4:0:0:0: [sdc] Запрос данных кэша не удался
[1568641.574946] sd 4:0:0:0: [sdc] Предполагается кэширование: запись через
[1568641.654625] sd 4:0:0:0: [sdc] Подключен SCSI диск
fdisk -l
Диск /dev/sdc: 6448 MB, 6448619520 байт, 12594960 секторов
Единицы измерения = секторы по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x44c21828
Диск из системы SCO Unix, поэтому это либо sysv, либо HTFS (не HPFS). Я пытаюсь смонтировать его на ПК с Centos Linux.
Я скопировал весь диск с помощью dd в /var/tmp/scodisk. Я использовал strings и извлёк большой текстовый файл, который содержит много из того, что ему нужно, но с ним сложно работать.
Поддержка файловой системы sysv была удалена, поэтому я нашёл и скомпилировал драйвер HTFS.
sudo mount -t fuse ./htfs /mnt/scodisk
mount: /home/wsd/htfs-0.1.1/src/htfs на /mnt/scodisk тип fuse.htfs (rw,relatime,user_id=0,group_id=0)
sudo mount -t fuse ./htfs --source /dev/sdc --target /mnt/scodisk
/bin/sh: /dev/sdc: Отказано в доступе
sudo mount -t fuse ./htfs --source /var/tmp/scodisk --target /mnt/scodisk
/bin/sh: /var/tmp/scodisk: Отказано в доступе
cd /usr/sbin ln -s /home/wsd/htfs-0.1.1/src/htfs mount.htfs
lsblk --fs (нет UUID на строке sdc)
sudo mount -t fuse ./htfs /dev/sdc (sdc исчезает из fdisk -l)
Чего мне не хватает?
Ответ или решение
Чтобы подключить старый жесткий диск из системы SCO Unix к компьютеру с Linux, необходимо использовать правильный подход, учитывая специфические особенности файловой системы и оборудования. В вашем случае мы имеем дело с файловой системой HTFS или SYSV, подключенной через адаптер PATA-USB. Приведём детальный план действий для решения этой задачи.
Теория
Файловые системы SCO Unix, такие как HTFS (High Throughput File System), имеют свои особенности и не поддерживаются напрямую современными версиями ядра Linux. Для работы с ними требуется использование вспомогательных инструментов и драйверов. HTFS обладает иными механизмами уплотнения файлов и обработки метаданных по сравнению с более распространёнными ext4 или FAT, что делает невозможным её стандартное монтирование в Linux.
Пример
Вы уже предприняли несколько шагов для извлечения данных с диска, включая использование dd
для создания образа, компиляцию и использование драйвера для HTFS, а также попытки монтирования диска с помощью FUSE (Filesystem in Userspace). Проблемы с которыми вы столкнулись (такие как отказ в доступе и исчезновение диска после попытки монтирования), указывают на необходимость более детальной проработки конфигурации и прав доступа.
Применение
-
Проверка оборудования и прав доступа:
- Убедитесь, что адаптер PATA-USB корректно подключен и распознаётся системой. Используйте команды
lsusb
иdmesg
для диагностики. - Проверьте, что вы имеете необходимые права доступа для работы с устройствами. Возможно, требуется выполнение команд с правами суперпользователя (root).
- Убедитесь, что адаптер PATA-USB корректно подключен и распознаётся системой. Используйте команды
-
Создание образа диска (если ещё не сделано):
- Создание образа дало бы возможность работать с копией, исключая риск повреждения оригинального диска. Команда
dd if=/dev/sdc of=/var/tmp/scodisk.img bs=512
позволяет создать образ диска.
- Создание образа дало бы возможность работать с копией, исключая риск повреждения оригинального диска. Команда
-
Конфигурация и компиляция драйвера HTFS:
- Убедитесь, что драйвер HTFS корректно установлен и сконфигурирован. Проверьте путь и права доступа к исполняемым файлам драйвера.
- Возможно, стоит проверить совместимость версии ядра Linux с драйвером.
-
Монтирование диска через FUSE:
- Попробуйте использовать отладочный режим через FUSE:
sudo mount -t fuse ./htfs /dev/sdc /mnt/scodisk -o debug
чтобы выявить источник ошибки. - Убедитесь, что пути, указанные в команде монтирования, существуют и доступные. Проверьте права на директории
/mnt/scodisk
.
- Попробуйте использовать отладочный режим через FUSE:
-
Анализ и устранение ошибок:
- Посмотрите сообщения об ошибках в
dmesg
после неудачных попыток монтирования. - Использование
strace
может помочь отследить системные вызовы, делаемые вашим процессом монтирования, что позволит выявить точные причины отказа.
- Посмотрите сообщения об ошибках в
-
Альтернативные решения:
- Если проблема не решается, вы можете рассмотреть виртуализацию старой ОС SCO Unix и подключение образа диска к виртуальной машине. Это даст возможность использовать родную файловую систему ОС для доступа к данным.
-
Извлечение данных:
- Если по-прежнему не удается смонтировать диск, можно рассмотреть использование утилит восстановления данных, таких как
photorec
илиtestdisk
, которые способны восстанавливать файлы даже при отсутствии монтированного файлового пространства.
- Если по-прежнему не удается смонтировать диск, можно рассмотреть использование утилит восстановления данных, таких как
Следуя этим рекомендациям, вы увеличите вероятность успешного доступа к данным на старом диске. Работа с устаревшими системами всегда требует осторожности и терпения, особенно когда используемые технологии давно не поддерживаются.