Matikan perlindungan penulisan USB

92

Saya memiliki USB yang terlindungi dari penulisan:

dmesg | tail

[10098.126089] sd 7:0:0:0: [sdb] Write Protect is on
[10098.126098] sd 7:0:0:0: [sdb] Mode Sense: 23 00 80 00
[10098.126779] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.126788] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.131418] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.131425] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.133335]  sdb: sdb1
[10098.135509] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.135515] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.135521] sd 7:0:0:0: [sdb] Attached SCSI removable disk

Bagaimana saya bisa mematikan proteksi tulis?

Apa yang saya coba

  1. Diperiksa apakah memiliki peranti penangkap keras - tidak
  2. Mencoba memformatnya di windows dan di Linux (via terminal juga)
  3. Mencoba fdisk|chmod
  4. Mencoba untuk memperbaikinya dengan beberapa alat dari pusat perangkat lunak Ubuntu
  5. Menggunakan Google dan telah melihat sekitar 10.000 diskusi tentang masalah ini tetapi mereka tidak pernah diselesaikan

Informasi tambahan

fsck -n /dev/sdb1

fsck from util-linux 2.19.1
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
  Not automatically fixing this.
Free cluster summary wrong (968250 vs. really 911911)
  Auto-correcting.
Leaving file system unchanged.
/dev/sdb1: 50 files, 93653/1005564 clusters

fdisk -l

   Device  boot.   Start        End      Blocks   Id  System
/dev/sdb1            32     8060927     4030448    b  W95 FAT32

umount /dev/sdb1

mkfs -t vfat /dev/sdb1

mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat: unable to open /dev/sdb1
cupu
sumber
7
Saya tidak dapat memformatnya karena perlindungan penulisan.
noob
2
@micha - apa jenis perangkat USB itu - jelas Anda sudah memeriksa apakah ia memiliki peranti keras? ada kesalahan jika Anda mencoba me-mount itu? sudo mount /dev/sdb1 -v?
fossfreedom
1
micha, cukup adil. Sudahkah Anda mencoba menjalankan efsck atau menggunakan Utilitas Disk Ubuntu untuk memeriksa status kesehatan flash disk? Jika itu berfungsi dengan baik & kemudian berhenti bekerja tiba-tiba mungkin ada kerusakan perangkat keras.
kingmilo
1
@kingmilo e2fsck:Bad magic number in super-block while trying to open /dev/sdb1 SuperBlock is not readable.
noob
1
@Micha - sangat baik, masih tidak berarti itu tidak salah meskipun sayangnya. Adalah umum untuk perangkat penyimpanan terlihat bekerja secara normal padahal sebenarnya mereka salah, hanya pada tahap yang berbeda dari kesalahan. Saya pikir dengan semua aktivitas pada pertanyaan ini Anda harus meminta sumbangan kecil untuk mengganti drive, itu akan lebih mudah 😜
kingmilo

Jawaban:

81

Untuk mematikan proteksi penulisan perangkat disk, kami menggunakan hdparm utilitas sistem tingkat rendah seperti ini:

sudo hdparm -r0 /dev/sdb

di mana kita menganggap itu /dev/sdbadalah perangkat disk Fisik yang sedang kita kerjakan. Jika perangkat memiliki partisi yang dipasang sebagai hanya-baca, Anda harus memasang kembali mereka sebagai baca-tulis untuk menulis data kepada mereka.

Semoga itu bisa membantu.

Malaikat Genchev
sumber
Kamu adalah pahlawanku. Di mana saya bisa belajar apa yang terjadi setelah perintah sihir sihir ini?
Marcos Modenesi
3
Anda dapat menemukan penjelasan dengan mengetikkan perintah itu di sini> menjelaskanshell.com
bagustris
75
itu menunjukkan readonly = 0 (off)tetapi saya masih tidak dapat menulis atau memformat.
shyammakwana.me
1
@ OOP saya sama dengan Anda, yaitu: kartu sdxc dipasang read-only apa pun komputer; hdparm -rmenunjukkan "1 - on" lalu setelah membuka dengan r0: "0 - off" tetapi mount read-only. Tapi memasang kartu SD SanDisk saya di adaptor lain dan saya bisa memasangnya rw. Ternyata dua dari adaptor microSD-to-SD saya memiliki pin yang putus di antara dua konektor. Dan keduanya akan me-mount read-only apa pun yang saya lakukan. Kuddos to @Angel_Genchev ia menjawab memiliki perintah paling banyak di dalamnya.
tuk0z
2
@ lliseil Kemungkinan besar sakelar pelindung tulis pembaca ditekan oleh kartu yang dimasukkan ke dalamnya, biasanya oleh tab pada kartu tetapi sakelar (bukan tab) dapat menjadi bengkok dan macet. Anda dapat memperbaiki pembaca kartu sd dengan memotong pin sakelar proteksi, yang membuat kontak fisik dengan tab kunci pada kartu. Ketika sakelar pada pembaca terbuka, proteksi tidak aktif, ketika ditutup (dengan menekan tab pada kartu) proteksi aktif. Melepaskan satu atau kedua lengan logam sakelar akan secara permanen menonaktifkan proteksi pada pembaca.
Hydranix
31

Setelah meneliti pertanyaan Anda, tampaknya ini adalah masalah yang tidak terlalu umum pada merek tertentu dari USB flash drive (beberapa Samsung yang lebih tua, model Kingston) yang pada dasarnya hanya akan "omong kosong" tanpa alasan yang diketahui. Orang-orang telah mencoba membukanya dan melompati dua lead (mungkin dari sakelar yang tidak stabil?) Tetapi tidak berhasil. Jika Anda masih memiliki drive ini dan masih dalam garansi saya akan mengembalikannya dan mendapatkan penggantinya.

Saya benci menyampaikan kabar buruk kepada Anda = \ tetapi tampaknya Anda kurang beruntung dalam situasi ini karena semua yang saya baca menunjukkan kegagalan perangkat keras.

Sunting 05/27/2016: Saya mengalami masalah pribadi dengan flash drive yang membanjiri saya baru-baru ini. Dalam kasus saya, ini adalah Corsair Flash Voyager 128GB yang mulai melambat secara drastis pada saya. Meskipun tidak menunjukkan gejala yang dicatat di sini, kadang-kadang tidak akan meningkat dan muncul sebagai perangkat "Kekuatan Silikon". Ini adalah hasil dari drive yang menghasilkan banyak sektor buruk dan beralih ke mode diagnostik / pemrograman. Karena ini adalah salah satu jawaban saya yang lebih populer dan ini juga termasuk dalam kategori "gagal drive," saya pikir saya akan memasukkannya di sini untuk referensi.

Chuck R
sumber
5
@ admin: saya ingin tahu apakah jenis jawaban ini diperbolehkan atau tidak :)
Tachyons
7
@AboobackerMk Jika jawabannya, maka jawabannya. :)
jrg
4
@Tachyons "apakah jenis jawaban ini diizinkan atau tidak?" ada apa dengan orang-orang di stackexchange yang secara konsisten mencoba mendiskreditkan pertanyaan atau jawaban orang lain? Jawaban ini jelas merupakan jawaban yang valid; untuk alasan itu kata jrg.
GoProCameraByGoPro
@GoProCameraByGoPro yang merupakan komentar 3 tahun, kekhawatiran saya bukan tentang kualitas jawabannya. dan jrg sudah menjawab pertanyaan saya :-)
Tachyons
@Tachyons Saya melakukan bagian saya untuk memanggil pretensi di sini di stackexchange menjadi pertanyaan. Jika saya memiliki data, saya akan melihat tren demografi orang-orang yang melakukan itu dan saya mungkin bisa mengabaikannya, tetapi untuk sekarang saya harus bertanya kepada mereka seperti yang saya lihat.
GoProCameraByGoPro
21

menggunakan fdisk -ltemukan drive, yaitu: / dev / sdc1

sekarang

umount /dev/sdc1

Akhirnya, format ulang flash-drive

sudo mkfs -t vfat /dev/sdc1

Saya menemukan ini cepat dan mudah. Pastikan untuk UNMOUNT drive sebelum mencoba memformat.

Buntut
sumber
2
sudo mkfs -t vfat / dev / sdc1> kebanyakan blog mengatakan ini, tetapi orang mengatakan ini tidak berfungsi, mari kita lihat apakah itu berfungsi.
Satu Nol
8
dilepas ... tapimkfs.vfat 3.0.9 (31 Jan 2010) mkfs.vfat: unable to open /dev/sdb1
noob
itu bekerja untuk saya, hanya harus menggunakan -Saya menjadikannya satu partisi besar dan bukannya / dev / sdc1, / dev / sdc sebagai gantinya.
mchid
Saya mencoba semua cara lain ( hdparm -r0, blockdev --setrw, remount,rw) tetapi tidak ada yang menyelesaikan masalah saya kecuali ini!
Iman Mirzadeh
1
Dikatakanmkfs.vfat: unable to open /dev/sdc: Read-only file system
Shayan
14

Jawaban Angel bagus, tapi perintah yang sebenarnya tidak mudah bagiku. Inilah yang berhasil: Sambungkan kartu (kartu saya adalah kartu SD dengan sakelar proteksi manual, tetapi sakelar mati dan dapat ditulisi pada mesin Windows). Ubuntu memasangnya secara otomatis di / media / andrew / 6AB0-1FD91, dan dmesg menunjukkan partisi tersebut adalah / dev / sdb1.

Lepaskan ikatannya, dan buat itu bisa ditulisi

sudo umount /dev/sdb1
sudo hdparm -r0 /dev/sdb

Buat titik mount baru dan pasang di sana (userID saya dari / etc / passwd adalah 1000)

sudo mkdir /media/andrew/temp
sudo mount -o uid=1000 /dev/sdb1 /media/andrew/temp

masih akan mengeluh bahwa itu hanya baca. Saya tidak tahu mengapa saya harus mengubah bendera ini sebelum DAN setelah pemasangan, tetapi itulah satu-satunya cara untuk saya. Setel agar dapat ditulisi lagi, dan pasang kembali di tempat yang sama

sudo hdparm -r0 /dev/sdb1
sudo mount -o remount,rw /dev/sdb1

Sekarang saya dapat menulis ke disk sebagai pengguna normal saya. Saya sangat berhati-hati dengan itu jika itu benar-benar gagal, tetapi perintah itu memungkinkan saya untuk menyelesaikan apa yang saya lakukan.

andrew lorien
sumber
CATATAN: kartu saya sebenarnya gagal (Ubuntu memasangnya hanya-baca, tetapi kamera saya dengan senang hati menulisnya). Beberapa bulan kemudian, ini merusak file - jadi sementara ini akan berhasil, berhati-hatilah!
andrew lorien
Saya mencoba stpes Anda mendapatkan .... # sudo mount -o uid = 1000 / dev / sdc1 / mnt / Hanya dapat membuka '/ dev / sdc1' sebagai read-only Disk ini berisi sistem file yang tidak bersih (0, 0). Sistem file tidak ditutup dengan aman di Windows. Pemasangan.
Ashish Karpe
1
yang bekerja untuk saya, dan tidak ada yang lain di atas ...
Pierre
1
Ini berhasil setelah mencoba banyak solusi. Terima kasih @andrewlorien
Abk
6

Tidak ada jawaban yang diberikan sejauh ini yang benar.

Untuk benar-benar membuatnya bekerja, Anda dapat mengganti deteksi disk USB yang mengumumkan hanya-baca dengan pengaturan kebiasaan USB. Begini cara kerjanya.

1) Colokkan perangkat USB dan lakukan lsusb, misalnya:

$ lsusb
Bus 002 Device 012: ID 0781:5583 SanDisk Corp. 

2) Perhatikan kedua kode di antara titik dua (disebut idVendordan idProduct). Cabut perangkat USB.

3) Hapus usb_storagemodul kernel (dengan anggapan itu dikompilasi sebagai modul)

$ sudo modprobe -r $(lsmod | sed -n 's:,: :g ; s,^usb_storage[ 0-9]*,,p') usb_storage

4) Sekarang kita akan meletakkan modul kembali menggunakan pengaturan mode quirks untuk mengesampingkan deteksi flag hanya-menulis perangkat.

Dari sumber / driver / usb / storage / usb.c # L572 diambil dari v4.19 Anda dapat melihat bahwa pengaturan mode quirks yang kami cari adalah w. Inilah cara kami akan memuat ulang modul kernel:

$ sudo modprobe usb_storage quirks=0781:5583:w

Ganti nomor antara titik dua dengan yang Anda lihat di langkah (1) dari atas.

5) pasang kembali perangkat penyimpanan usb. Sekarang kita dapat mengonfirmasi dengan dmesg bahwa ini berfungsi:

Sebelum: rusak tulis saja

Dan kemudian: bekerja baca / tulis

Juga setelah mengeluarkan perintah mount Anda akan melihat:

/dev/sdb1 on /usb type ext4 (rw,relatime)

Sekarang segera ambil barang-barang Anda dari disk itu, gagal.

Kristopolous
sumber
Terima kasih banyak atas jawaban ini. Saya punya masalah dengan kartu Compact Flash di pembaca USB yang tampaknya terlindungi dari penulisan dan ini adalah satu-satunya solusi yang saya temukan yang memperbaikinya. Yang aneh adalah bahwa kartu CF lainnya bekerja dengan baik.
njh
1

Nah, ini agak menyebalkan.

Saya mencoba semuanya di sini & di tempat lain & tidak ada yang berhasil.

Diformat di laptop Windows teman - berfungsi dengan baik sekarang. SL!

Sigh .... (bertanya-tanya sekarang apakah saya mungkin bisa memperbaikinya di Win 7 VM saya di desktop Mint saya?).

Tracy LF
sumber
-1

Masukkan memory stick dan mulai gparted. Pilih melalui tombol di kanan atas. Itu harus jelas jika Anda memeriksa memory stick Anda (Ukuran adalah petunjuk yang baik). Pilih Partisi -> unmount.

Pilih 'Perangkat' di atas, lalu 'Buat Tabel Partisi' dan pilih defaultnya, yaitu msdos.

Sekarang Anda harus dapat membuat partisi baru dan memformatnya f32. Jika Anda tidak bisa, itu mungkin bangkrut.

HTH

Vic
sumber
6
Partisi tidak dapat diedit karena perlindungan penulisan.
noob