Найти в Дзене
3 подписчика

Низкоуровневое форматирование flash/SD/microSD под Linux


Несколько раз приходилось форматировать флешки (к которым относятся и различные SD и microSD карточки), а поскольку происходит это довольно редко – вынужден был лезть в гугл. Конспективная памятка по форматированию флешек под Linux:

Проверить подключение flash

fdisk -l
Выведет список подключенных дисков и их разделов. Обычно флешка – /dev/sdb, но нужно обязательно проверить, так ли это!

Проверить, примонтирована ли флешка

df -h
Если флешка примонтирована – покажет это и точку монтирования. Перед форматированием – отмонтировать: umount /dev/sdb.

Проверить защиту от записи и геометрию

При желании – можно проверить защиту от записи и геометрию (защита от записи в линуксе не важна):
hdparm /dev/sdb

Если нужно низкоуровневое форматирование – забить нулями

dd if=/dev/zero of=/dev/sdb
В выводе покажет объем флешки (должен соответствовать заявленному), скорость и время записи. Также покажет, сколько было записано байт на флешку, что полезно при проверке флешки на физические ошибки (см. ниже).

Проверить на физические ошибки

head -c N /dev/sdb | md5sum
head -c N /dev/zero | md5sum
где N равно числу байт, записанных на флешку при помощи dd. Если контрольные суммы не совпадают – флешка “битая” или были ошибки записи (в реальности сталкивался с форматированием microSD через плохой кард-ридер – даже когда не выскакивали ошибки ввода-вывода при операциях – контрольные суммы не совпадали, с заменой кард-ридера проблема ушла).
Пример:

dimio@ibm $ dd if=/dev/zero of=/dev/sdb
dd: запись в «/dev/sdb»: На устройстве кончилось место
3932161+0 записей считано
3932160+0 записей написано
скопировано 2013265920 байт (2,0 GB), 1010,99 c, 2,0 MB/c

dimio@ibm $ head -c 2013265920 /dev/zero | md5sum
5d0fd6273bed1c500c6fc22d86a59630 -

dimio@ibm $ head -c 2013265920 /dev/sdb | md5sum
5d0fd6273bed1c500c6fc22d86a59630 -

Ну и для полного счастья при желании:

dimio@ibm…

#linux #notes

--- Ссылка на запись ---
1 минута
289 читали