Когда dd подходит для копирования данных? (или, когда частичные read () и write ()) указывают на важное предостережение при использовании count: ddможет копировать частичные блоки, поэтому при countналичии он останавливается после заданного количества блоков, даже если некоторые из блоков были неполными. Таким образом, вы можете получить меньше bs * countкопируемых байтов, если вы не укажете iflag=fullblock.
Размер блока по умолчанию для dd составляет 512 байт. countэто предел; как подсказывает ваш вопрос, это не требуется при копировании устройства конечного размера и действительно предназначено для копирования только части устройства.
Я думаю, что здесь есть два аспекта: производительность и восстановление данных.
Что касается производительности, в идеале вы хотите, чтобы размер блока был по крайней мере равным и кратным базовому размеру физического блока (следовательно, 2048 байт при чтении CD-ROM). Фактически в настоящее время вы также можете указывать большие размеры блоков, чтобы дать базовым системам кэширования возможность буферизовать вещи для вас. Но увеличение размера блока означает, ddчто нужно использовать гораздо больше памяти, и это может привести к обратным результатам, если вы копируете по сети из-за фрагментации пакетов.
Что касается восстановления данных, вы можете извлечь больше данных с неисправного жесткого диска, если вы используете блоки меньшего размера; это то, что программы, такие как, dd-rescueделают автоматически: они сначала читают большие блоки, но если блок терпит неудачу, они перечитывают его с меньшими размерами блоков. ddне буду этого делать, просто провалит весь блок.
dd bs=4m iflag=fullblockvs,dd bs=1111и обратите внимание на значительно более высокие скорости передачи данных, которые дает вам первая. Это связано с тем, что первое выравнивается с естественными размерами блоков на SD-карте, а второе требует, чтобы SD-контроллер выполнял много операций чтения, копирования и перепрошивки для записи частичных физических блоков.fullblockМежду прочим, важность не следует недооценивать, так как без нееbsтолько максимальный, а частичное чтение может привести к постоянным последующим перекосам.