Команда dd всегда вызывает у меня ошибку в конце записи нуля на диск.

Вопрос или проблема

Я пытаюсь создать загрузочный установочный носитель Ubuntu с помощью sudo dd if=ubuntu-24.04.1-live-server-amd64.iso of=/dev/sdc bs=1M status=progress && sync на удаленной системе CentOS 7.x, к которой подключена флешка. Но перед записью iso-файла я пытаюсь отформатировать флешку с помощью dd.

Команда fdisk показывает следующие характеристики флешки:

Диск /dev/sdc: 7813 MB, 7813988352 bytes, 15261696 sectors
Единицы = сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

поэтому я попробовал sudo dd if=/dev/zero of=/dev/sdc bs=1M status=progress count=7813988352, но, к сожалению, это дает мне ошибку:

dd: ошибка записи ‘/dev/sdc’: Нет места на устройстве

Я также попробовал sudo dd if=/dev/zero of=/dev/sdc bs=1M status=progress && sync без count, но это дало ту же ошибку.

Проверка диска с помощью команды od /dev/sdc показывает, что на нем все еще много ненулевых байтов, например:

od /dev/sdc
0000000 000000 000000 000000 000000 000000 000000 000000 000000
*
40000000 177777 177777 177777 177777 177777 177777 177777 177777
*
40317340 177777 177777 177777 177777 177777 177777 177777 000000
40317360 000000 000000 000000 000000 000000 000000 000000 000000
*
40320000 177777 177777 177777 177777 177777 177777 177777 177777
*
40337340 177777 177777 177777 177777 177777 177777 000000 000000
40337360 000000 000000 000000 000000 000000 000000 000000 000000
*
40340000 177777 177777 177777 177777 177777 177777 177777 177777
*
40717160 177777 177777 177777 177777 177777 177777 177777 000000
40717200 000000 000000 000000 000000 000000 000000 000000 000000
*
40720000 177777 177777 177777 177777 177777 177777 177777 177777
*
40737000 051525 041502 030733 000001 020000 000000 000200 024012
40737020 000000 040400 000320 010000 000000 000000 000000 140400
40737040 140400 000000 000000 000000 000000 000000 000000 000000
40737060 000000 000000 000000 000000 000000 000000 000000 000000
*
40740000 177777 177777 177777 177777 177777 177777 177777 177777
*
41317200 177777 000000 000000 000000 000000 000000 000000 000000
41317220 000000 000000 000000 000000 000000 000000 000000 000000
*
41320000 177777 177777 177777 177777 177777 177777 177777 177777
*
41337340 177777 177777 177777 177777 177777 177777 177777 000000
41337360 000000 000000 000000 000000 000000 000000 000000 000000
*
41340000 177777 177777 177777 177777 177777 177777 177777 177777
*
41717000 051525 041502 030736 000001 160000 000001 000200 024012
41717020 000000 041000 000340 170000 000000 000000 000000 164000
41717040 164000 000000 000000 000000 000000 000000 000000 000000
41717060 000000 000000 000000 000000 000000 000000 000000 000000
*
41720000 177777 177777 177777 177777 177777 177777 177777 177777

Запись .iso файла без обнуления дает:

sudo dd bs=4M if=ubuntu-24.04.1-live-server-amd64.iso of=/dev/sdc conv=fdatasync  status=progress
2772434944 bytes (2.8 GB) copied, 218.947185 s, 12.7 MB/s
dd: fdatasync не удалась для ‘/dev/sdc’: Ошибка ввода-вывода
661+1 записей в
661+1 записей out
2773874688 bytes (2.8 GB) copied, 228.46 s, 12.1 MB/s

После чего fdisk показывает:

Диск /dev/sdc: 7813 MB, 7813988352 bytes, 15261696 sectors
Единицы = сектора по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x00000000

   Устройство Загрузка      Начало         Конец      Блоки   Id  Система
/dev/sdc1               1     5417723     2708861+  ee  GPT
/dev/sdc2   *           0           0           0+   0  Пусто

и я так и не смог загрузиться с флешки.

dmesg выдает:

