fdisk -lが接続されているすべてのドライブを表示しないのはなぜですか?

fdisk -lが接続されているすべてのドライブを表示しないのはなぜですか?

他の人が起動した多数のスレッドが誤ったSATA構成を使用していたため、デバイスで起動できなかったことがわかりました。これが私の問題ではないことを確信させていただきます。

私は会社のIT部門に勤務していますが、SSDを消去する必要があります。私dcflddは(HDDを物理的に損傷したにもかかわらずhdparm)を使用して独自のUbuntuマシンを作成しました。マイコンピュータには複数のUSB-SATAカードリーダーが接続されており、削除するために接続されているドライブを簡単に交換できます。

私たちが削除したすべてのSSDは、最初にSATA AHCI構成でイメージングされました。端末で実行すると、fdisk -l時々リストにないSSDが表示されます。

ドライブを切断して別のSATAカードリーダーで試してみましたが、結果は同じでした。 SSD の SATA ピンが破損または曲がっていません。hdparm -I /dev/(drive)ドライブ情報を確認するためにコマンドを使用して、ドライブがロックされているか停止したかを確認しようとしましたが、コマンドは失敗しました。

インターネット検索では、私が経験している問題を解決/修正する方法やシステムが認識していなくても、接続されたドライブを強制的に消去する方法の結果は得られませんでした。


この質問を誤って発見できるデータ専門家に、次の2つの要求をしたいと思います。

  1. 本当に学びたいなぜ一部のドライブが認識されず、アクセスできません。ドライブの故障によってこれが発生する可能性がある場合は、それを確認するために取ることができるアクションはありますか?
  2. 認識できないドライブを消去する代替手段は何ですか?会社のデータを安全に削除する必要があります。データが破損していないことを確認できるという利点があります。

編集する: 誰も混同しないでほしいです。私は米国政府のプロトコルに従い、次のコマンドを使用します。

for n in 'seq 7'; do dcfldd if=/dev/urandom of=/dev/destination bs=8b conv=notrunc; done

ドライブのデータを回復できないようにします。繰り返しますが、問題は/dev/sdaUbuntuであり、ドライブは/dev/sdb - /dev/sdf私が消去したいSSDです。場合によっては、これらのドライブが一覧表示されないため、そのドライブを消去するために使用するコマンドがそのドライブに影響を与えないことがあります。このような性質のコマンドを使用することは、現在のドライブを消去するために使用する方法に代わるものではありません。

また、これらのドライブをマザーボードのSATAケーブルに直接接続しても、ライブブートUSBでは認識されません。

答え1

fdiskはユーザー空間ツールで、カーネルがデバイスfdiskを認識しない場合は何もできません。ディスクが接続されているとき、またはdmesgを確認すると、journalctl次のような内容が表示されます。

kernel: scsi 3:0:0:0: Direct-Access     ATA      Samsung SSD 860  2B6Q PQ: 0 ANSI: 5
kernel: sd 3:0:0:0: Attached scsi generic sg0 type 0
kernel: ata4.00: Enabling discard_zeroes_data
kernel: sd 3:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
kernel: sd 3:0:0:0: [sda] Write Protect is off
kernel: sd 3:0:0:0: [sda] Mode Sense: 00 3a 00 00
kernel: sd 3:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
kernel:  sda: sda1
kernel: sd 3:0:0:0: [sda] Attached SCSI disk

/dev/sdXnodeおよびsysfsディレクトリも作成する必要があります。/sys/block/sdXこの時点で、UDevとそれを使用するツールはlsblkそれをディスクとして認識できるはずです。努力するそれを使用してください(パーティション/ファイルシステムなどを確認してください)。

次のようなものを見ると

kernel: print_req_error: I/O error, dev sda, sector 0
kernel: Buffer I/O error on dev sda, logical block 0, async page read

これは通常、ディスクに問題があることを示す良い表示です。これが必ずしも完全に破損しているわけではなく、それでもコントローラやケーブルに問題がある可能性があり、その中のデータを回復できないという意味ではありません。したがって、デバイスノード()がなく、/dev/sdXそのノードでデータが「削除」されていることを確認する必要がある場合は、100%確実にするためにディスクを物理的に破壊する必要があります(しかし、わかりません)。正しい政府プロセスは何ですか)。

@schrodigerscatcuriosityが提案したように、いつでもディスクを他のシステムに接続したり、USBエンクロージャを試したりできます。これにより、少なくともいくつかのケーブルまたはマザーボードのSATAコントローラの問題が解決されます。

関連情報