USB बारी लिखना सुरक्षा बंद


92

मेरे पास एक USB है जो संरक्षित है:

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

मैं लेखन सुरक्षा को कैसे बंद कर सकता हूं?

मैंने क्या कोशिश की है

  1. अगर यह एक हार्डवेयर स्विच है जाँच की - नहीं
  2. इसे विंडोज़ पर और लिनक्स पर (टर्मिनल के माध्यम से भी) प्रारूपित करने की कोशिश की
  3. कोशिश की fdisk|chmod
  4. उबंटू सॉफ्टवेयर सेंटर के कई उपकरणों के साथ इसे ठीक करने की कोशिश की गई
  5. Google का उपयोग किया और इस समस्या के बारे में 10,000 चर्चाएँ देखीं लेकिन वे कभी हल नहीं हुईं

अतिरिक्त जानकारी

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
मैं लेखन सुरक्षा के कारण इसे प्रारूपित नहीं कर सकता।
noob

2
@micha - यह किस तरह का यूएसबी डिवाइस है - जाहिर है कि आपने हार्डवेयर स्विच किया है या नहीं? किसी भी त्रुटि यदि आप इसे माउंट करने का प्रयास करते हैं? sudo mount /dev/sdb1 -v?
जीवाश्म

1
मीका, पर्याप्त निष्पक्ष। क्या आपने फ्लैश डिस्क के स्वास्थ्य की स्थिति की जांच करने के लिए यूबीसैक चलाने की कोशिश की है या उबंटू की डिस्क उपयोगिता का उपयोग किया है ? अगर यह ठीक काम कर रहा था और फिर अचानक काम करना बंद कर दिया तो हार्डवेयर में खराबी हो सकती है।
किंगमिलो

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

1
@micha - बहुत अच्छी तरह से, फिर भी इसका मतलब यह नहीं है कि यह दुर्भाग्यपूर्ण नहीं है। स्टोरेज डिवाइसेस के लिए सामान्य रूप से काम करना तब आम होता है जब वास्तव में वे दोषपूर्ण हों, बस दोषपूर्ण अवस्था में। मुझे लगता है कि इस सवाल पर सभी गतिविधि के साथ आपको ड्राइव को बदलने के लिए छोटे दान के लिए पूछना चाहिए, यह आसान होगा
किंग्मिलो

जवाबों:


81

डिस्क डिवाइस के राइट प्रोटेक्ट को बंद करने के लिए, हम निम्न स्तर की सिस्टम यूटिलिटी hdparm का उपयोग इस तरह करते हैं:

sudo hdparm -r0 /dev/sdb

जहाँ हम मानते हैं कि /dev/sdbभौतिक डिस्क डिवाइस है जिस पर हम काम कर रहे हैं। यदि डिवाइस में विभाजन हैं जो केवल-पढ़ने के लिए माउंट किए गए हैं, तो आपको उन्हें डेटा लिखने के लिए रीड-राइट के रूप में फिर से माउंट करना चाहिए।

उम्मीद है की वो मदद करदे।


आप मेरे हीरो हैं। मैं यह कैसे जान सकता हूं कि इस जादू की जादू की आज्ञा के बाद क्या हुआ?
मार्कोस मोडेनेसी

3
आप लिखने से व्याख्या यह है कि यहाँ कमान> पा सकते हैं explainshell.com
bagustris

75
यह दिखाता है readonly = 0 (off)लेकिन फिर भी मैं लिखने या प्रारूप करने में सक्षम नहीं हूं।
shyammakwana.me

1
@ मैं आपके जैसा ही था, जो है: sdxc card माउंटेड रीड-ओनली जो भी कंप्यूटर; hdparm -rशो "1 - ऑन" तो अनलॉक करने के बाद r0: "0 - ऑफ" लेकिन वैसे भी केवल पढ़ने के लिए माउंट। लेकिन मेरे सैनडिस्क एसडी कार्ड को किसी अन्य एडॉप्टर में माउंट करना और मैं इसे आरयू माउंट करता हूं आरडब्ल्यू। यह पता चला है कि मेरे दो माइक्रोएसडी-टू-एसडी एडेप्टर में दो कनेक्टर्स के बीच एक टूटी हुई पिन है। और ये दोनों मैं जो कुछ भी करूंगा, केवल पढ़ने के लिए माउंट करूंगा। कुडोस को @Angel_Genchev जवाब देते हैं कि इसमें सबसे अधिक कमांड है।
tuk0z

