Zwei Lösungen hier: Eine ist schnell anzuwenden, obwohl das Problem nur teilweise gelöst wird, die andere ist die vollständige, erfordert jedoch, dass Sie Ihren eigenen Kernel kompilieren.
Die richtige Antwort ist ein Kernel-Patch.
Robin H. Johnson hat einen Patch für den SATA-Kerneltreiber geschrieben ( finden Sie ihn auf der Unix / Linux-Stack-Exchange-Site ), der das Laufwerk vollständig verbirgt.
Update Der Patch ist jetzt Upstream (zumindest im stabilen 3.12.7-Kernel), siehe Git-Repository . Ich habe im Ubuntu-Launchpad nach einem Backport gefragt .
Sobald der Patch installiert ist, fügen Sie hinzu
libata.force=2.00:disable
Durch die Boot-Parameter des Kernels wird die Festplatte vor dem Linux-Kernel ausgeblendet. Überprüfen Sie noch einmal, ob die Nummer korrekt ist. Die Suche nach dem Gerätenamen kann helfen:
(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
Problemumgehung
Beantwortet von Unix StackExchange-Benutzer Emmanuel unter /unix//a/103742/52205
Sie können das Suspend-Problem zumindest lösen, indem Sie den Befehl ausgeben
echo 1 > /sys/block/sdb/device/delete
vor dem Suspendieren.
Um es zu automatisieren, habe ich die folgende Datei hinzugefügt: (Beachten Sie die Flags, es muss ausführbar sein)
-rwxr-xr-x 1 root root 204 Dec 6 16:03 99_delete_sdb
im Verzeichnis /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
... und jetzt wird das System korrekt angehalten (und fortgesetzt). Ich habe das Snippet hinzugefügt
if [ -d /sys/block/sdb ]; then
echo Deleting device sdb
echo 1 > /sys/block/sdb/device/delete
fi
zu /etc/rc.local
auch für eine gute Maßnahme.
99_delete_sdb
ausführbare Datei ablegen soll. In/etc/rc0.d/
vielleicht?