Можно ли установить размер логического сектора жесткого диска USB?


5

У меня два предположительно идентичных 3-ТБ жестких диска Western Digital USB. Один содержит почти полные 3 ТБ данных. Я хочу, чтобы другой был резервной копией этих данных. Есть много маленьких файлов, поэтому работа cpбудет даже медленнее, чем копирование 3 ТБ через USB dd. Оба драйвера были куплены одновременно, оба используют таблицу разделов msdos, но один показывает размер логического / физического сектора 4096/4096, а другой показывает 512/4096.

Моя проблема в том, что я пытаюсь скопировать на диск 512/4096, но не могу создать достаточно большой раздел из-за ограничений таблицы разделов msdos с 512 байтовыми (логическими) секторами. Я пробовал различные команды ( ddиз первых секторов разделить таблицу parted, fdisk, GParted, Windows XP «Управление» и для Windows 7 «Управление») , но в конечном итоге либо ограничений максимум 2TB или ~ перегородки , которые думали , 300 ГБ они были 3TB , когда они были созданы.

Учитывая, что один из моих дисков работает на 4096/4096, тогда этот вопрос не подходит для моего случая.

Использование GPT - это мой запасной вариант, но он создает раздел, который немного меньше, чем раздел NTFS, поэтому я не смогу использовать только ddфайловую систему в этом разделе.

Есть ли способ заставить 4096/4096 для таблицы разделов msdos (из Linux или Windows), чтобы я мог создать раздел размером 3 ТБ, который идеально соответствует моему исходному диску?


Не могли бы вы использовать программное обеспечение для простого дублирования всего диска сектор за сектором? Я знаю, что у Acronis и CloneZilla есть эта способность.
Ramhound

1
Почему вы не можете создать раздел FAT32 с размером сектора больше 512? Вот что ограничивает размер тома. Максимальный размер тома FAT32 варьируется от 2 ТБ для сектора размером от 512 байт до 16 ТБ для размера сектора 4096 байт.
Мартино

@Ramhound - я использовал dd if=/dev/sdb of=/dev/sdc, это команда Linux, которая делает посекторное копирование всего устройства (не только раздела), но раздел на втором устройстве имеет размер ~ 300 ГБ, несмотря на то, что является идеальной копией. ddэто один из вариантов «последней канавы» Клонезиллы, когда он не может сделать что-нибудь более умное.
IBBoard

@martineau: Я использую NTFS, потому что это был исходный раздел. Я смонтировал диск в Win7, открыл «Управление», и если он находится в разделе «MBR» (который, по-видимому, первый диск), то даже Win7 не позволит мне создать раздел размером более 2 ТБ. При печати информации о диске в Linux с использованием fdisk(IIRC) значение «Размер сектора (логический / физический)» определенно отличается между устройствами, что приводит к порче разделов, которые я сделал.
IBBoard

У Western Digital есть бесплатные дисковые утилиты для разбиения их дисков - вы можете попробовать их использовать. Лично я использую Acronis Disk Director - коммерческую программу - для выполнения практически всех манипуляций с разделами.
Мартино

Ответы:


4

У меня просто была похожая проблема. У меня был накопитель Seagate 3TB USB Desktop Expansion, который я хотел перенести в свой ПК для более быстрого доступа (у меня был только USB 2.0 на ПК). Как только я это сделал, я не мог получить доступ к файловой системе. Возврат на контроллер USB на SATA заставил его снова работать. Сравнивая два, я обнаружил, что во внешнем случае (с использованием контроллера USB-SATA) диск имел размер логического / физического сектора 4096/4096, а при подключении к внутренней материнской плате SATA он имел размер логического / физического сектора 512/4096. Как и в случае с операционными запросами OP, размер логического сектора 4096 допускает разделение> 2TiB, но при размере сектора 512 мы получаем ограничение 2TiB. Я не хотел копировать что-то (медленно через USB) куда-то, перераспределять (GPT), переформатировать и копировать обратно, поэтому я продолжил. Моим окончательным решением для Linux было:

