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

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

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

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

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

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

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

решение1

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

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

решение2

Многие внешние USB-накопители Western Digital емкостью более 2 ТБ (включая, по крайней мере, некоторые накопители My Book, My Book Essential, Elements и Easystore) можно настроить либо для логических секторов размером 512 байт, либо для логических секторов размером 4096 байт с помощью инструмента WD Quick Formatter. При настройке на логические секторы размером 4096 байт мост USB-SATA в корпусе выполняет преобразование между логическими секторами размером 512 байт на интерфейсе SATA для внутреннего накопителя и логическими секторами размером 4096 байт на интерфейсе USB для хост-компьютера.

При размере логических секторов 512 байт таблица разделов MBR может использовать только до 2 ТБ диска. Это связано с тем, что записи таблицы MBR являются 32-битными с максимальным размером 2^32 или 4 294 967 296 секторов. 2^32 сектора x 512 байт/сектор составляет 2 ТБ. При размере логических секторов 4096 байт таблица разделов MBR может использовать до 16 ТБ диска. (2^32 сектора x 4096 байт/сектор составляет 16 ТБ) Windows XP поддерживает только таблицы разделов MBR, поэтому логические секторы 4096 байт являются единственным способом использовать все пространство на диске объемом более 2 ТБ в Windows XP. Более новый формат таблицы разделов GPT, поддерживаемый в Windows Vista и более поздних версиях, не имеет 32-битного ограничения и может поддерживать диски размером более 2 ТБ независимо от размера сектора.

TheИнструмент быстрого форматирования WD(версия 2.0.0.65 доступна для загрузки на момент написания статьи) может включать или отключать преобразование размера сектора. Эта версия инструмента некорректно работает в Windows XP, поэтому я рекомендую запускать инструмент в Windows 7 или более поздней версии. При запуске в Windows 7 или более поздней версии Windows, но с режимом совместимости с Windows 7, инструмент представит два варианта конфигурации на экране «Форматирование внешнего диска WD»:

Экран WD Quick Formatter «Отформатируйте внешний диск WD»

  • Совместимость с XP: этот параметр настраивает диск на логические секторы размером 4096 байт и создает таблицу разделов MBR.
  • Наиболее совместимый (требуется Vista или более поздняя версия): этот параметр настраивает диск для логических секторов размером 512 байт и создает таблицу разделов GPT.

Оба варианта также создают один раздел, заполняющий весь диск, и быстро форматируют его в NTFS.

Если вы запустите инструмент в Windows 8 или более поздней версии, не переведя его в режим совместимости с Windows 7, инструмент не отобразит параметр совместимости на экране форматирования и выполнит форматирование в «наиболее совместимом» режиме (логические сектора размером 512 байт).

WD Quick Formatter 2.0.0.65 не работает правильно в Windows XP: он успешно настраивает логические сектора размером 4096 байт, но не может правильно форматировать. Впоследствии для разбиения и форматирования диска можно использовать другой инструмент.

WD Quick Formatter 1.2.0.10 корректно работает в Windows XP, но больше не доступен для загрузки с сайта Western Digital.

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

Я могу подтвердить, что эти внешние USB-накопители Western Digital можно настроить для совместимости с XP:

  • Easystore 14 ТБ (WDBCKA0140HBK)

  • Easystore 12 ТБ (WDBCKA0120HBK)

  • Easystore 8 ТБ (WDBCKA0080HBK)

  • My Book Essential 1140, 3 ТБ (WDBACW0030HBK)

  • Элементы 1021, 3 ТБ (WDBAAU0030HBK)

решение3

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


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

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

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

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

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

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

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

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


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

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

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

решение4

Да и нет.

Изменить размер физического сектора невозможно, и лишь немногие накопители позволяют изменять размер сектора транспортного уровня, поэтому за один раз вы всегда будете записывать данные объемом, кратным 4 КБ.

Однако размер логического сектора не имеет ничего общего с размером физического сектора, и операционная система может обрабатывать такие преобразования, объединяя записи.

Диск ВСЕГДА будет доступен по 4096 байт за раз. При этом любой современный драйвер блочного устройства операционной системы может преобразовывать размеры секторов, более известные в наши дни как размеры блоков, и, таким образом, размеры блоков раздела не обязательно должны соответствовать размеру блока базового устройства.

Вы можете легко использовать логические разделы сектора размером 4 КБ на устройстве с логическим сектором размером 512 байт или логический раздел сектора размером 512 байт на устройстве с логическим сектором размером 4 КБ.

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

Linux и, соответственно, Android, используют размер блока (который представляет собой размер логического сектора на уровне файловой системы) 1024, 2048 или 4096 на ExtFS. (На дисках с секторами размером 512 байт он будет использовать несколько физических секторов для формирования логического блока).

На FAT32 DRDOS 6.x поддерживал диски большего размера, используя логические сектора размером 8 КБ, а Linux может использовать еще большие логические сектора. Это позволяет создавать гораздо большие разделы FAT32.

Аналогично, многие программы при управлении очень маленькими файловыми системами, содержащими большое количество невероятно маленьких файлов, использовали программы с размером логического сектора всего лишь 64 КБ.

Использованная литература:

Страницы руководства Linux MSDOSTOOLS

Страница руководства Linux mke2fs

Страницы Википедии о FAT:

https://en.wikipedia.org/wiki/Таблица_Распределения_Файлов

https://en.wikipedia.org/wiki/Проект_файловой_системы_FAT

Связанный контент