[  349.501801] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.501810] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.501815] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.501821] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d2 00 00 00 f0 00
[  349.501825] blk_update_request: critical target error, dev sdc, sector 3002880
[  349.501886] Buffer I/O error on dev sdc, logical block 375360, lost async page write
[  349.501951] Buffer I/O error on dev sdc, logical block 375361, lost async page write
[  349.502075] Buffer I/O error on dev sdc, logical block 375362, lost async page write
[  349.502201] Buffer I/O error on dev sdc, logical block 375363, lost async page write
[  349.502327] Buffer I/O error on dev sdc, logical block 375364, lost async page write
[  349.502453] Buffer I/O error on dev sdc, logical block 375365, lost async page write
[  349.502582] Buffer I/O error on dev sdc, logical block 375366, lost async page write
[  349.502708] Buffer I/O error on dev sdc, logical block 375367, lost async page write
[  349.502833] Buffer I/O error on dev sdc, logical block 375368, lost async page write
[  349.502958] Buffer I/O error on dev sdc, logical block 375369, lost async page write
[  349.506165] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.506169] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.506174] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.506178] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d2 f0 00 00 f0 00
[  349.506181] blk_update_request: critical target error, dev sdc, sector 3003120
[  349.510538] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.510542] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.510546] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.510550] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d3 e0 00 00 f0 00
[  349.510552] blk_update_request: critical target error, dev sdc, sector 3003360
[  349.511548] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.511555] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.511559] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.511564] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d4 d0 00 00 f0 00
[  349.511567] blk_update_request: critical target error, dev sdc, sector 3003600
[  349.512562] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.512567] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.512571] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.512575] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d5 c0 00 00 f0 00
[  349.512578] blk_update_request: critical target error, dev sdc, sector 3003840
[  349.513543] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.513548] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.513552] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.513556] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d6 b0 00 00 f0 00
[  349.513559] blk_update_request: critical target error, dev sdc, sector 3004080
[  349.514542] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.514546] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.514550] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.514556] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d7 a0 00 00 f0 00
[  349.514559] blk_update_request: critical target error, dev sdc, sector 3004320
[  349.515547] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.515553] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.515557] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.515562] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d8 90 00 00 f0 00
[  349.515565] blk_update_request: critical target error, dev sdc, sector 3004560
[  349.516538] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.516543] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.516546] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.516550] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d d9 80 00 00 f0 00
[  349.516553] blk_update_request: critical target error, dev sdc, sector 3004800
[  349.517548] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  349.517554] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  349.517558] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  349.517562] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 2d da 70 00 00 f0 00
[  354.502441] scsi_io_completion: 5656 callbacks suppressed
[  354.502467] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.502473] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.502478] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.502484] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 78 80 00 00 f0 00
[  354.502487] blk_update_request: 5656 callbacks suppressed
[  354.502490] blk_update_request: critical target error, dev sdc, sector 4356224
[  354.502550] buffer_io_error: 169158 callbacks suppressed
[  354.502554] Buffer I/O error on dev sdc, logical block 544528, lost async page write
[  354.502612] Buffer I/O error on dev sdc, logical block 544529, lost async page write
[  354.502669] Buffer I/O error on dev sdc, logical block 544530, lost async page write
[  354.502726] Buffer I/O error on dev sdc, logical block 544531, lost async page write
[  354.502783] Buffer I/O error on dev sdc, logical block 544532, lost async page write
[  354.502840] Buffer I/O error on dev sdc, logical block 544533, lost async page write
[  354.502897] Buffer I/O error on dev sdc, logical block 544534, lost async page write
[  354.502954] Buffer I/O error on dev sdc, logical block 544535, lost async page write
[  354.503011] Buffer I/O error on dev sdc, logical block 544536, lost async page write
[  354.503068] Buffer I/O error on dev sdc, logical block 544537, lost async page write
[  354.504074] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.504081] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.504085] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.504090] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 79 70 00 00 f0 00
[  354.504093] blk_update_request: critical target error, dev sdc, sector 4356464
[  354.505067] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.505071] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.505075] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.505079] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 7a 60 00 00 f0 00
[  354.505081] blk_update_request: critical target error, dev sdc, sector 4356704
[  354.506067] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.506072] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.506076] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.506093] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 7b 50 00 00 f0 00
[  354.506095] blk_update_request: critical target error, dev sdc, sector 4356944
[  354.507066] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.507072] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.507076] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.507080] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 7c 40 00 00 f0 00
[  354.507084] blk_update_request: critical target error, dev sdc, sector 4357184
[  354.508065] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.508070] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.508074] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.508078] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 7d 30 00 00 f0 00
[  354.508081] blk_update_request: critical target error, dev sdc, sector 4357424
[  354.509064] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.509069] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.509073] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.509077] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 7e 20 00 00 f0 00
[  354.509080] blk_update_request: critical target error, dev sdc, sector 4357664
[  354.510064] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.510069] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.510073] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.510077] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 7f 10 00 00 f0 00
[  354.510080] blk_update_request: critical target error, dev sdc, sector 4357904
[  354.511061] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.511065] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.511068] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.511072] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 80 00 00 00 f0 00
[  354.511074] blk_update_request: critical target error, dev sdc, sector 4358144
[  354.511935] sd 6:0:0:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[  354.511939] sd 6:0:0:0: [sdc] Sense Key : Data Protect [current] 
[  354.511942] sd 6:0:0:0: [sdc] Add. Sense: Write protected
[  354.511945] sd 6:0:0:0: [sdc] CDB: Write(10) 2a 00 00 42 80 f0 00 00 f0 00
[  354.511948] blk_update_request: critical target error, dev sdc, sector 4358384
[  358.789202] sd 6:0:0:0: [sdc] Write Protect включен
[  358.789208] sd 6:0:0:0: [sdc] Режим Sense: 23 00 80 00
[  358.795280] Альтернативный GPT недействителен, используется основной GPT.
[  358.795295]  sdc: sdc1 sdc2 sdc3

