Linux Kernel> 3.0に障害のあるディスクを完全に無視するように指示する方法は?
私は、バス上の一台のSATAハードディスクと三星ラップトップ(クロノスS7)を有するata:1として検出され、/dev/sda上に8G SSDをata:2、/dev/sdbSATAインターフェースの残りの部分に、および様々な他のデバイス。 問題は、SSDディスクが メインボードにはんだ付け(移動不可) 破壊された(すべての操作でI / Oエラーが発生する) BIOSには表示されません(おそらく壊れているため) 今、このディスク: 障害のあるディスクの調査を試みるブートを3〜5分遅らせますが、これは迷惑です。 しかし、最も厄介なのは、システムが失敗したために中断/dev/sdbできないことです。 起動時の遅延に耐えることができることに注意してください---私が心配しているのは、再開/一時停止のことです。 質問は次のとおりです: ata:2でデバイスをプローブすることさえ避けるようにカーネルに指示できますか? 古いカーネル(<3.0)では、まだソースを少し掘り下げることができたが、hdb=ignoreそのトリックを実行するスタイルのコマンドラインパラメーターがありました。 私はすべてして以下に提案トリックしようとしているudevとlibata:force無駄に、カーネルパラメータを。具体的には、以下は機能しません。 次/etc/udev/rules.d/のファイルの1つに追加する(初期実行のように、00-ignoredisk.rulesまたは後期99-ignoredisk.rulesまたはその両方で) SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", ATTRS{model}=="SanDisk iSSD P4 ", ENV{UDISKS_IGNORE}="1" また KERNEL=="sdb", ENV{UDISKS_IGNORE}="1" また、多くの中間ソリューション---これにより、ブート後にディスクにアクセスできなくなりますが、ブート時にプローブされ、サスペンド時にチェックされます---サスペンドが失敗します。 システムファイルを編集する/lib/udev/rules.d/60-persistent-storage.rules(そしてudisks、udisks2)変更 KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md", GOTO="persistent_storage_end" に KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md|sdb*", GOTO="persistent_storage_end" 繰り返しになりますが、これはユーザー空間からディスクをマスクする何らかの効果がありますが、ディスクはまだカーネルに見えます。 すべての可能な組み合わせでのブート(だけでなく、それらの多く)のlibata:force(例えば見つけパラメータここ無効DMA、低速または任意の障害が発生したディスクについて---動作しないために)。パラメーターは使用されますが、ディスクは引き続きプローブされ、失敗します。 http://paste.ubuntu.com/6186145/に完全udevadm info -a -n /dev/sdb貼り付け smartctl -i /dev/sdb -T permissive 与える: root@samsung-romano:/home/romano# …