У меня есть 8-гигабайтная SD-карта, которую я пытался отформатировать, но по какой-то причине, похоже, ничего не может сделать это . Я пробовал проверять перекрывающиеся начальные и конечные биты, но явно в них нет перекрытия.
То, что я пробовал:
1. fdisk
для удаления раздела, а также для создания нового раздела, но данные все еще существуют и ошибок не было.
2. Попытка сделать то же самое, что и выше, с использованием GParted, но gparted
выдает ошибку перекрывающегося раздела, когда есть только раздел, также имеется ошибка «Недопустимый аргумент для поиска при записи» , сгенерированная GParted.
3. Использовал dd
для заполнения устройства 0, но все еще не смог отформатировать карту.
4. Использовал shred
как альтернативу, и тоже не повезло.
Я хотел бы знать, в чем проблема на самом деле или какое другое решение (я) я могу попробовать.
ОБНОВЛЕНИЕ
Я пробовал sgdisk -Z
на устройстве, и вот что я получаю как ошибку:
Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another utility.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Попытался изменить размер начального и конечного битов с помощью GParted и Fdisk, но они этого не сделали измените что-нибудь, и начало и конец останутся такими же.
Disk /dev/sdb: 7.5 GiB, 8026849280 bytes, 15677440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 8192 15677439 15669248 7.5G b W95 FAT32
Как видно, других разделов не существует.
Вы можете уничтожить неправильную таблицу разделов, выполнив dd if = / dev / zero of = / dev / sdX bs = 512 count = 2
, а затем создайте новый с помощью fdisk или gparted. Убедитесь, что X правильно.
SD-карта может иметь переключатель физической блокировки записи. Это заблокировано? извините, если это звучит глупо.
Попробуйте выполнить следующую команду, чтобы полностью удалить всю информацию о разделах. Как root (или с помощью sudo или любого другого решения, которое у вас есть в вашей системе). Предупреждение: все данные на SD-карте будут потеряны, и если вы не введете правильное устройство, вы можете уничтожить все данные в своей системе
sgdisk -Z /dev/XXXX
, где / dev / XXXX
- устройство, соответствующее вашей SD-карте, например / dev / sde
или подобное.
Перезагрузите компьютер и попробуйте отформатировать SD-карту обычным инструментом .
Если все еще плохо, либо вы используете неправильный файл устройства, либо ваша система lunix не может записывать данные на SD-карту, возможно, она повреждена. Взгляните на системные сообщения, используя dmesg | хвост -100
.
Ваша SD-карта имеет таблицу разделов GPT, как доказывает предупреждение sgdisk
(а не ошибка, кстати):
Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another
utility.
И результат успех:
GPT data structures destroyed! You may now partition the disk using fdisk
or other utilities.
Таблица GPT (управляемая с помощью gdisk) записывается на устройство дважды, одна в начале, другая в конце в обратном порядке.Таким образом, таблица GPT «сильнее», чем разделы MBR (управляемые старым fdisk), и сопротивляется таким командам, как: dd if = / dev / zero of = / dev / sdx count = 20 bs = 512
, потому что резервная копия копия пишется в конце и не стирается.
Вы перезагружали компьютер после замены паритонов с помощью sgdisk -Z
? Если вы этого не сделаете, возможно, что ядро Linux по-прежнему использует в памяти свое собственное представление о разделах на карте. Лучшее, что нужно сделать, чтобы убедиться, что Linux знает, что карта стерта, - это перезагрузить компьютер.
В некоторых ситуациях возможно смешивать таблицу разделов MBR и GPT, но эти 2 таблицы должны согласовываться, и только очень опытные пользователи могут смешивать использование разделов MBR и GPT.
Неясно, распознает ли ваша версия fdisk GPT или нет. Возможно, вы пытаетесь редактировать раздел MBR с помощью fdisk, в то время как ядро Linux использует таблицу разделов GPT (резервная копия).
Итак, еще раз:
sgdisk -Z
Если проблема не исчезнет, может помочь dmesg
.