На це питання вже є відповідь тут:
У мене є карта Micro SD (/ dev / sdb), яка "заблокована" в якомусь стані "лише для читання". Коли я намагаюся відформатувати його за допомогою Gparted або іншого графічного програмного забезпечення, він повідомляє "Не можу мати розділи, що перекриваються". Подивившись через Інтернет та на цей сайт, я знайшов можливе рішення за допомогою команд:
sudo fdisk -l -u /dev/sdb
sudo sfdisk -d /dev/sdb > sdb-backup.txt
Потім змініть .txt файл на дійсний, який фіксує розділи, що перекриваються, і застосуйте команду:
sudo sfdisk /dev/sdb < sdb-backup.txt
Після цього я не мав успіху у виправленні своєї Micro SD карти. Ось результати: Перша перша спроба виправити Micro SD карту:
sudo fdisk -l -u /dev/sdb
Disk /dev/sdb: 7,4 GiB, 7948206080 bytes, 15523840 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 16 13546943 13546928 6,5G 83 Linux
/dev/sdb3 24897 24897 0 0B 0 Empty
sudo sfdisk /dev/sdb < sdb-backup.txt
Checking that no-one is using this disk right now ... OK
Disk /dev/sdb: 7,4 GiB, 7948206080 bytes, 15523840 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
Old situation:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 16 13546943 13546928 6,5G 83 Linux
/dev/sdb3 24897 24897 0 0B 0 Empty
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x00000000.
Created a new partition 1 of type 'Linux' and of size 12,2 MiB.
/dev/sdb2: Created a new partition 3 of type 'Empty' and of size 512 B.
/dev/sdb4:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 16 24896 24881 12,2M 83 Linux
/dev/sdb3 24897 24897 1 512B 0 Empty
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Syncing disks.
=> Оскільки я не мав успіху у виправленні Micro SD карти, то я спробував другу спробу. Друга друга спроба виправити Micro SD карту:
sudo fdisk -l -u /dev/sdb
Disk /dev/sdb: 7,4 GiB, 7948206080 bytes, 15523840 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 16 13546943 13546928 6,5G 83 Linux
/dev/sdb3 24897 24897 0 0B 0 Empty
sudo sfdisk /dev/sdb < sdb-backup.txt
Checking that no-one is using this disk right now ... OK
Disk /dev/sdb: 7,4 GiB, 7948206080 bytes, 15523840 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
Old situation:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 16 13546943 13546928 6,5G 83 Linux
/dev/sdb3 24897 24897 0 0B 0 Empty
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0x00000000.
Created a new partition 1 of type 'Linux' and of size 6,5 GiB.
/dev/sdb2: Created a new partition 3 of type 'Linux' and of size 965,3 MiB.
/dev/sdb4:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 16 13546943 13546928 6,5G 83 Linux
/dev/sdb3 13546945 15523839 1976895 965,3M 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
=> У мене знову не було успіху.
Запитання: Я хотів би знати: Чи є ще щось, що використовує FDISK або інший інструмент (графічний або командний), я можу спробувати відновити свою SD-карту, або я повинен вважати, що вона знищена та придбати іншу?
PS1: Можливо, я неправильно поставив якусь команду, тому якщо ви її знайдете і можете допомогти мені, я дякую вам. Дякую за ваш час, коли ви читали та відповідали мені.
PS2: Я не знаю, чи є тут правильний простір, але у відповідь на користувача, який запропонував публікацію. Що я можу зробити, якщо моя флешка захищена від запису або лише для читання? щоб вирішити мою ситуацію, хоча публікація дуже добре пояснена подібною ситуацією лише для читання, вона не містить рішення моєї проблеми з моєю MicroSDCard. Я хочу пояснити, що моя SD-карта є MicroSD і не містить зовнішнього штифта, щоб блокувати її стан запису. Я не технічний в обчисленні, щоб довести, що він не містить відповіді на мою ситуацію, але, прочитавши вищезгаданий пост, я не знайшов жодного способу та рішення, щоб продовжувати вирішувати свою проблему. Якщо ви хочете допомогти мені, просто запитайте, яку додаткову інформацію вам потрібно про мою MicroSDcard або інформацію про командний рядок, яку я публікую для тих, хто зацікавлений у наданні допомоги.
===================== PS3: РІШЕННЯ ДО МОЇ ПРОБЛЕМИ ======================
Досі (4 січня 2017 р.) НЕ МАЄ рішення, щоб виправити мою карту MicroSD. Я намагався використати пропозиції, розміщені bwDraco та AFH, але я не мав успіху відновити функціонал MicroSD.
Як щодо проблеми та рішення моєї картки MicroSD? Добре зачекаю ще трохи, щоб побачити, чи хтось пропонує тут інше рішення. Я все ще можу працювати над його відновленням, якщо іншим людям є що-небудь більше запропонувати як варіант відновлення його функціональності.
У будь-якому разі я буду розглядати можливість придбати ще одну SD-карту. Як сказав bwDraco, [можливо], "карта зламана. Карти пам'яті виходять з ладу так тривожно, але принаймні заміни не дорогі". "Час від часу виходить з ладу, і це не обов'язково вини".
На щастя, я не мав важливих даних про MicroSD перед цим пошкодженням, тому нічого важливого на цьому не втратив. У будь-якому випадку, це погано втратити накопичувальний пристрій, мені це не подобається, але принаймні це лише втрата MicroSD, це не представляє великої втрати.
Крім того, я хотів би подякувати всім, хто намагався допомогти!
===================================================== ===============
sudo dd if=/dev/zero of=/sdb bs=64M
(вибачте за if=
параметр: /dev/null
повертає негайний EOF) - деякі реалізації дозволяють різним класифікаторам для кратних байтів. Або bs=
зовсім пропустіть параметр: він буде працювати, але повільніше.
sudo dd if=/dev/zero of=/sdb bs=64M
запропонованого вами коду, і термінал працював деякий час, він показав мені відповідь dd: error writing '/sdb': No space left on device 453+0 records in 452+0 records out 30384529408 bytes (30 GB, 28 GiB) copied, 278,123 s, 109 MB/s
Що мені робити зараз? Пояснюючи, будь ласка, спробуйте зробити найбільш детальне пояснення, оскільки я не знаю обчислень. Вони так, як ти намагаєшся мене направляти, просто чудово. Який наступний крок?
sudo dd if=/dev/null of=/sdb bs=64m
подібним. Потім ви зможете відформатувати його як скретч-диск. Насправді вам, мабуть, потрібно перезаписати лише таблицю розділів, але все це не завадить стерти все. Просто переконайтеся, що ви двічі перевірте, чи ви перезаписали правильний пристрій!