Beachten
Bitte scrollen Sie nach unten, um die Antwort zu erhalten (sie hat nur wenige Punkte, ist aber die richtige). Das Problem wird durch einen Patch behoben, der ab Kernel 3.12.7 verfügbar ist. Ich hoffe, es wird auch auf frühere zurückportiert.
Mein Laptop ist eine Samsung Chronos Serie 7. Ubuntu Gnome Remix 13.04, mit Intel aktualisierten Treibern.
Ich habe ein Problem mit dem internen SSD-Laufwerk (Kapazität 8G). Es schlägt mit COMRESET und Eingabe- / Ausgabefehlern fehl. Ich bin ziemlich überzeugt, dass das Problem Hardware ist; Leider habe ich kein Windows auf dem Laptop installiert, um zu überprüfen, ob es sich um eine SSD-Konfiguration handelt oder was auch immer.
Das Problem ist, dass die Festplatte von udev erkannt wird:
KERNEL[9.515930] add /devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb (block)
ACTION=add
DEVNAME=sdb
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sdb
DEVTYPE=disk
MAJOR=8
MINOR=16
SEQNUM=1785
SUBSYSTEM=block
UDEV_LOG=3
und danach scheitert es bei vielen Überprüfungen, verzögert das Booten, verzögert das Herunterfahren und macht (ich denke) das Anhalten unmöglich.
Kann Linux angewiesen werden, irgendetwas auf dem ata2-Link vollständig zu ignorieren? Ich habe versucht, diese Zeile zu /etc/udev/rules.d/10-local.rules hinzuzufügen
SUBSYSTEMS=="pci" DRIVERS=="ahci" KERNELS=="ata2" OPTIONS=="ignore_device"
aber es geht nicht.
Andererseits, wenn jemand weiß, wie man die SSD zurücksetzt, wenn sie im "Cache" -Modus belassen wurde, ohne Windows zu verwenden ... oder um ein "Live" -Fenster zu booten, um dasselbe zu tun ...
Vielen Dank!
Daten hinzugefügt:
Vollständig udevadm info -a -n /dev/sdb
eingefügt an http://paste.ubuntu.com/6186145/
smartctl -i /dev/sdb -T permissive
gibt:
root@samsung-romano:/home/romano# smartctl -i /dev/sdb -T permissive
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-3.8.0-31-generic] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
Vendor: /1:0:0:0
Product:
User Capacity: 600,332,565,813,390,450 bytes [600 PB]
Logical block size: 774843950 bytes
>> Terminate command early due to bad response to IEC mode page
was eindeutig falsch ist. Dennoch:
root@samsung-romano:/home/romano# fdisk -b 512 -C 970 -H 256 -S 63 /dev/sdb
fdisk: unable to read /dev/sdb: Input/output error
(SSD-Daten von http://ubuntuforums.org/showthread.php?t=1935699&p=11739579#post11739579 ).
WEITERE GEDANKEN:
Könnte dies alles ein Nebeneffekt sein, wenn die Intel Smart Response-Technologie vor der Installation von Linux nicht deaktiviert wird? Wenn ja, wie kann ich überprüfen, ob Windows nicht neu auf dem Computer installiert wurde? Oder ist das ein Schuss in die Dunkelheit? (Im BIOS wird das SSD-Laufwerk nicht angezeigt und es gibt nichts über Intel SRT).
ÜBER DAS KENNZEICHNEN ALS DUPLIKAT:
Ich habe den Titel der Frage geändert. Ich denke nicht, dass die verknüpfte Frage mein Problem beantwortet. Ich weiß definitiv , dass die SSD ausfällt. Ich frage, ob es möglich ist, den Linux-Kernel anzuweisen, überhaupt nicht danach zu suchen.
quelle
Antworten:
Hier gibt es zwei Lösungen: Die eine ist schnell anzuwenden, löst das Problem jedoch nur teilweise, die andere ist vollständig, Sie müssen jedoch Ihren eigenen Kernel kompilieren.
Die richtige Antwort ist ein Kernel-Patch.
Robin H. Johnson hat einen Patch für den SATA-Kerneltreiber geschrieben ( auf der Unix / Linux-Stack-Exchange-Site ), der das Laufwerk vollständig verbirgt.
Update 1 Der Patch ist jetzt upstream (mindestens in 3.12.7 Stable-Kernel), siehe das Git-Repository . Ich habe im Ubuntu-Launchpad nach einem Backport gefragt .
Update 2 Der Patch ist im Standard-Kernel für Ubuntu Trusty Thar 14.04 enthalten. Daher wird jetzt nur der folgende Zusatz zum Boot-Parameter benötigt.
Sobald der Patch installiert ist, wird er hinzugefügt
Wenn Sie auf die Kernel-Boot-Parameter klicken, wird der Datenträger vor dem Linux-Kernel verborgen. Überprüfen Sie nochmals, ob die Nummer korrekt ist. Das Suchen nach dem Gerätenamen kann helfen:
Um einen Kernel-Parameter hinzuzufügen (vorübergehend und dauerhaft), können Sie diese Fragen und Antworten prüfen: Wie füge ich einen Kernel-Boot-Parameter hinzu?
Umgehung
Zumindest das Problem der Aktivierung von Suspend-Resume wurde vom Unix StackExchange-Benutzer Emmanuel unter /unix//a/103742/52205 gelöst . Geben Sie als root den folgenden Befehl ein:
vor dem Suspendieren.
Um es dauerhaft zu machen, fügen Sie die folgende Datei hinzu
/etc/pm/sleep.d/
und machen Sie es ausführbar:mit Inhalt:
... und jetzt wird das System korrekt angehalten (und fortgesetzt).
quelle
/sys/block/*/device/delete
.Sie können versuchen, die udev-Regel mit den folgenden Informationen zu erstellen (Ausgabe von udevadm info -a -n / dev / sdb).
INFO:
1) Erstellen Sie die udev-Regel.
sudo nano /etc/udev/rules.d/99-hide-ssd.rules
Sie können versuchen, die Schlüssel "SUBSYSTEMS" und "DRIVERS" sowie die Attribute "ATTRS {rev}" und ATTRS {model} " zuzuordnen, und anschließend die Variable " UDISKS " zuweisen , um sie zu ignorieren.
Der Inhalt der Datei 99-hide-ssd.rules wäre:
Um die Änderungen in Nano zu speichern ... Ctrl+ O, dann Enterund schließlich Ctrl+ X.
2) Aktualisieren Sie abschließend die udev-Regeln mit:
sudo udevadm trigger
HINWEIS: Mit ENV {UDISKS_IGNORE} = "1" wird die Festplatte für Ubuntu 12.10 und 13.04 ignoriert.
Für Ubuntu 12.04 wäre die Variable ENV {UDISKS_PRESENTATION_HIDE} = "1" .
Hoffe das hilft.
quelle
/server/112147/tell-ubuntu-to-ignore-dead-hard-drive-during-booting schlägt zum Teil vor:
Öffnen Sie als Root /etc/udev/rules.d/60-persistent-storage.rules mit Ihrem bevorzugten Texteditor.
Ein paar Zeilen weiter sehen Sie wahrscheinlich eine Zeile, die so aussieht:
Überspringen Sie Regeln für unangemessene Blockgeräte
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md ", GOTO = "persistent_storage_end" Füge "sdb *" zu dieser zweiten Zeile hinzu, so dass es so aussieht:
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md | sdb *", GOTO = "persistent_storage_end"
Speichern, neu starten und vielleicht funktioniert es. Wenn nicht, ist dies eine Nachgarantie?
quelle
Wenn Ihre anderen Festplatten nicht ahci oder keine SSD verwenden, können Sie den Kerneltreiber für sie entfernen.
Führen Sie zum Entfernen für diese Sitzung (bis zum nächsten Neustart) Folgendes aus:
Um es neu zu laden, führen Sie Folgendes aus:
Wenn Sie sehen, dass alles in Ordnung ist, können Sie es jetzt vollständig deaktivieren (laden Sie es nicht beim nächsten Start). Öffnen Sie die Datei /etc/modprobe.d/blacklist.conf und fügen Sie die folgende Zeile hinzu:
auf schwarze Liste ssd Treiber, ersetzen Sie einfach ahci mit sd
quelle
ata1
, die fehlerhafte SSD ist eingeschaltetata2
. Das Deaktivieren des Ahci-Modus im BIOS macht das System nicht mehr startfähig ...Soweit ich weiß, gibt es keine andere Möglichkeit, die Nachricht zu entfernen, als Ihre SSD zu entfernen.
quelle
Ich habe einen Kernel-Patch für Sie geschrieben, der die Möglichkeit implementiert, eine einzelne Festplatte beim Booten zu deaktivieren, damit Sie sich nicht mit der Deaktivierung in udev oder dem Warten beim ersten Booten befassen müssen.
http://dev.gentoo.org/~robbat2/patches/3.13-libata-disable-disks-by-param.patch
Sollte sich sehr leicht auf viele Kernel anwenden lassen (die Zeile darüber wurde 2013-05-21 / v3.10-rc1 * hinzugefügt, kann aber ohne diese Zeile sicher manuell angewendet werden).
quelle