Linuxで保護されたペンドライブを書く

書き込み保護されたペンドライブ

SDメモリカード、ペンドライブ、または必要なUSBストレージディスクがある場合 ライトプロテクトこの記事では、ステップバイステップで簡単な方法でそれを行う方法を説明します。 また、特定のドライバーが許可する書き込み防止保護が少しあります。これは«として知られています。書き込み保護ビット»1または0のどちらでアクティブであるかに応じて、ユニットへの書き込みが可能になります。 このビットをCPUのフラグレジスタのWPと混同しないでください。これにより、UNIXライクなシステムでフォークプロセスが作成されて上書きが防止され、メインメモリがデータの書き込みから保護されます。 一部のSDカードやストレージメディアに見られる一般的な保護タブにも当てはまりません。 この場合、セカンダリストレージメディアに実装されている保護について言及しています。

のコントローラーが 記憶媒体 USBまたはSDメモリカード、またはその他の手段で、このビットがアクティブであることを検出すると、ドライバはカーネルが書き込み順序を注文できないようにするため、コンテンツの読み取りのみが可能になります。 変更したくないデータを保存する場合、誤って書き込んだり削除したりするのを防ぐのは確かに非常に実用的です。 しかし、これらの保護されたメディアのXNUMXつが私たちの手に渡り、このビットの存在がわからない場合、ユニットが損傷していると考えたり、一部のペンドライブやSDカードがしなければならない小さなタブを上下させたりするのに時間を浪費する可能性があります結果なしでそれらを保護します。(ロック/ロック解除)..。

読み取り専用または書き込み専用メディアをマウントします。

ロックタブ付きSDカード

書き込み保護ビットで探しているものとは異なりますが、メディアが 自動または手動で読み取り専用にマウント、そのため、それを書き込むことはできません。 場合によっては非常に煩わしく、変更や保存を妨げる可能性のあるもの。 まあ、これに対する解決策は非常に簡単です。

関連記事
LinuxでUSBストレージを無効にする

たとえば、/ etc / fstabファイルで、デバイスがオプションを使用して自動的にマウントするように構成されている場合 ro(読み取り専用) または、コマンドでマウントした場合:

sudo mount -o ro /dev/sda /mnt

このような場合、/ dev / sdaデバイスのみを読み取ることができます。この場合、デバイスは/ mntマウントポイントにマウントされています。 もう一度書くことができるように:

sudo mount -o remount,rw /dev/sda /mnt

この方法がうまくいかない場合、それは私たちが話したビットが機能しているためであり、それが私たちが以下に提示するツールを使用しなければならない理由です。

hdparmとは何ですか?

オペレーター付きハードディスク

コマンド hdparmは低レベルのツールです これは、さまざまなLinuxカーネルドライバーと、libataライブラリを使用するSATA / PATA / SASストレージメディア、および古いIDEメディア間のインターフェイスとして機能します。 SDなどのカードリーダーを含む多くのUSBストレージメディアコントローラーもこのタイプのコントローラーを使用して動作するため、互換性もあります。

Su 基本的な構文 次のとおりです。

hdparm [オプション] [デバイス]

そしてプレゼント 多くのオプション どちらを使用するかはお勧めしませんが、何がうまくいくかわからない場合は使用しないことをお勧めします。低レベルのツールであるため、たとえば-Bなどの重要なオプションを操作すると、デバイスに深刻な損傷を与える可能性があります。 しかし、そのオプションの中には、次のような非常に興味深いものがいくつかあることをお伝えします。

  • を取得 コンフィギュレーション ディスクの:
sudo hdparm /dev/sdd

  • 表示 識別 ディスクの:
 sudo hdparm -i /dev/sdd 
  • バッファとキャッシュの読み取り時間を確認します。
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

常に使用することを忘れないでください 特権、つまり、rootユーザーとして実行するか、sudoを前に置くと、機能しません...

hdparmでメモリ保護ビットを取り外して設定します。

hdparmツールがわかったら、このビットのステータスを確認できる-rオプションを使用できます。 簡単なコマンドで。 これを行うには、ストレージデバイスの物理名を知っているだけで済みます。 たとえば、/ dev / sddが呼び出された場合、その場合は次を使用できます。

 sudo hdparm -r /dev/sdd 

そして、そのビットの値が画面に表示されます。 その値が1の場合、モードがアクティブであることを意味します 読み取り専用 または読み取り専用、つまり、書き込み保護メソッドがアクティブであり、メモリに何も書き込むことができなくなります。 非アクティブ化するか、ビットを変更するには、次の手順を実行する必要があります。

sudo hdparm -r0 /dev/sdd

そして今、最初のコマンドを実行して状態を消費すると、それが0に戻ったことがわかります。したがって、読み取り専用モードはオフまたは非アクティブ化されています。 アクティブ状態に戻したい場合は、オプションを使用してください -r1の代わりに-r0 そして準備ができています。 例えば:

sudo hdparm -r1 /dev/sdd

その単純なことは このビットを有効または無効にします。 あまり謎はありませんが、これを知らない人にとっては、ストレージメディアの保護を解除することになると頭痛の種になる可能性があります。

私はそれがあなたを助けたことを願っています、そして今あなたは書き込み保護されたペンドライブを作る方法を知っています、忘れないでください コメントを残すs..。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   エルナン

    こんにちは!
    まず、メモをありがとう! それらは常に非常に便利です。

    私はDebian9ユーザーです。
    この特定のケースでは、私は解決できない問題を抱えています。 削除できない書き込み保護機能付きの「感染した」ペンがあります。 私は正直にすべて(Windowsまたはレスキューディスクの低レベルフォーマット、パーティションの変更など)を試しただけで、何も試しなかったので、すでに物理的だと思っています。

    解決しようと思っていたのですが、手順を踏むとペンドライブの書き込み保護が「オン」になっているのに、「オフ」に変更しても削除や変更ができません。

    どちらでしょうか? これを解決する他の方法はありますか? (私は私が中に持っている情報を失ってもかまいません)

    よろしくお願いします。

    エルナン

    1.    パコ

      良い! 彼らがあなたに解決策を教えてくれたのか、それとも最終的にあなたがそれを解決したのかはわかりませんが、私はあなたと同じケースです。
      アドバイスしてもらえますか?
      どうもありがとうございます。

  2.   ウィリアンサルガド

    良い説明

  3.   セルジオ

    こんにちは私はシステムが認識しないUSBを持っています、あなたが私を助けてくれるなら私はあなたに情報を送りますありがとう

    dmesg

    [83384.348839] usb 1-1:ehci-pciを使用した新しい高速USBデバイス番号8
    [83384.506219] usb 1-1:新しいUSBデバイスが見つかりました、idVendor = 0c76、idProduct = 0005、bcdDevice = 1.00
    [83384.506225] usb 1-1:新しいUSBデバイス文字列:Mfr = 1、Product = 2、SerialNumber = 0
    [83384.506228] usb 1-1:製品:USB大容量記憶装置
    [83384.506231] usb 1-1:メーカー:GENERIC
    [83384.506848] usb-storage 1-1:1.0:USB大容量ストレージデバイスが検出されました
    [83384.508235] scsi host5:usb-storage 1-1:1.0
    [83385.524951] scsi 5:0:0:0:ダイレクトアクセスGENERICUSBマスストレージ1.00PQ:0 ANSI:2
    [83385.556757] sd 5:0:0:0:アタッチされたscsi汎用sg3タイプ0
    [83385.561706] sd 5:0:0:0:[sdc]接続されたSCSIリムーバブルディスク

    root @ localhost:〜#fdisk -l
    ディスク/ dev / sda:698.7 GiB、750156374016バイト、1465149168セクタ
    単位:1 * 512 = 512バイトのセクタ
    セクター・サイズ(論理/物理):512バイト/ 4096バイト
    I / Oサイズ(最小/最適):4096バイト/ 4096バイト
    ディスクラベルタイプ:gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    デバイス開始終了セクターサイズタイプ
    / dev / sda1 2048 1050623 1048576 512MEFIシステム
    / dev / sda2 1050624 49879039 48828416 23.3GLinuxファイルシステム
    / dev / sda3 49879040 69410815 19531776 9.3GLinuxファイルシステム
    / dev / sda4 69410816 76107775 6696960 3.2GLinuxスワップ
    / dev / sda5 76107776 80013311 3905536 1.9GLinuxファイルシステム
    / dev / sda6 80013312 1465147391 1385134080 660.5GLinuxファイルシステム

    root @ localhost:〜#fdisk -l / dev / sdc
    fdisk:開くことができません/ dev / sdc:メディアが見つかりません

    root @ localhost:〜#hdparm / dev / sdc

    / dev / sdc:
    SG_IO:センスデータの不良/欠落、sb []:f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    multcount = 0(オフ)
    読み取り専用= 0(オフ)
    先読み= 256(オン)

    root @ localhost:〜#hdparm -C / dev / sdc

    / dev / sdc:
    ドライブの状態は次のとおりです。スタンバイ

    root @ localhost:〜#hdparm -I / dev / sdc

    / dev / sdc:
    SG_IO:センスデータの不良/欠落、sb []:f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    リムーバブルメディアを備えたATAデバイス
    規格:
    使用される可能性が高い:1
    構成:
    論理最大電流
    シリンダー0
    頭0
    セクター/トラック0
    -
    論理/物理セクターサイズ:512バイト
    M = 1024 * 1024のデバイスサイズ:0Mバイト
    M = 1000 * 1000のデバイスサイズ:0Mバイト
    キャッシュ/バッファサイズ=不明
    機能:
    IORDYはありそうもない
    ダブルワードIOを実行できません
    R / Wマルチセクター転送:サポートされていません
    DMA:サポートされていません
    IOP:pio0

  4.   デクスター

    あなたの助けに感謝します、今私は私のusbが書き込みに反対しているかどうかを知ることができました、そして私はそれが書き込みに反対していないことを確認しました、それでこれはすでに低レベルのフォーマットソリューションです、私はウイルスがすぐにusbを切断したことを付け加えなければなりませんまたはXNUMXつではなく動作を許可されたので、時間が残らなかったので、割り当てた名前(端末の「sdc」)をすでに知っていたので、すべてをrootユーザーとして配置しました。
    #dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1Mここでしばらく待ちます
    #dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1取り出して、与えたUSBをもう一度入れます
    #mkfs.vfat -F 32 -n "anaconda" / dev / sdcこれで完了です

  5.   MGT

    パラベン! 私がこの主題で与える多くのボルタスは、coaの説明をすることです。 ありがたいモイ。

  6.   ビクター

    すごい。 ありがとうございました。

  7.   伊織

    最後に、本当に私のために働いた何か、ありがとう。

  8.   中止する

    こんにちは私は16GBのADATAカテゴリ10microsdメモリを持っています

    手順を実行したところ、機能しているようですが、再挿入して状態を再確認すると、読み取り専用に戻ります。

    フォーマットしようとしましたが、うまくいきません。 私が見ることができるのは私のファイルです。

    問題を解決するための他のツールまたは方法はありますか?

  9.   ホセ

    簡単で簡潔、すべての説明と例を完璧に、それは非常に役に立ちました。

  10.   ミゲル·アンヘル

    こんにちは、私は最新バージョンのKali Linuxユーザーです。すでにXNUMX億のテクニックを試しましたが(誇張されて申し訳ありません)、LinuxでもWindowsでもどちらも使用できません。

  11.   ダニカルドン

    私の場合、debian、リムーバブルメモリをアンマウントする必要があります…。

  12.   JR

    素晴らしい、ありがとう
    私は彼らの指示でいくつかの販促用抽出物を回収することができました

  13.   ジェロ

    こんにちは、それは動作しますが、ユーザーのフォルダは異なります、それを明確にするのは良いでしょう、しかし私はエラーがあります、コマンドでそれを変更することを示します、しかし私がフォルダまたはそれが言うペンドライブに何かを置きたいとき私はそれが書き込み保護されていることを。 あなたが私がそれを解決するのを手伝ってくれるなら、それは素晴らしいことです。 ご挨拶

  14.   オリエル

    コマンドを受け入れ、保護されていないものとして表示します。r= 0ですが、フォーマットしたい場合は保護されていると表示されます。 ありがとうございました

  15.   ウィリアムRラレアルG

    ごきげんよう。 これで私は試していませんでしたが、Windowsでは何もしませんでした。 私のペンドライブは書き込み保護されています。sudohdparm-r/ dev / sddを使用しても、値は1になりますが、sudo hdparm -r0 / dev / sddを使用しても、書き込み保護を削除できませんでした。 ベネズエラからの感謝と挨拶。
    私のLinuxバージョンはopenSUSETumbleweed15.3です

  16.   カルロスAGラモス

    明快さと信頼性のある過去の情報。 Levei時間は、semの数のソリューションをテストします。これは、ここに示されているように、gravaçãoの読み取りとブロックの対象となる問題の決定的なものです。

  17.   LUIS

    素晴らしい貢献、あなたが言ったようにすべてが判明しました...ありがとう

  18.   ウジエル

    どうもありがとうございました、非常に便利です、これは通常USBで頻繁に発生します、解決策は簡単で速いです。

  19.   ロレンツォ

    貢献していただきありがとうございます。
    私の場合、Ubuntu 23.4 はすべてのコマンドを受け入れますが、保護ビットのロックを解除しません。
    任意のアイデアですか?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] ローレンスのパスワード:

    / dev / sdc:
    読み取り専用 = 1 (オン)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    読み取り専用を 0 (オフ) に設定する
    読み取り専用 = 1 (オン)
    lorenzo@lorenzo-B85M-D3H:~$

    感謝