Что я делаю не так? Как я могу полностью очистить флешку, заполнив ее нулями?

Ответ или решение

Проблема с использованием команды dd для нулевого заполнения флеш-накопителя

Ваша проблема явно связана с ошибками записи на флеш-накопитель /dev/sdc, что может быть вызвано несколькими причинами, включая аппаратные ограничения и настройки системы. Давайте рассмотрим основные аспекты, которые могут привести к такой ситуации, и предложим решения.

1. Ошибка при записи: "No space left on device"

Когда вы запускаете команду dd с параметром count=7813988352, система пытается записать на флеш-накопитель больше данных, чем он физически может вместить. Его размер составляет 7813 МБ, что равно 15261696 секторам по 512 байт. Если перевести это в мегабайты (1M = 1024 * 1024 байт), то максимальное количество записываемых данных будет значительно меньше, чем вы пытаетесь записать с использованием count. Правильным решением будет указать количество секторов, которое соответствует реальному объему диска:

sudo dd if=/dev/zero of=/dev/sdc bs=1M status=progress count=7813

Примечание: count должен указывать на 7813, так как это максимальное количество мегабайтов, доступное для записи.

2. Ошибка записи на устройство: "Input/output error" и "Data Protect"

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

3. Некорректное завершение команд

Использование процедуры sync после команды dd полезно для завершения записи на диск. Убедитесь, что команда sync запущена, и система успела завершить все операции ввода-вывода, прежде чем отключать флеш-накопитель. Вы можете также добавить задержку перед отключением:

sudo dd if=/dev/zero of=/dev/sdc bs=1M status=progress && sync && sleep 5

4. Ограничения на стороне ОС

Ваша операционная система (CentOS 7.x) может иметь свои ограничения на работу с устройствами. Возможно, вам стоит попробовать выполнить ту же операцию с использованием другого инструмента, такого как hdparm, что позволит вам проверить состояние вашего устройства. Полезно также проверить, виден ли флеш-накопитель для ОС:

lsblk

5. Проверка целостности флеш-накопителя

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

6. Использование альтернативных инструментов

Иногда использование других утилит, таких как gnome-disks или gparted, может оказаться более эффективным для форматирования и подготовки флеш-накопителя. Эти утилиты обеспечивают графический интерфейс, который делает процесс более интуитивным и перерывным с возможными предупреждениями о проблемах, таких как защита от записи.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...