2
@lliseil यह संभावना से अधिक है कि पाठक के राइट प्रोटेक्ट स्विच को कार्ड में डाला गया है, सामान्य रूप से कार्ड पर टैब द्वारा दबाया जा रहा है लेकिन स्विच (टैब नहीं) तुला हो सकता है और अटक सकता है। आप sdcard रीडर को राइट-प्रोटेक्ट स्विच पिन्स को काट कर ठीक कर सकते हैं, जो कार्ड पर लॉक टैब के साथ शारीरिक संपर्क बनाते हैं। जब रीडर में स्विच खुला होता है, तो राइट-प्रोटेक्ट बंद होता है, जब यह बंद हो जाता है (कार्ड पर टैब पर दबाए जाने से) राइट प्रोटेक्ट चालू होता है। एक या दोनों स्विच मेटल आर्म्स को हटाने से स्थायी रूप से रीडर पर राइट-प्रोटेक्ट डिसेबल हो जाएगा।
हाइड्रानिक्स

31

आपके प्रश्न पर शोध करने के बाद ऐसा प्रतीत होता है कि यह USB फ्लैश ड्राइव (कुछ पुराने सैमसंग, एक किंग्स्टन मॉडल) के कुछ ब्रांडों के साथ एक बहुत ही असामान्य समस्या है जो अनिवार्य रूप से बिना किसी ज्ञात कारण के केवल "बकवास" होगा। लोगों ने उन्हें खोलने की कोशिश की थी और कोई फायदा नहीं हुआ। यदि आपके पास अभी भी यह ड्राइव है और यह अभी भी वारंटी में है तो मैं इसे वापस कर दूंगा और एक प्रतिस्थापन प्राप्त करूंगा।

मुझे आपके लिए बुरी खबर को तोड़ने के लिए नफरत है = \ _ लेकिन ऐसा प्रतीत होता है कि आप इस स्थिति में भाग्य से बाहर हैं क्योंकि मैंने जो कुछ भी पढ़ा है वह हार्डवेयर विफलता के बिंदु हैं।

संपादित करें 05/27/2016: मैंने हाल ही में एक फ्लैश ड्राइव के साथ व्यक्तिगत रूप से एक समस्या का अनुभव किया। मेरे मामले में, यह एक Corsair Flash Voyager 128GB था जिसने मुझ पर बहुत तेजी से धीमा करना शुरू कर दिया। हालांकि यह यहां दिए गए लक्षणों को नहीं दिखाता है, लेकिन यह कभी-कभी माउंट नहीं होता है और "सिलिकॉन पावर" डिवाइस के रूप में दिखाई देता है। यह ड्राइव के परिणामस्वरूप खराब क्षेत्रों की एक बड़ी राशि और नैदानिक ​​/ प्रोग्रामिंग मोड में छोड़ने का परिणाम था। चूंकि यह मेरे अधिक लोकप्रिय उत्तरों में से एक है और यह "फ्लैश ड्राइव में विफल" की श्रेणी में आता है, मुझे लगा कि मैं इसे संदर्भ के लिए यहां शामिल करूंगा।


5
@admins: मुझे पता है कि इस प्रकार के उत्तरों की अनुमति है या नहीं :)
Tachyons

7
@AboobackerMk यदि यह उत्तर है, तो यह उत्तर है। :)
जेआरजी

4
@Tachyons "इस प्रकार के उत्तरों की अनुमति है या नहीं?" स्टैटेक्सचेंज पर लोगों के साथ क्या है जो लगातार दूसरे लोगों के सवालों या जवाबों को खारिज करने की कोशिश कर रहा है? यह उत्तर स्पष्ट रूप से एक मान्य उत्तर है; कारण के लिए jrg कहा।
GoProCameraByGoPro

@GoProCameraByGoPro जो कि 3 साल पुरानी टिप्पणी है, मेरी चिंता उत्तर की गुणवत्ता को लेकर नहीं थी। और jrg ने पहले ही मेरे प्रश्न का उत्तर दिया :-)
Tachyons

