Remarquer
Veuillez faire défiler vers le bas pour la réponse (elle a peu de points mais c'est la bonne). Le problème est résolu par un correctif qui sera dans le noyau 3.12.7 et supérieur; J'espère qu'il sera également porté sur les précédents.
Mon ordinateur portable est un Samsung Chronos série 7. Ubuntu Gnome Remix 13.04, avec des pilotes Intel mis à jour.
J'ai un problème avec le disque SSD interne (capacité 8G). Il échoue avec COMRESET et des erreurs d'entrée / sortie. Je suis convaincu que le problème vient du matériel; malheureusement, je n'ai pas Windows installé sur l'ordinateur portable pour vérifier si c'est une question de configuration SSD ou autre.
Le problème est que le disque est reconnu par udev:
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
et après cela, il échoue dans de nombreux contrôles, retardant le démarrage, retardant l'arrêt et rendant (je pense) la suspension impossible.
Est-il possible de dire à Linux d'ignorer complètement quoi que ce soit sur le lien ata2? J'ai essayé d'ajouter cette ligne à /etc/udev/rules.d/10-local.rules
SUBSYSTEMS=="pci" DRIVERS=="ahci" KERNELS=="ata2" OPTIONS=="ignore_device"
mais ça ne marche pas.
D'un autre côté, si quelqu'un sait comment réinitialiser le SSD s'il était laissé en mode "cache" sans utiliser Windows ... ou démarrer une fenêtre "live" pour faire de même ...
Merci!
Données ajoutées:
udevadm info -a -n /dev/sdb
Collé complet sur http://paste.ubuntu.com/6186145/
smartctl -i /dev/sdb -T permissive
donne:
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
ce qui est clairement faux. Cependant:
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
(Données SSD de http://ubuntuforums.org/showthread.php?t=1935699&p=11739579#post11739579 ).
PENSÉE SUPPLÉMENTAIRE:
Tout cela pourrait-il être un effet secondaire de la technologie Intel Smart Response non désactivée avant l'installation de Linux? Si oui, comment puis-je le vérifier avant de réinstaller une fenêtre sur la machine? Ou c'est un coup dans le noir? (Dans le bios, le disque SSD ne s'affiche pas et il n'y a rien sur Intel SRT).
À PROPOS DU MARQUAGE COMME DUPLICAT:
J'ai changé le titre de la question; Je ne pense pas que la question liée réponde à mon problème. Je sais positivement que le SSD échoue. Je demande s'il est possible de dire au noyau Linux de ne pas sonder du tout.
la source
Réponses:
Deux solutions ici: l'une est rapide à appliquer, bien qu'elle ne résout le problème que partiellement, l'autre est la solution complète mais vous oblige à compiler votre propre noyau.
La bonne réponse est un correctif du noyau.
Robin H. Johnson a écrit un correctif pour le pilote du noyau SATA (à trouver sur le site d'échange de pile Unix / Linux ) qui cache complètement le lecteur.
Mise à jour 1 Le patch est désormais en amont (au moins dans le noyau stable 3.12.7), voir le dépôt git . J'ai demandé un backport dans le tableau de bord Ubuntu .
Mise à jour 2 Le correctif est dans le noyau standard pour Ubuntu Trusty Thar 14.04; maintenant, seul l'ajout suivant au paramètre de démarrage est nécessaire.
Une fois le patch installé, ajouter
aux paramètres de démarrage du noyau masquera le disque du noyau Linux. Vérifiez que le numéro est correct; la recherche du nom de l'appareil peut aider:
Pour ajouter un paramètre du noyau (bot temporairement et définitivement), vous pouvez vérifier cette Q&R: Comment ajouter un paramètre de démarrage du noyau?
solution de contournement
Au moins, le problème d'activation de la suspension-reprise a été résolu par Emmanuel, utilisateur d'Unix StackExchange, dans /unix//a/103742/52205 . En tant que root, exécutez la commande:
avant de suspendre.
Pour le rendre permanent, ajoutez le fichier suivant
/etc/pm/sleep.d/
et rendez-le exécutable:avec contenu:
... et maintenant le système se suspend (et reprend) correctement.
la source
/sys/block/*/device/delete
.Vous pouvez essayer de créer la règle udev avec les informations suivantes (sortie de udevadm info -a -n / dev / sdb).
INFO:
1) Créez la règle udev.
sudo nano /etc/udev/rules.d/99-hide-ssd.rules
Vous pouvez essayer de faire correspondre les clés "SUBSYSTEMS " & "DRIVERS" et les attributs "ATTRS {rev}" & ATTRS {model} , puis affecter la variable "UDISKS" pour l'ignorer.
Le contenu du fichier 99-hide-ssd.rules serait:
Pour enregistrer les modifications dans nano ... Ctrl+ O, puis Enteret enfin Ctrl+ X.
2) Enfin rafraîchissez les règles udev avec:
sudo udevadm trigger
REMARQUE: Avec ENV {UDISKS_IGNORE} = "1", il ignorera le disque pour Ubuntu 12.10 & 13.04.
Pour Ubuntu 12.04, la variable serait ENV {UDISKS_PRESENTATION_HIDE} = "1" .
J'espère que cela t'aides.
la source
/server/112147/tell-ubuntu-to-ignore-dead-hard-drive-during-booting suggère en partie:
En tant que root, ouvrez /etc/udev/rules.d/60-persistent-storage.rules avec votre éditeur de texte préféré.
Quelques lignes plus loin, vous verrez probablement une ligne qui ressemble à ceci:
ignorer les règles pour les périphériques bloqués inappropriés
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md ", GOTO = "persistent_storage_end" Add "sdb *" à cette deuxième ligne, donc cela ressemble à ceci:
KERNEL == "ram * | loop * | fd * | nbd * | gnbd * | dm- | md | sdb *", GOTO = "persistent_storage_end"
Enregistrez, redémarrez et peut-être que cela fonctionne. Sinon, eh bien, est-ce la post-garantie?
la source
Si vos autres disques n'utilisent pas ahci, ou ne sont pas SSD, vous pouvez supprimer le pilote du noyau pour eux.
à supprimer pour cette session (jusqu'au prochain redémarrage), exécutez:
pour le recharger, lancez:
si vous voyez que tout va bien, vous pouvez maintenant le désactiver totalement (ne le chargez pas au prochain démarrage). ouvrez le fichier /etc/modprobe.d/blacklist.conf et ajoutez la ligne suivante:
pour mettre les pilotes ssd sur liste noire, remplacez simplement ahci par sd
la source
ata1
allumé, le SSD défaillant alluméata2
. La désactivation du mode ahci dans le bios rend le système nonD'après ce que je sais, il n'y a aucun moyen de supprimer le message, à part retirer votre SSD.
la source
Je suis allé et j'ai écrit un correctif pour le noyau qui implémente la possibilité de désactiver un seul disque au démarrage, afin que vous n'ayez pas à vous soucier de le désactiver dans udev, ni d'attendre lors du démarrage initial.
http://dev.gentoo.org/~robbat2/patches/3.13-libata-disable-disks-by-param.patch
Devrait s'appliquer à de nombreux noyaux très facilement (la ligne ci-dessus a été ajoutée le 2013-05-21 / v3.10-rc1 *, mais peut être appliquée en toute sécurité manuellement sans cette ligne).
la source