web-dev-qa-db-ja.com

USB書き込み保護をオフにする

私は書き込み保護されている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. Windows上およびLinux上で(端末経由でも)フォーマットしようとしました
  3. fdiskを試しました| chmod
  4. Ubuntuソフトウェアセンターのいくつかのツールでこれを修正しようとしました
  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
92
noob

ディスクデバイスの書き込み保護をオフにするには、次のように低レベルシステムユーティリティhdparmを使用します。

Sudo hdparm -r0 /dev/sdb

ここで、/dev/sdbは作業中の物理ディスクデバイスであると想定しています。デバイスに読み取り専用としてマウントされているパーティションがある場合、それらにデータを書き込むには、読み取り/書き込みとして再マウントする必要があります。

お役に立てば幸いです。

81
Angel Genchev

質問を調査した結果、これは特定のブランドのUSBフラッシュドライブ(一部の古いサムスン、キングストンモデル)であまり一般的ではない問題であり、既知の理由なしに本質的に「がらくた」になるようです。人々はそれらを開いて、2つのリード(おそらく不安定なスイッチから?)をジャンプしようとしていませんでした。このドライブがまだあり、保証期間内であれば、返品して交換品を入手します。

私はあなたに悪い知らせを伝えたくないのですが、私が読んだすべてのことはハードウェア障害を指摘しているので、この状況では運が悪いようです。

編集05/27/2016:最近、フラッシュドライブが飛び出しているという問題を個人的に経験しました。私の場合、これはCorsair Flash Voyager 128GBであり、私にとってはかなりの速度低下が始まりました。ここに記載されている症状は表示されませんでしたが、マウントされず、「シリコンパワー」デバイスとして表示されることがありました。これは、ドライブが大量の不良セクタを蓄積し、診断/プログラミングモードに落ちた結果でした。これは私の人気のある回答の1つであり、これも「故障したフラッシュドライブ」のカテゴリに分類されるため、参照用にここに含めると考えました。

31
Chuck R

fdisk -lを使用して、ドライブを見つけます。例:/ dev/sdc1

umount /dev/sdc1

最後に、フラッシュドライブを再フォーマットします

Sudo mkfs -t vfat /dev/sdc1

私はこれをすばやく簡単に見つけました。フォーマットする前に、必ずドライブを取り外してください。

20
Ringtail

エンジェルの答えは良いですが、実際のコマンドは私にとってそれほど簡単ではありませんでした。これが機能しました:カードを差し込みます(私のものは、手動の書き込み保護スイッチが付いたSDカードですが、スイッチはオフで、Windowsマシンで書き込み可能です)。 Ubuntuは/ media/andrew/6AB0-1FD91に自動的にマウントし、dmesgはパーティションが/ dev/sdb1であることを示しました。

アンマウントし、書き込み可能にします

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

新しいマウントポイントを作成してそこにマウントします(/ etc/passwdのユーザーIDは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

これで、通常のユーザーとしてディスクに書き込むことができます。実際にエラーが発生した場合に備えて、非常に注意を払っていますが、これらのコマンドを使用すると、自分がやっていることを完了することができました。

14
andrew lorien

これまでに提供されたこれらの答えはどれも正しいものではありません。

実際に機能させるために、USB quirks設定で読み取り専用を通知するUSB​​ディスクの検出を上書きできます。仕組みは次のとおりです。

1)USBデバイスを接続し、lsusbを実行します。例:

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

2)コロンの間のこれらの2つのコード(idVendoridProductと呼ばれる)に注意してください。 USBデバイスを取り外します。

3)usb_storageカーネルモジュールを削除します(モジュールとしてコンパイルされていると仮定)

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

4)ここで、quirksモード設定を使用してモジュールを元に戻し、デバイスの書き込み専用フラグの検出をオーバーライドします。

source/drivers/usb/storage/usb.c#L572 v4.19から取得したものから、探しているquirksモード設定はwであることがわかります。カーネルモジュールをリロードする方法は次のとおりです。

$ Sudo modprobe usb_storage quirks=0781:5583:w

コロンの間の数字を、上記の手順(1)で見た数字に置き換えます。

5)usbストレージデバイスを再び接続します。これで、dmesgでこれが機能したことを確認できます。

前: - broken write only

以降: - working read/write

また、mountコマンドを発行すると、以下が表示されます。

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

今すぐそのディスクからあなたのものを取り出してください、それは失敗しています。

6
kristopolous

まあ、これはちょっと残念です。

ここと他のすべてを試しましたが、nothingは機能していました。

友人のWindowsラップトップでフォーマットしましたが、現在は正常に動作します。 FFS!

ため息....(代わりに、私のMintデスクトップのWin 7 VMで修正できたのではないかと考えていますか?)。

1
Tracy LF