@Tachyons मैं अपने हिस्से को स्टैकटेक्सचेंज के सवाल में यहाँ दिखावा करने के लिए कर रहा हूँ। यदि मेरे पास डेटा होता तो मैं उन लोगों के जनसांख्यिकीय के रुझान को देखता जो ऐसा करते हैं और मैं शायद इसे अनदेखा कर सकता था, लेकिन अब मुझे उनसे सवाल पूछने होंगे जैसे मैं उन्हें देखता हूं।
GoProCameraByGoPro

20

fdisk -lड्राइव का पता लगाने का उपयोग कर , अर्थात्: / dev / sdc1

अभी

umount /dev/sdc1

अंत में, फ्लैश ड्राइव को पुन: स्वरूपित करें

sudo mkfs -t vfat /dev/sdc1

मुझे यह त्वरित और आसान लगा। फ़ॉर्मेट करने से पहले ड्राइव को UNMOUNT करना सुनिश्चित करें।


2
sudo mkfs -t vfat / dev / sdc1> अधिकांश ब्लॉग ऐसा कहते हैं, लेकिन लोग कहते हैं कि यह काम नहीं कर रहा है, तो देखें कि क्या यह काम करता है।
एक शून्य

8
अनमाउंटेड ... बटmkfs.vfat 3.0.9 (31 Jan 2010) mkfs.vfat: unable to open /dev/sdb1
नोब

इसने मेरे लिए काम किया, बस मुझे इसका इस्तेमाल करना था-इसे एक बड़ा विभाजन बनाने के लिए और इसके बजाय / dev / sdc1, / dev / sdc के बजाय।
mchid

मैंने अन्य सभी तरीकों की कोशिश की ( hdparm -r0, blockdev --setrw, remount,rw) लेकिन इसके अलावा मेरी समस्या का कुछ भी हल नहीं हुआ!
इमान मिर्ज़ादेह

1
यह कहता हैmkfs.vfat: unable to open /dev/sdc: Read-only file system
शयन

14

परी का जवाब अच्छा है, लेकिन वास्तविक आज्ञाएँ मेरे लिए इतनी आसान नहीं थीं। यह वही काम करता है: कार्ड में प्लग (मेरा एक एसडी कार्ड है, जिस पर मैनुअल राइट-प्रोटेक्ट स्विच है, लेकिन स्विच बंद है और यह विंडोज़ मशीन पर लिखने योग्य है)। उबंटू ने इसे स्वचालित रूप से / मीडिया / andrew / 6AB0-1FD91 पर माउंट किया, और dmesg ने विभाजन को देव / sdb1 के रूप में दिखाया।

इसे अनमाउंट करें, और इसे लेखन योग्य बनाएं

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

एक नया माउंट पॉइंट बनाएं और इसे वहां माउंट करें (/ से / user / passwd पर मेरा उपयोगकर्ता नाम 1000 है)

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

यह अभी भी शिकायत करेगा कि यह केवल पढ़ने के लिए है। मुझे नहीं पता कि मुझे इस झंडे को माउंट करने से पहले और बाद में क्यों बदलना पड़ा, लेकिन यह मेरे लिए काम करने का एकमात्र तरीका है। इसे फिर से लिखने योग्य पर सेट करें, और इसे उसी स्थान पर हटा दें

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

अब मैं डिस्क पर अपने सामान्य उपयोगकर्ता के रूप में लिख सकता हूं। मैं वास्तव में असफल होने के मामले में इसके साथ बहुत सावधान रह रहा हूं, लेकिन उन आदेशों ने मुझे वह करने की अनुमति दी जो मैं कर रहा था।


नोट: मेरा कार्ड वास्तव में विफल हो रहा था (उबंटू इसे केवल-पढ़ने के लिए गिनता है, लेकिन मेरा कैमरा खुशी से इसे लिखता है)। कुछ महीने बाद, यह फाइलों को दूषित कर रहा है - इसलिए जब यह काम करेगा, तो सावधान रहें!
andrew lorien

