1

Я разрабатывал цель make, которая использует dd (на самом деле dcfldd) для записи изображения Raspbian Jessie на SD-карту. Цель просто

flash:
    sudo dcfldd bs=4M if=$(IMGPATH) of=$(SDX)
    sync

где $(SDX) - /dev /sdc. Смотрите этот вопрос для более подробной информации.

В какой-то момент я вынул SD-карту из устройства чтения карт USB, протестировал ее в Raspberry Pi и сделал несколько заметок для внесения изменений в сценарий. Однако я забыл вынуть его из RPi и вставить обратно в ридер (который все еще находился в USB-разъеме), прежде чем снова вызвать цель make. Странно, никаких ошибок не было; но ~ 4 ГБ данных были "записаны" в считанные секунды.

После этого правильная установка карты и повторный вызов цели привели к тому же сверхбыстрому "копированию", но карта, похоже, не изменилась.

Я несколько раз пытался переформатировать карту с помощью инструмента "Диски" в Ubuntu и с помощью gparted, но единственный способ заставить ее снова мигать правильно - перезагрузить компьютер. Конечно, я также пытался извлечь и заново установить ридер из USB-разъема.

С установленным ридером, но без карты, я вижу только /dev /sdc. Когда карта вставлена, я вижу /dev /sdc, /dev /sdc1 и /dev /sdc2 (с изображением Raspbian на карте).

я задаюсь вопросом

  1. Где дд положить данные, которые он думал, что пишет?
  2. Был ли какой-нибудь способ, которым я мог сбросить считыватель карт без перезагрузки?

1 ответ1

1

Проверьте, не является ли /dev/sdc внезапно обычным файлом, полным ваших данных. Хотя обычно я ожидаю, что это будет специальный файл, который либо подключен к работающему устройству, либо выдает «не найденные ошибки», могут быть обстоятельства, когда специальный файл был случайно удален. Вы должны быть root чтобы сделать это, но я уже провернул ситуацию, и ваши симптомы очень знакомы.

Если он действительно был удален, то вам нужно прочитать команду mknod , чтобы воссоздать ее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .