USB yazma koruması


92

Yazma korumalı bir USB var:

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

Yazma korumasını nasıl kapatabilirim?

Ne denedim

  1. Donanım anahtarı olup olmadığı kontrol edildi - hayır
  2. Pencerelerde ve Linux'ta biçimlendirmeye çalışıldı (terminal üzerinden de)
  3. Denendi fdisk|chmod
  4. Ubuntu yazılım merkezinden birkaç araçla bunu düzeltmeye çalıştım
  5. Google’ı kullandı ve bu sorun hakkında yaklaşık 10.000 tartışma gördüm, ancak hiçbir zaman çözülmedi

Ek bilgi

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

7
Yazma koruması nedeniyle biçimlendiremiyorum.
Noob

2
@micha - ne tür bir USB aygıtı - belli ki bir donanım anahtarı olup olmadığını kontrol ettiniz mi? monte etmeye çalışırsanız herhangi bir hata? sudo mount /dev/sdb1 -v?
fossfreedom

1
micha, yeterince adil. Efsck çalıştırmayı denediniz mi veya flash diskin sağlık durumunu kontrol etmek için Ubuntu'nun Disk Yardımcı Programını kullandınız mı? İyi çalışıyorsa ve aniden çalışmayı durdurduysa, bir donanım arızası olabilir.
kingmilo

1
@kingmilo e2fsck:Bad magic number in super-block while trying to open /dev/sdb1 SuperBlock is not readable.
noob

1
@micha - çok iyi, yine de maalesef hatalı olmadığı anlamına gelmiyor. Depolama cihazlarının aslında hatalı olduklarında, yalnızca farklı bir hatalı aşamada çalıştıklarında normal görünmeleri yaygındır. Bence bu sorudaki tüm faaliyetlerde sürücünün yerini almak için küçük bağışlar istemeniz gerekir, daha kolay olurdu 😜
kingmilo

Yanıtlar:


81

Disk aygıtının yazma korumasını kapatmak için, aşağıdaki gibi düşük seviyeli sistem yardımcı programı hdparm'ı kullanıyoruz:

sudo hdparm -r0 /dev/sdb

/dev/sdbüzerinde çalıştığımız fiziksel disk aygıtı olduğunu varsaydığımız yer. Aygıtın salt okunur olarak monte edilmiş bölümleri varsa, bunlara veri yazmak için onları yeniden okuma yazma olarak yeniden takmanız gerekir.

Umarım yardımcı olur.


Kahramanımsın. Bu sihir büyüsü komutundan sonra ne olduğunu nereden öğrenebilirim?
Marcos Modenesi

3
Burada komuta yazarak açıklama> bulabilirsiniz explainshell.com
bagustris

75
gösteriyor readonly = 0 (off)ama hala yazamıyorum ya da formatlayamıyorum.
shyammakwana.me

1
@OP Sizinle aynı şeylere sahiptim: sdxc kartı bilgisayar ne olursa olsun salt okunur; hdparm -r"1 - açık" ve ardından r0"0 - kapalı" tuşunun kilidini açtıktan sonra gösterir ; Ancak SanDisk sd kartımı başka bir adaptöre taktığımda rw'yi takabilirim. Benim microSD-SD adaptörlerimin ikisinin iki konektör arasında kırılmış bir pimi var. Ve bu ikisi ne yaparsam yap, salt okunur yapacaklar. Kuddos'a @Angel_Genchev'in verdiği cevapta en fazla emri var.
tuk0z

2
@lliseil Okuyucunun yazmaya karşı koruma düğmesine, takılan kartın üzerine basılması, normalde karttaki tırnakla bastırılması muhtemeldir, ancak anahtar (tırnak değil) kıvrılabilir ve sıkışabilir. sdcard okuyucuyu, karttaki kilit sekmesi ile fiziksel temasta bulunan yazma koruma sivri uçlarını keserek düzeltebilirsiniz. Okuyucudaki anahtar açıkken, yazmaya karşı koruma kapalı, kapalı olduğunda (karttaki sekmeye basılarak) yazmaya karşı koruma açıktır. Anahtarların metal kollarından birinin veya her ikisinin çıkarılması, okuyucu üzerindeki yazma korumasını kalıcı olarak devre dışı bırakacaktır.
Hydranix

31

Sorunuzu araştırdıktan sonra, bunun bilinen bazı sebeplerden ötürü sadece "bozulmayacak" bazı USB flaş sürücülerinde (bazı eski Samsung, bir Kingston modelinde) yaygın olmayan bir sorun olduğu anlaşılıyor. İnsanlar onları açmayı ve iki lapa atmayı (belki lapa lapa bir anahtardan?) Boşuna atlamaya çalışmıştı. Bu sürücüyü hala kullanıyorsanız ve hala garanti kapsamındaysa iade edeceğim ve yenisini alacağım.

Kötü haberi sana vermekten nefret ediyorum = \ ama okuduğum her şey donanım arızasına işaret ettiğinden, bu durumda şanssızsın gibi görünüyor.

Düzenleme 05/27/2016: Son zamanlarda üzerimde dökülüyor bir flash sürücü ile kişisel olarak bir sorun yaşadım. Benim durumumda, bu benim üzerimde oldukça sert bir şekilde yavaşlayan bir Corsair Flash Voyager 128GB idi. Burada belirtilen belirtileri göstermese de, bazen "Silikon Gücü" cihazı olarak takılmaz ve ortaya çıkmazdı. Bu, sürücünün büyük miktarda kötü sektör tahakkuk ettirmesinin ve teşhis / programlama moduna girmesinin bir sonucudur. Bu benim en popüler cevaplarımdan biri ve bu da "hatalı flash sürücüler" kategorisine girdiği için referans için buraya ekleyeceğimi düşündüm.


5
@ admin: bu tür cevaplara izin verilip verilmediğini bilmek istiyorum :)
Tachyons

7
@AboobackerMk Cevap bu ise, cevaptır. :)
jrg

4
@Takyonlar "bu tür cevaplara izin verilip verilmeyeceği?" yığın değişimde sürekli olarak başkalarının soru veya cevaplarını itibarsızlaştırmaya çalışan insanlarla ne var? Bu cevap açıkça geçerli bir cevaptır; Bu nedenle jrg dedi.
GoProCameraByGoPro

@GoProCameraByGoPro 3 yaşındaki yorum, benim kaygı cevap kalitesiyle ilgili değildi. ve JRG zaten :-) soruma cevap
takyonların

@Takyonlar yığın değiştirme işleminde ön hükmü sorgulamak için üzerime düşüyorum. Verilere sahip olsaydım, bunu yapan insanların demografik eğilimine bakardım ve muhtemelen onu görmezden gelebilirdim, ama şimdilik onlara gördüğüm gibi sorular sormam gerekecek.
GoProCameraByGoPro

21

kullanarak fdisk -lsürücüyü bulun yani: / dev / sdc1

şimdi

umount /dev/sdc1

Sonunda flash sürücüyü yeniden biçimlendirin

sudo mkfs -t vfat /dev/sdc1

Bunu çabuk ve kolay buldum. Biçimlendirmeyi denemeden önce sürücüyü UNMOUNT olduğundan emin olun.


2
sudo mkfs -t vfat / dev / sdc1> çoğu blog bunu söylüyor, ancak insanlar çalışmadığını söylüyor, çalışıp çalışmadığını görüyorlar.
Bir Sıfır

8
unmounted ... amamkfs.vfat 3.0.9 (31 Jan 2010) mkfs.vfat: unable to open /dev/sdb1
noob

benim için çalıştı, sadece büyük bir bölme yapmak için -I kullanmak zorunda kaldım, bunun yerine / dev / sdc1, / dev / sdc kullandım.
mchid

Diğer tüm yolları denedim ( hdparm -r0, blockdev --setrw, remount,rw) ama hiçbir şey sorunumu çözmedi!
Iman Mirzadeh

1
Diyor kimkfs.vfat: unable to open /dev/sdc: Read-only file system
Shayan

14

Angel'ın cevabı iyidir, ama gerçek komutlar benim için kolay değildi. İşe yarayan şuydu: Kartı takın (benimki üzerinde el ile yazmaya karşı koruma düğmesi olan bir SD karttır, ancak düğme kapalıdır ve bir Windows makinesine yazılabilir). Ubuntu otomatik olarak / media / andrew / 6AB0-1FD91 cihazına monte etti ve dmesg, / dev / sdb1 bölümünü gösterdi.

Çıkarın ve yazılabilir duruma getirin

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

Yeni bir montaj noktası oluşturun ve buraya monte edin (/ etc / passwd'deki kullanıcı kimliğim 1000'dir)

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

hala salt okunur olduğundan şikayet edecek. Montajdan önce VE sonra neden bu bayrağı değiştirmek zorunda olduğumu bilmiyorum, ama benim için çalışmasının tek yolu bu. Tekrar yazılabilir olarak ayarlayın ve aynı yere yeniden yerleştirin

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

Artık diske normal kullanıcım olarak yazabiliyorum. Aslında başarısız olma ihtimaline karşı çok dikkatli oluyorum, ancak bu komutlar yaptığım şeyi bitirmeme izin verdi.


NOT: kartım gerçekten bozuluyordu (Ubuntu salt okunur şekilde takıyor, ancak fotoğraf makinem mutlu bir şekilde yazıyor). Birkaç ay sonra, dosyaları bozuyor - bu yüzden bu işe yararken dikkatli olun!
andrew lorien

Stpesinizi almaya çalıştım .... # sudo mount -o uid = 1000 / dev / sdc1 / mnt / Yalnızca '/ dev / sdc1' dosyasını salt okunur olarak açabilir Disk, temiz olmayan bir dosya sistemi içeriyor (0, 0). Dosya sistemi Windows'ta güvenli bir şekilde kapatılmadı. Tamir ediyorum.
Ashish Karpe,

1
Bu benim için çalıştı ve yukarıdaki diğer hiçbiri ...
Pierre

1
Bu birçok çözüm denedikten sonra çalıştı. Thanks @andrewlorien
Abk

6

Şu ana kadar verilen cevapların hiçbiri doğru değil.

Gerçekten çalışmasını sağlamak için, salt okunur bir USB tuhaflık ayarıyla bildiren USB diskin algılanmasını geçersiz kılabilirsiniz. İşte nasıl çalışıyor.

1) USB cihazını takın ve bir lsusbörnek yapın:

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

2) İki nokta arasındaki kolonu ( idVendorve olarak adlandırılan) not alın idProduct. USB cihazını çıkarın.

3) usb_storageÇekirdek modülünü çıkarın (bir modül olarak derlendiği varsayılarak)

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

4) Şimdi, cihazın salt okunur bayrağının algılanmasını geçersiz kılmak için bir tuhaflık modu ayarı kullanarak tekrar modüle koyacağız.

Gönderen kaynak / sürücüleri / usb / depolama / usb.c # L572 v4.19 alınan Eğer aradığımız Quirks modu ayarı olduğunu görebiliriz w. İşte çekirdek modülünü nasıl yeniden yükleyeceğiz:

$ sudo modprobe usb_storage quirks=0781:5583:w

Kolonlar arasındaki sayıları yukarıdan (1) adımda gördüğünüzle değiştirin.

5) usb depolama aygıtını tekrar takın. Şimdi bunun çalıştığını dmesg ile onaylayabiliriz:

Önce: sadece bozuk yaz

Ve sonra: çalışma okuma / yazma

Ayrıca bir mount komutu verdikten sonra göreceksiniz:

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

Şimdi gidip derhal o diskten eşyalarını çıkar, başarısız oluyor.


Bu cevap için çok teşekkür ederim. Yazma korumalı gibi görünen bir USB okuyucusunda Compact Flash kartla ilgili bir sorun yaşadım ve bu sorunu çözen tek çözüm bu oldu. İşin garibi, diğer CF kartların iyi çalışıyor olması.
njh

1

Bu biraz serseri.

Her şeyi burada & başka yerde & hiçbir şey işe yaramadı.

Bir arkadaşın Windows laptopunda biçimlendirilmiş-- şimdi iyi çalışıyor. FFS!

Sigh .... (şimdi bunun yerine Mint masaüstümdeki Win 7 VM'mde düzeltmeyi yapıp yapamayacağımı merak ediyorum?).


-1

Memory stick'i takın ve gparted başlayın. Sağ üstteki düğme ile seçin. Eğer bellek çubuğunuzu inceliyorsanız, bariz olmalıdır (Boyut iyi bir ipucudur). Bölüm -> bağlantısını kes.

Önce 'Aygıt'ı, ardından' Bölüm Tablosu Oluştur'u seçin ve msdos olan varsayılanı alın.

Şimdi yeni bir bölüm oluşturabilmeli ve formatlayabilmelisiniz. Yapamazsan, muhtemelen büstür.

HTH


6
Bölümler yazma koruması nedeniyle düzenlenemez.
noob
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.