ここでは2つの解決策があります。1つは迅速に適用できますが、問題は部分的にしか解決しませんが、もう1つは完全な解決策ですが、独自のカーネルをコンパイルする必要があります。
正解はカーネルパッチです。
Robin H. Johnsonは、ドライブを完全に隠すSATAカーネルドライバーのパッチを書きました(Unix / Linuxスタック交換サイトで見つけてください)。
更新パッチがアップストリームになりました(少なくとも3.12.7安定したカーネル)。gitリポジトリを参照してください 。Ubuntu Launchpadでバックポートを要求しました。
パッチがインストールされたら、追加
libata.force=2.00:disable
カーネルブートパラメータを指定すると、Linuxカーネルからディスクが非表示になります。番号が正しいことを再確認してください。デバイス名を検索すると、次のことに役立ちます。
(0)samsung-romano:~% dmesg | grep iSSD
[ 1.493279] ata2.00: ATA-8: SanDisk iSSD P4 8GB, SSD 9.14, max UDMA/133
[ 1.494236] scsi 1:0:0:0: Direct-Access ATA SanDisk iSSD P4 SSD PQ: 0 ANSI: 5
回避策
Unix StackExchangeユーザーEmmanuelがhttps://unix.stackexchange.com/a/103742/52205で回答
コマンドを発行することにより、少なくとも中断の問題を解決できます
echo 1 > /sys/block/sdb/device/delete
一時停止する前。
それを自動化するために、私は次のファイルを追加しました:(フラグに注意してください、それは実行可能でなければなりません)
-rwxr-xr-x 1 root root 204 Dec 6 16:03 99_delete_sdb
ディレクトリ内 /etc/pm/sleep.d/
#!/bin/sh
# Tell grub that resume was successful
case "$1" in
suspend|hibernate)
if [ -d /sys/block/sdb ]; then
echo Deleting device sdb
echo 1 > /sys/block/sdb/device/delete
fi
;;
esac
...そして今、システムは正しく中断(および再開)します。スニペットを追加しました
if [ -d /sys/block/sdb ]; then
echo Deleting device sdb
echo 1 > /sys/block/sdb/device/delete
fi
/etc/rc.local
良い対策のため、あまりにも。
99_delete_sdb
実行可能ファイルを置くべきですか?で/etc/rc0.d/
多分?