У меня 4Тб внешний WD RED. Он был отформатирован как диск exFAT на компьютере с Windows 10. У меня нет проблем с чтением файлов как с оригинального компьютера с Windows 10, так и с MacBook Pro 2017 года (High Sierra).
На любом компьютере с Linux, который я использую (Ubuntu 16.10 x64 + Slackware 14.2), система никогда не обнаруживает диск как читаемый или монтируемый. Смущает, что если я стираю и форматирую диск на моей машине с Linux как exFAT, то ни машина с Windows 10, ни MacBook не могут ее прочитать, хотя оба устройства с Linux могут. Это заставляет меня подозревать, что реализация exfat-fuse не завершена ... хотя, по общему признанию, я не знаю достаточно, чтобы быть уверенным.
[Как примечание, я также стер + форматированный как exFAT от MacBook Pro, и машина Windows 10 все еще могла читать / писать. Никакая машина Linux не смогла.]
Вот что я исследовал до сих пор:
sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sdj 8:144 0 3.7T 0 disk
├─sdj1 8:145 0 6.4G 0 part
└─sdj2 8:146 0 7.3G 0 part
Обратите внимание на размеры файловой системы мусора, которые обнаруживает lsblk. Том отформатирован только с 1 разделом exFAT, охватывающим все 4 ТБ.
parted -l /dev/sdj
Error: /dev/sdj: unrecognised disk label
Model: WDC WD40 EZRZ-00GXCB0 (scsi)
Disk /dev/sdj: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:
parted по крайней мере достаточно честен, чтобы сказать, что понятия не имеет, с чем мы имеем дело. Он действительно определил модель, это WD красный 4 ТБ.
fdisk -l /dev/sdj
Disk /dev/sdj: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x3258a7ab
Device Boot Start End Sectors Size Id Type
/dev/sdj1 1 76805 76805 37.5M ee GPT
/dev/sdj2 77056 976754431 976677376 465.7G 7 HPFS/NTFS/exFAT
Вывод fdisk интересен, потому что он почти правильный. Он отображает один раздел как метаданные GPT. С другой стороны, он правильно находит идентификатор (0x07 == данные Microsoft ), но его размер неверен. Размер раздела составляет 4 ТБ, а не 465,7 ГБ.
Я проверил, что раздел действительно занимает 4 ТБ, написав 4 ТБ тестового контента из Windows, и успешно прочитал весь контент обратно из MacBook Pro.
Попытка подключить любое из обнаруженных устройств не работает:
sudo mount.exfat-fuse -d /dev/sdj1 /mnt/foobar
FUSE exfat 1.2.4
ERROR: exFAT file system is not found.
sudo mount.exfat-fuse -d /dev/sdj2 /mnt/foobar
FUSE exfat 1.2.4
ERROR: exFAT file system is not found.
Даже в режиме отладки exfat-fuse не выводит никакой полезной информации. Глядя на источник, он проваливается очень рано, сразу после прочтения суперблока.
Я взглянул на первые 1 МБ данных на устройстве с hexdump, и это выглядит нормально, без явного мусора. (Pastebin: https://pastebin.com/BVLWW3kf )
Какие-нибудь дополнительные шаги отладки я должен попробовать? Есть идеи о том, что здесь происходит?
Редактировать:
Используя gdisk
, похоже, что диск имеет гибридный MBR+GPT. Однако gdisk обнаруживает GPT как недействительный:
sudo gdisk /dev/sdj
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************