Удалите исходную таблицу разделов MBR, которая использует 4k секторов. Используйте gdisk (GPT-вариант fdisk), чтобы создать раздел, используя 512-байтовые сектора, охватывающие одну и ту же область. Это в основном сводилось к тому, чтобы взять секторы для начала / конца раздела в 4K-земле и умножить на 8. У меня действительно был один резерв на конце, поэтому я добавил туда еще 8 и пока все хорошо (e2fsck предупредил меня к этому.) e2fsk все еще работает, так что я не уверен на 100%, что я в безопасности, но в теории все хорошо, и я немного смонтировал файлы, и они выглядели хорошо.


Значит, инструменты Linux работают нормально и игнорируют лимит 2TiB? Интересно, но, к сожалению, мне понадобился жесткий диск для Windows, поэтому он должен был быть NTFS. Даже если Ext3 позволит вам пройти 2TiB, я подозреваю, что Windows расстроится или проигнорирует это.
IBBoard

1
Это таблица разделов GPT по сравнению с таблицей разделов MSDOS . Никто не упомянул файловые системы. Вы можете сделать преобразование из MSDOS / MBR в GPT, используя gdiskотносительно безопасно.
просто

Есть много других причин, по которым стоит перейти на GPT, даже если у вас есть диск размером менее 2 ТБ, среди которых главный показатель безопасности и резервирования. Вы можете прочитать эту прекрасную статью, ibm.com/developerworks/linux/library/l-gpt/index.html
MariusMatutiae

1
предел не относится к Linux или Windows. Это просто потому, что MBR не поддерживает диски размером более 2
ТБ

Я могу подтвердить, что этот подход работает. Это была моя таблица разделов после ночной rsync и после перемещения диска с адаптера USB-SATA на правильный разъем SATA (если вы сделаете суммы, вы заметите идеальный коэффициент 8). Я сначала попробовал несколько раз с частичным изображением дд, а затем я сделал решающий шаг. Скраб BTRFS был полностью доволен ценностями. Надеюсь, мне никогда не придется делать это снова, но это был дидактический момент.
Авио

1

Ваша проблема, вероятно, похожа на Как исправить MBR 512-байтового сектора на диске сектора 4096 байт? , Короче говоря, это ограничение микропрограммы корпуса USB из-за непонимания формата сектора 4K


Размер физического сектора - это собственный размер сектора жесткого диска, поэтому нет никакого способа «заставить» его изменить это значение, если только вы не найдете способ обновить прошивку диска и выполнить низкоуровневый формат.

Некоторые (старые) 4K жесткие диски могут поддерживать эмулированный секторный сектор 512 байт (называемый 512e, что и делает ваш 512/4096 накопитель), в котором физический размер по-прежнему равен 4K, но он сообщает, что имеет 512-байтовый сектор, который является логическим размер. Это означает, что разделы должны быть правильно выровнены по 4K, иначе производительность сильно пострадает. Технически это сообщаемое логическое значение может быть изменено некоторым программным обеспечением для конфигурирования диска или обновлением встроенного программного обеспечения, если производитель поддерживает.

Однако я не знаю ни о каком таком программном обеспечении. Если вы видите разные логические значения для одного и того же диска, то это потому, что старый контроллер диска во внешнем корпусе не понимает новый формат 512e или 4K. Это часто случается с жесткими дисками USB, как упомянуто в ответе Шейна Андерсона и:

На самом деле многие старые USB-корпуса даже не поддерживают диски емкостью более 2 ТБ.

Хуже того, некоторые корпуса делают обратное, комбинируя 512-байтовые сектора в 4K.

Сложность имеет значение в некоторых USB-дисках. Некоторые из этих корпусов делают обратное тому, что делает AF: они берут восемь секторов диска и объединяют их в один новый 4096-байтовый сектор. Я не уверен, в чем причина этого шага, но одно практическое преимущество заключается в том, что со старой системой разбиения MBR можно использовать диски размером более 2 ТБ. Одним из основных недостатков является то, что диск, разделенный на один из этих корпусов, нельзя использовать напрямую или в корпусе, который не выполняет этот тип перевода. Аналогично, диск, подготовленный без этого перевода, не может быть использован при переносе в такой корпус.

