web-dev-qa-db-ja.com

USB hddがSG_IOを返すのはなぜですか:センスデータが不良/欠落していますか?

外部USBHDDからコマンドを起動して実行できます。問題のメッセージが約45秒間表示された後、起動が続行されます。 GRUB2は内蔵HDDにインストールされています。/dev/sdbから直接起動することを選択した場合、メッセージは表示されませんが、起動時間は内蔵HDDからの起動とほぼ同じです。

/dev/sdb:
 Timing cached reads:   1018 MB in  2.00 seconds = 508.97 MB/sec
 Timing buffered disk reads:  80 MB in  3.03 seconds =  26.37 MB/sec
pfeiffep@de:~$ Sudo hdparm -i /dev/sdb


/dev/sdb:
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 10 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 HDIO_GET_IDENTITY failed: Invalid argument

Gpartedは、ドライブをSAMSUNGMP0402Hとして正しく識別します。

HDIOおよびSG_IOメッセージを修正する方法について何かアイデアはありますか?

6
pfeiffep

これは、一部のUSB大容量記憶装置がデータの意味を理解するのに問題がある場合に返すものです。

私はlexar8 in 1カードリーダーを持っていますが、一部のSDxcカードでは、debian palimpsetから書き込みパフォーマンスを実行しているときに、リーダーがそのエラーで停止します。そして、カードはそのリーダーにそのエラーを永久に与えます。

カードをよりスマートでバグの少ないリーダーに置いてフォーマットすると、lexarリーダーは問題なくカードを再度読み取ることができます。

カードメモリ内のどのデータがその動作をトリガーするかを見つけるために時間を無駄にすることはありませんでした。しかし、私はそれがデータのみであると100%確信しています。多分パーティションスキーマの欠如?わかりません...しかし、明らかに、カードリーダーを悩ませているいくつかのSDサブフォーマットの非互換性に加えて、クレイジーなパーティションフォーマットについても心配する必要はありません。

したがって、原因は次のとおりです。パーティションレコード/ブートセクタ/ SDカードに書き込まれた偽のデータ。

解決策は、カード/ドライブ/メモリに使用しているものを別のUSB大容量記憶装置トランスレータデバイスに挿入し、そこにパーティションを作成することです。その後、あなたの問題は解決されます。

それがモノリシックデバイスである場合、つまり、同じボード上にメモリチップとUSB大容量記憶装置トランスレータがあるものの場合...今はそれを修正する簡単な方法がないため、より大きな問題があります。

2
gcb