Повреждение SD-карты и упорно продолжило 32 МБ, какой-либо способ зафиксировать его?

Обновление: расширение Arcegeидея sed-to-sed, у Вас может быть более managable расположение (табличный, или неровный) для Ваших шаблонов find/repl, которые могут быть встроены... и нет никакой потребности в промежуточном файле: (добавьте a g перед p'<<'EOF' вносить несколько изменений на строку... Отметьте это foo, barbar, и т.д. будут рассматривать sed как регулярные выражения.

I=$'\01'; sed -nre "s/^([^ ]+) +/s$I\1$I/;s/$/$I/p"<<'EOF' |sed -f - file
foo           By the middle of June,
barbar        mosquitos were rampant,
foofoofoo     the grass was tawny, a brown dust
barbarbarbar  haze hung over the valley
EOF

(исходное сообщение)
Можно использовать sed как исполняемый сценарий, с оберткой...

Можно определить находку и заменить текст в отдельном текстовом файле,
но для этого образца это определяется встроенное...

Этот сценарий преобразовывает Ваших find/repl пар в sed выражения и динамично создает исполняемый сценарий

I=$'\01'; set -f
printf "#!/bin/sed -f\n" > ~/bin/script.sed
while IFS= read -r line ;do
    ix=$(expr index "$line" " ")
    printf "s%s%s%s%s%s\n" $I ""${line:0:$((ix-1))}"" $I "${line:$ix}" $I 
done <<'EOF' >> ~/bin/script.sed
$text1 By the middle of June,
$text2 mosquitos were rampant,
$text3 the grass was tawny, a brown dust
$text4 haze hung over the valley
EOF
chmod +x ~/bin/script.sed

Это - тестовый файл, который будет изменен.
'$' хорошо, поскольку это не в конце строки (для sed), и это никогда не будет выставлено оболочке, но любому маркеру, который не столкнется с sed прекрасен. Можно даже использовать #

echo '$text1 $text2 $text3 $text4' > file  

Принятие этого ~/bin каталог $PATH, команда для выполнения:

script.sed  file   
2
17.02.2012, 00:32
6 ответов

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

2
27.01.2020, 21:53
  • 1
    я ожидаю, что Вы тут же. Позор, но спасибо. –  antubis 16.02.2012, 23:21
  • 2
    я просто попробовал это за SD-карту, которую я имею, это, казалось, не работало на меня. –  Gordolio 15.08.2014, 17:17

Если Вы ничего не могли восстановить, и Вы просто хотите попытаться отложить его в usuable состояние, следовать dd совет от Renan. Если это будет Вашим первым разом, делая это, то Вам будет нужно больше деталей.

Это удалит все, так будет предупреждено. Отключите все другие диски и перезагрузите свой компьютер с Живым диском Linux или рискните потерей данных на включенном диске.

Еще не включайте свой диск. Выполните эту команду.

sudo fdisk -l

Теперь включите свой диск и выполните команду снова. Вы будете видеть запись, которая не была там прежде. Та запись является Вашим устройством. Запишите тот путь устройства. Если Вы не отключили все другие устройства, НЕ путайте ЭТО С ДРУГИМ.

Это будет что-то вроде этого:

/dev/sdx

Где x в sdx является Вашей буквой дисков.

Теперь, когда Вы нашли свой тип устройства в:

sudo dd if=/dev/zero of=/dev/sdx

где x в sdx является буквой Вашего диска. (Не должно быть числа в конце Вашего устройства для этой команды.)

Ожидайте его для обнуления. Теперь введите:

sudo fdisk /dev/sdx

Вы должны будете сначала создать дисковую маркировку DOS. Поэтому выберите ту опцию.

После создания дисковой маркировки DOS необходимо будет создать раздел. Выберите делают раздел из меню. Просто хит входит, и он даст Вам значения по умолчанию. Значения по умолчанию сделают раздел максимальным размером Вашего usb.

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

Теперь введите

mkfs /dev/sdx1

Снова, x является буквой Вашего диска.

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

Всегда будьте утомленными от этого диска в будущем. Создайте резервную копию всего. Я рекомендовал бы GParted, но я полагаю, что он не распознает обнуленные диски.

2
27.01.2020, 21:53
  • 1
    , у меня была большая забава с жесткими дисками прежде, но спасибо за детали. Проблема состоит в том, что устройство (sdb) физически только показывает 32 МБ, и согласно dd, уже полно, обнуляет. Форматирует его не собирающийся приводить к диску 32 МБ? Как я говорю, я попробую в немного так или иначе. –  antubis 17.02.2012, 15:47
  • 2
    , который это ничему не должно показывать после обнуления. Это пробегается через дисковую маркировку и информацию о разделе. Когда Вы, dd удостоверяются, что Вы выбираете/dev/sdb не/dev/sdb1./dev/sdb, являетесь своим устройством в целом, где/dev/sdb1 является разделом на устройстве. dd проигнорирует информацию о разделе и перейдет к физическому концу. Я предполагаю, что Вы показываете меньшему количеству мадам, потому что таблица разделов повреждена. –  bambuntu 18.02.2012, 10:26
  • 3
    Если это действительно - аппаратная проблема, то этот предел 32 МБ не является таблицей разделов, вместо этого физическая проблема с диском. Если так, просто выведите его. Не доверяйте ему. Я просто должен был вывести 4 ГБ. Это сосет. –  bambuntu 18.02.2012, 10:29
  • 4
    , который лучше всего не способ поддержать эти диски, позволяет писать слишком много в той же области. Думайте о нем этот путь, если Вы пишете файл, затем удаляете его, это, вероятно, собирается записать следующий новый файл в том же самом месте. Неоднократно выполнение этого изнашивает ту общую область. Если Вы только повреждаете файл, он не удаляет его, просто метки он. Так позвольте мусору заполниться вплоть до Вас, не имеют пространства в запасе. проблема –  bambuntu 18.02.2012, 10:38
  • 5
    dd: запись в '/dev/sdb': Никакое пространство, оставленное на устройстве 62689+0 записей в 62688+0 записях 32 096 256 байтов скопированные (32 МБ), 0,109729 с, 293 МБ/с –  antubis 18.02.2012, 14:58

Так, как это походит на отказ оборудования, процедура, которую можно попробовать:

  1. Начните путем взятия образа диска того, что может быть считано из устройства, с помощью dd.

    $ dd if=/dev/sdX of=memory_card.img

  2. После, заполните его нулями, например. $ dd if=/dev/zero of=/dev/sdX, затем переформатируйте его.

1
27.01.2020, 21:53
  • 1
    я действительно брал изображение от него (dd noerror и ddrescue), и это были 32 МБ нуля. Не было единственного байта ничего больше. Я попытаюсь писать в случае, если это имеет другой эффект, но что 32, кажется, стал физическим пределом. –  antubis 17.02.2012, 15:38
  • 2
    , который я должен разъяснить, это было с тем, если =/dev/sdb –  antubis 17.02.2012, 15:51
  • 3
    Затем да, это, скорее всего - аппаратная проблема. –  Renan 17.02.2012, 20:06

У меня была эта проблема. Сначала я попробовал различные методы форматирования. Законченные окна использования diskpart для 'форматирования быстрого fs=ntfs' только, чтобы видеть, изменило ли это размер правильно. Это не сделало. Затем я использовал эту утилиту форматирования SD-карты, рекомендуемую на сайте Raspberry Pi, и это добилось цели.

https://www.sdcard.org/downloads/formatter_4/

1
27.01.2020, 21:53
  • 1
    я просто захочу дать огромное благодаря user16345 для этого sdcard.org/downloads/formatter_4. Работавшее отлично средство форматирования и вернуло мою карту на 32 ГБ, показывающую 12 МБ 32 ГБ. Ключ для тех, на которых это не работало, должен удостовериться, что корректировка размера формата включена. Выполнение без этого включило, просто дал мне 12 МБ снова. Я также выполнил его, поскольку администратор упаковывает, который имеет значение. –   18.10.2015, 21:06

Честный Богу Это то, что я пытался, и это сработало.

Я взял ушной бутон (маленькие штуки с хлопком на одном конце. Хлопковый тампон) .. И намочить его с помощью лака для ногтей. Затем я убрал контакты (которые выглядели очень аккуратно и чистым, чтобы начать с !!), а затем вытирали ресторан салфеткой .. Тот, который они держат на своем столе, чтобы вытереть усы .. И тогда сделал это снова. На этот раз он не вытирал, но пусть эта вещь сухая (не занимает много времени .. Около 30 секунд) .. потом пополнил его в альт .. Это было так же хорошо, как новый. (И все, что после последования всех шагов выше, включая пытаясь писать нули) .. И все те начали отображать 0 байтов. Я мог бы восстановить даже старые данные.

1
27.01.2020, 21:53

Каждый раз, когда я сталкивался именно с этим видом отказа, тщательное изучение соответствующей карты micro SD показывало, что мне действительно удалось взломать ее -, то есть физически сломать ее -сразу за контактной полосой., с трещиной на противоположной от контактов стороне платы.

Тип простого разъема micro SD, который HardKernel использует на своих платах для разработки ODroid, который не полностью закрывает вставленные карты, делает их особенно уязвимыми для такого рода повреждений, и карты SanDisk, в частности, кажутся довольно физически хрупкими в этом обнаруживать.

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

Возможно, вы даже сможете сделать это случайно, убедив себя, что на самом деле вы чистите контактные площадки с помощью жидкости для снятия лака. Но карта никогда никогда не будет снова надежной; если вам удастся исправить один из них таким образом, лучшим вариантом будет немедленно скопировать его на новую карту, а затем отредактировать.

1
31.07.2020, 03:46

Теги

Похожие вопросы