hdparm
説明書を見ましたが、sdparm
議論があることを知っています。下にドライブ、-y
および-Y
。また-S
、このような省電力機能を制御するパラメータがあることもわかっています-B
。しかし、私が望むのは、モーターを始動して回転させることです。戻るドライバー。
sdparm
わかりますsdparm のマニュアルページload
とパラメータがありますstart
。次のうちどれを使用できますか?テープドライブや少なくともオプティカルドライブにぴったりだと思いますか?
DD
dd if=/dev/hdX of=/dev/null count=512
最高の答えだと思います「スタンバイ電源」ドライブを起動するには、どのコマンドを使用できますか?
ただし、ドライブがすでにキャッシュにある場合、ドライブは回転しません。
装置にモーターを始動または回転させるように明示的に指示する命令がないことが奇妙に見える。
GNU / LinuxでSATA HDDを起動するための最良の方法は何ですか?
答え1
ブロックデバイスの代わりにrawディスクデバイスから読み込みます。これはカーネルバッファキャッシュをバイパスし、ドライブの回転を保証します。
答え2
ddのフラグはdirect
(ホスト)キャッシュをバイパスし、強制的にI / Oをドライブに送信する必要があります。
dd if=/dev/sda bs=4096 count=1 of=/dev/null iflag=direct
^^^^^^^^^^^^
マイコンピュータでテストしてみると、ディスクアクティビティインジケータが点滅していることがわかります。それ以外の場合はiflag
点滅しません(少なくとも2番目は)。
答え3
1)まず、簡単にできる場合は、Kyle Jonesが言ったように、生のデバイスから直接読むことをお勧めします。
2)これが不可能な場合は、ドライブでランダムに選択した場所から読み込みます(fe:dd if=/dev/diskdev of=/dev/null seek=$[173<<30] bs=1048576 count=1024
1gigaはディスクの173.gigaから読み取られます)。これにより、実際に読み取られたデータが実際の読み取りキャッシュにない可能性が高いため、読み取り操作を満たすために回転するドライブが必要です。
確実に知りたい場合は、ランダムに選択したデータを複数回読み取ることができます。
3)代替として、同じddコマンドを使用して固定位置(たとえばディスクの先頭から)からデータを読み取ることができますが、常に少なくとも同じ量のRAMを持っています。これにより、実際のディスク読み取りキャッシュに確実に含まれていない一部のディスク領域を読み取る必要があるため、その領域を読み取るにはディスクを回転させる必要があります。
あなたの代わりに(1が利用できない場合)、私は(3)非常に正確でなければならない場合と、(2)家庭用Linuxでのみプレイする場合を行います。