Не удается прочитать таблицу разделов USB-диска объемом 3 ТБ - proUbuntu
2 голосов
/ 25 августа 2013

Я подключил диск объемом 3 ТБ через SATA, отформатировал его с помощью таблицы разделов GPT и добавил один раздел.

Теперь, после перемещения диска во внешний корпус и подключения его через USB, таблица разделов не будет обнаружена.

scsi 6:0:0:0: Direct-Access     WDC WD30 EFRX-68AX9N0     80.0 PQ: 0 ANSI: 5
sd 6:0:0:0: Attached scsi generic sg3 type 0
sd 6:0:0:0: [sdc] 732566646 4096-byte logical blocks: (3.00 TB/2.72 TiB)
sd 6:0:0:0: [sdc] Write Protect is off
sd 6:0:0:0: [sdc] Mode Sense: 43 00 00 00
sd 6:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sd 6:0:0:0: [sdc] 732566646 4096-byte logical blocks: (3.00 TB/2.72 TiB)
  sdc: unknown partition table
sd 6:0:0:0: [sdc] 732566646 4096-byte logical blocks: (3.00 TB/2.72 TiB)
sd 6:0:0:0: [sdc] Attached SCSI disk

Он будет работать с использованием соединения eSATA от внешнего корпуса. Но не у всех есть порт eSATA, поэтому мне тоже нужна поддержка USB.

Я пробовал разные версии Ubuntu и Kernel (12.04 с 3.2.0-52, 13.04 с 3.8.0-29, 13.04 с 3.9.0)

Ubuntu должен поддерживать 3 ТБ через USB, не так ли?

EDIT: Вот журнал когда я подключаю диск через eSATA / SATA

scsi 5:0:0:0: Direct-Access     ATA      WDC WD30EFRX-68A 80.0 PQ: 0 ANSI: 5
sd 5:0:0:0: Attached scsi generic sg2 type 0
sd 5:0:0:0: [sdc] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
sd 5:0:0:0: [sdc] 4096-byte physical blocks
sd 5:0:0:0: [sdc] Write Protect is off
sd 5:0:0:0: [sdc] Mode Sense: 00 3a 00 00
sd 5:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  sdc: sdc1
sd 5:0:0:0: [sdc] Attached SCSI disk

1 Ответ

3 голосов
/ 25 августа 2013

Проблема в этом, из вашего поста:

sd 6:0:0:0: [sdc] 732566646 4096-byte logical blocks: (3.00 TB/2.72 TiB)

При подключении вашего диска через USB корпус переводит свои 512-байтовые логические блоки в 4096-байтовые логические блоки. Это полностью портит таблицу разделов, созданную при внутреннем использовании диска (или через порт eSATA). Подобные переводы делают диск пригодным для использования со старой системой разбиения MBR, и поэтому довольно распространены на внешних дисках. В этом случае, тем не менее, это фактически ошибка. ИМХО, любой перевод, примененный приложением к интерфейсу USB, но не к интерфейсу eSATA, является ошибкой, поскольку он блокирует использование диска интерфейсом, который использовался для разбиения диска. (Обратите внимание, что переключение с GPT на MBR не поможет, поскольку оба типа таблиц разделов определяют разделы по значениям секторов, которые не совпадают между типами интерфейса.) Обратите внимание, что это проблема с микропрограммой корпуса, а не в Linux.

Возможно, вы захотите проверить документацию (включая все, что вы можете найти у производителя корпуса онлайн) для получения информации об отключении этой функции. Если вам повезет, будет DIP-переключатель или какой-либо способ перепрограммирования интерфейса USB с вашего компьютера, чтобы отключить этот перевод.

Если это не помогло, лучшим вариантом, учитывая ваши потребности, является замена корпуса на тот, который не выполняет этот перевод, или который применяет его ко всем интерфейсам. (Однако я не уверен, что технически возможно применить такой перевод к порту eSATA.) Это можно сделать, вернув корпус в хранилище или, возможно, поменяв диск другим корпусом. Если вам повезет, корпус будет применять это правило только к дискам размером более 2 ТБ, поэтому замена дисков на внешний диск меньшего размера может решить проблему. Однако будьте осторожны: некоторые USB-корпуса вообще не могут работать с дисками объемом более 2 ТБ, так что вы можете только усугубить ситуацию.

Если вы не можете заменить корпус, вам просто придется с этим разобраться - решите, хотите ли вы использовать USB или eSATA, наденьте поверх того, который вы не хотите использовать, и живите с ним , Если вы используете USB, вам нужно будет стереть таблицу разделов и переразбить диск.

...