Как исправить MBR 512-байтового сектора на диске сектора 4096 байт?

Похожие проблемы:


Кроме того, вы не должны использовать dd для копирования дисков. Вместо этого используйте некоторые инструменты клонирования дисков, они будут достаточно умны, чтобы пропускать пустые кластеры, а также способны клонировать между дисками разных размеров.

Также нет «таблицы разделов DOS», кроме MBR и GPT (и некоторых других необычных форматов). К сожалению, gparted и многие инструменты Linux называют это "msdos", что неверно

С MBR вы можете адресовать только 2 32 сектора ( 2 ТБ с сектором 512 байт и 16 ТБ с сектором 4 КБ). Вот почему ваш привод 4096/4096 работает правильно. Я полагаю, что обходной путь Шейна Андерсона работает, но если это не так, единственный способ - использовать GPT. Фактически GPT рекомендуется, даже если у вас есть только один раздел, потому что он поддерживает контрольное суммирование и резервную таблицу разделов, что значительно снижает вероятность случайного повреждения / удаления.


1
Если нет способа заставить его, как это изменилось? В этом суть проблемы. На идентичном диске (производитель, модель и т. Д.) Отображаются сектора размером 4 тыс. Секторный диск 512b раньше сообщал правильный размер, но теперь сообщает о гораздо меньшем размере. / Что-то / изменилось, поэтому, если это не аппаратный сбой какого-либо промежуточного уровня, который подделал размер, тогда можно было бы изменить его обратно. Что касается таблицы разделов "msdos" - расскажите об этом GParted, потому что это то, что они дают вам в качестве опции. Я использовал dd, потому что диск был заполнен на 95%, поэтому приложения-призраки не будут намного эффективнее.
IBBoard

это не меняется. Это контроллер диска USB, который сообщает другое значение. Инструменты клонирования дисков могут быть не намного эффективнее, но они могут корректно обрабатывать разницу в размерах разделов . Смотрите мое редактирование
phuclv

Спасибо за изменения, @phuclv. Ссылка может быть релевантной, и неправильное выравнивание разделов могло привести к изменению размеров секторов, о которых сообщалось, но я не думаю, что другие изменения могли бы решить мою конкретную проблему (диски давно исчезли, поэтому я не могу проверить). Моя проблема была в двух предположительно идентичных дисках, оба на USB, а не в двух дисках (где вы могли бы ожидать смены прошивки).
IBBoard

-2
  1. Сектор:

    1) Логический сектор: называется Native Sector.

    Заводская настройка по умолчанию. пользователь не может измениться.

    До 2010 года: 512b / сектор

    После 2010 года: 4к / сектор.

    Некоторые производители предоставляют HDD инструмент для изменения родного сектора.

    2) Физический сектор: называемый кластер (окна FAT) или блок (Linux / Unix)

    Пользователь может изменить размер физического сектора 512b, 1k, ... с помощью инструмента форматирования или раздела. Физический сектор содержит один или несколько собственных секторов.

    (пример1: если у вас HDD 512b / собственный сектор: пользователь может установить 4K / физический сектор. Это означает, что 1 кластер = 4 собственных сектора)

    (пример 2: если у вас есть жесткий диск 4K / собственный сектор: пользователь может установить 4K / физический сектор. Этот кластер 1 меда = 1 собственный сектор)

    3) Файловая система работает только с физическим сектором (или блоком, или кластером).


Вы пропустили записать источник этой цитаты
andras.tim

Логический сектор почти всегда занимал 4 КБ, за исключением огромных дисков, использующих FAT16 / 32. Физический сектор - это не логический сектор, а размер физического сектора на диске, который ранее составлял 512 байт, но не 4 КБ на новых больших жестких дисках
phuclv
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.