मैंने आपके स्टैप्स को प्राप्त करने की कोशिश की .... # sudo माउंट -o uid = 1000 / dev / sdc1 / mnt / केवल '/ dev / sdc1' खोल सकता है क्योंकि केवल-पढ़ने के लिए डिस्क में एक अशुद्ध फ़ाइल सिस्टम होता है (0, 0)। फ़ाइल सिस्टम विंडोज पर सुरक्षित रूप से बंद नहीं था। फिक्सिंग।
आशीष करपे

1
मेरे लिए काम किया, और उपरोक्त में से कोई भी नहीं ...
पियरे

1
कई समाधानों को आजमाने के बाद यह काम किया। धन्यवाद @andrewlorien
अबक

6

अब तक प्रदान किए गए इन उत्तरों में से कोई भी सही नहीं है।

वास्तव में इसे काम करने के लिए, आप USB डिस्क की जांच को ओवरराइड कर सकते हैं इसकी USB-quirks सेटिंग के साथ केवल पढ़ने के लिए। यहां देखिए यह कैसे काम करता है।

1) USB डिवाइस में प्लग इन करें और एक करें lsusb, उदाहरण:

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

2) बृहदान्त्र (कहा जाता है idVendorऔर idProduct) के बीच उन दो कोडों पर ध्यान दें । USB डिवाइस को अनप्लग करें।

3) usb_storageकर्नेल मॉड्यूल निकालें (यह मानकर कि इसे मॉड्यूल के रूप में संकलित किया गया है)

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

4) अब हम डिवाइस के राइट-ओनली फ्लैग का पता लगाने के लिए क्विरक्स मोड सेटिंग का उपयोग करके मॉड्यूल को वापस डाल देंगे।

V4.19 से लिए गए स्रोत / ड्राइवर / usb / भंडारण / usb.c # L572 से आप देख सकते हैं कि हम जिस क्वर्की मोड की तलाश कर रहे हैं, वह है w। यहाँ हम कर्नेल मॉड्यूल को पुनः लोड करेंगे:

$ sudo modprobe usb_storage quirks=0781:5583:w

ऊपर से चरण (1) में आपके द्वारा देखे गए कॉलनों के बीच संख्याओं को बदलें।

5) USB संग्रहण डिवाइस को वापस प्लग करें। हम अब dmesg के साथ पुष्टि कर सकते हैं कि यह काम किया है:

इससे पहले: टूटा हुआ ही लिखें

और बाद में: काम पढ़ना / लिखना

माउंट कमांड जारी करने के बाद भी आप देखेंगे:

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

अब अपने सामान को उस डिस्क से तुरंत हटाएं, यह विफल हो रहा है।


इस उत्तर के लिए बहुत बहुत धन्यवाद। मुझे USB रीडर में कॉम्पैक्ट फ्लैश कार्ड में एक समस्या थी जो लिखने के लिए सुरक्षित थी और यह एकमात्र समाधान है जो मैंने पाया है कि इसे ठीक करता है। क्या अजीब है कि अन्य सीएफ कार्ड ठीक काम कर रहे हैं।
njh

1

खैर, यह एक bummer का एक सा है।

मैंने यहाँ और दूसरी जगहों पर सब कुछ आज़माया और कुछ भी काम नहीं किया।

यह एक दोस्त के विंडोज लैपटॉप पर स्वरूपित - अब ठीक काम करता है। एफएफएस!

आहें .... (अब सोच रहा था कि क्या मैं इसे अपने मिंट डेस्कटॉप पर मेरे विन 7 वीएम में ठीक कर सकता था?)।


-1

मेमोरी स्टिक डालें और gparted शुरू करें। इसे दाईं ओर स्थित बटन के माध्यम से चुनें। यह स्पष्ट होना चाहिए कि क्या आप अपनी मेमोरी स्टिक का निरीक्षण कर रहे हैं (आकार एक अच्छा सुराग है)। विभाजन का चयन करें -> अनमाउंट करें।

शीर्ष पर 'उपकरण' चुनें, फिर 'विभाजन तालिका बनाएँ' और डिफ़ॉल्ट लें, जो कि msdos है।

अब आपको एक नया विभाजन बनाने में सक्षम होना चाहिए और इसे f32 प्रारूपित करना चाहिए। यदि आप नहीं कर सकते हैं, तो यह संभवतः बस्ट है।

HTH


6
विभाजन लेखन सुरक्षा के कारण संपादन योग्य नहीं हैं।
noob
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.