Можно ли установить размер логического сектора жесткого диска USB?
У меня два предположительно идентичных 3-ТБ жестких диска Western Digital USB. Один содержит почти полные 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 ТБ, который идеально соответствует моему исходному диску?
5 ответов
У меня просто была похожая проблема. У меня был накопитель 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%, что я в безопасности, но в теории все хорошо, и я немного смонтировал файлы, и они выглядели хорошо.
Многие внешние USB-накопители Western Digital емкостью более 2 ТБ (включая, по крайней мере, некоторые накопители My Book, My Book Essential, Elements и Easystore) можно настроить либо для логических секторов размером 512 байт, либо для логических секторов размером 4096 байт с помощью инструмента WD Quick Formatter. При настройке для логических секторов размером 4096 байт мост USB-to-SATA в корпусе выполняет преобразование между логическими секторами размером 512 байт на интерфейсе SATA на внутренний диск и логическими секторами размером 4096 байт на интерфейсе USB на главный компьютер.
При логических секторах размером 512 байт таблица разделов MBR могла использовать только до 2 ТБ диска. Это связано с тем, что записи таблицы MBR имеют длину 32 бита и максимум 2 ^ 32 или 4 294 967 296 секторов. 2^32 сектора x 512 байт/сектор составляют 2 ТБ. Таблица разделов MBR с логическими секторами размером 4096 байт может использовать до 16 ТБ диска. (2^32 сектора x 4096 байт/сектор составляет 16 ТБ). Windows XP поддерживает только таблицы разделов MBR, поэтому логические секторы размером 4096 байт — единственный способ использовать все пространство на диске емкостью более 2 ТБ в Windows XP. Новый формат таблицы разделов GPT, поддерживаемый в Windows Vista и более поздних версиях, не имеет 32-битного ограничения и может поддерживать диски размером более 2 ТБ независимо от размера сектора.
Инструмент WD Quick Formatter (версия 2.0.0.65 доступна для загрузки на момент написания этой статьи) может включать или отключать преобразование размера сектора. Эта версия инструмента не работает корректно в Windows XP, поэтому я рекомендую запускать его в Windows 7 или более поздней версии. При запуске в Windows 7 или в более поздней версии Windows, но с режимом совместимости с Windows 7, инструмент отображает два варианта конфигурации на экране «Отформатируйте внешний диск 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)
Размер сектора соответствует исходному размеру жесткого диска, поэтому нет никакого способа "заставить" его изменить это значение. Некоторые старые 4K жесткие диски могут поддерживать эмулированный секторный сектор 512 байт, но для этого требуется правильное выравнивание разделов, иначе производительность будет значительно снижена.
Вы не должны использовать dd для копирования дисков. Вместо этого, используйте некоторые инструменты клонирования дисков, они будут достаточно умны, чтобы пропускать пустые кластеры, а также способны клонировать между дисками разных размеров. Кроме того, нет "таблицы разделов DOS", кроме MBR и GPT (и некоторых необычных форматов). С MBR вы можете адресовать только 232 сектора (2 ТБ с 512 байтами / сектор). Так что единственный способ - использовать GPT.
Да и нет.
Вы не можете изменить размер физического сектора, и несколько дисков позволят вам изменить размер сектора транспортного уровня, поэтому вы всегда будете записывать за один раз несколько 4K.
Однако размер логического сектора не имеет ничего общего с размером физического сектора, и операционная система может обрабатывать такие преобразования путем объединения операций записи.
Доступ к диску ВСЕГДА осуществляется по 4096 байт за раз. Тем не менее, драйвер блочного устройства любой современной операционной системы может преобразовывать размеры секторов, более известные в наши дни как размеры блоков, и, таким образом, размеры блоков разделов не обязательно должны соответствовать размеру блока базового устройства.
Вы можете легко использовать разделы с логическим сектором размером 4 КБ на устройстве с логическим сектором размером 512 байт или раздел с логическим сектором размером 512 байт на устройстве с логическим сектором 4 КБ.
Кроме того, логический сектор уровня раздела не обязательно должен соответствовать размеру блока сектора, используемого в файловой системе.
Linux и, соответственно, Android, используют размер блока (который является размером логических секторов на уровне файловой системы) 1024, 2048 или 4096 в ExtFS. (На дисках с 512-байтовым сектором он будет использовать несколько физических секторов для формирования логического блока).
В FAT32 DRDOS 6.x поддерживает диски большего размера с использованием логических секторов 8K, а Linux может использовать логические секторы еще большего размера. Это позволяет создавать разделы FAT32 гораздо большего размера.
Точно так же многие программы при управлении очень маленькими файловыми системами, содержащими большое количество невероятно маленьких файлов, использовали программы с размером логических секторов всего лишь 64 КБ.
Рекомендации:
Справочные страницы MSDOSTOOLS для Linux
Справочная страница Linux mke2fs
Страницы Википедии о FAT:
Сектор:
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) Файловая система работает только с физическим сектором (или блоком, или кластером).