web-dev-qa-db-fra.com

problèmes de démarrage - long délai, puis "abandonné l'attente du périphérique racine"

J'ai ce problème de temps en temps depuis environ deux ans maintenant. Je l'ai remarqué sur une nouvelle machine (construite sur mesure) fonctionnant sous la version 10.04 à la sortie de cette machine, mais elle est restée éteinte il y a quelques mois. J'ai effectué plusieurs modifications de disque dur, mais je ne peux pas vous dire précisément si je modifiais quelque chose du point de vue matériel pour le faire cesser ou commencer à se produire. J'avais supposé que la mise à niveau vers une version moderne d'Ubuntu réglerait le problème. J'ai donc installé la version 12.04 bêta sur une partition de secours hier soir, mais cela se produit toujours.

Voici le problème. Après le chargement de grub et la sélection du noyau à démarrer, l’écran devient vierge, mais le curseur clignote. Il reste dans cet état pendant de longues minutes avant d'abandonner enfin et de me donner un shell initramfs avec le message gave up waiting for root device (et répertorie le chemin /dev/disk/by-uuid/... qu'il attendait) mais aucune autre information de diagnostic spécifique.

Maintenant, voici la partie la plus délicate. D'une part, le problème est intermittent - parfois, il passe du curseur clignotant à l'écran de démarrage d'Ubuntu en quelques secondes et, une fois que cela a été atteint, il continue toujours à bien démarrer. Ce qui est vraiment bizarre, c'est que je peux le "forcer" à "trouver" le périphérique racine en appuyant plusieurs fois sur la barre d'espace et en appuyant sur le bouton d'alimentation de la machine. Si je les exploite suffisamment, le voyant du disque dur s'allume et le processus de démarrage se poursuit après quelques secondes. Fait intéressant, si j’attends un peu trop longtemps avant d’appuyer sur le bouton d’alimentation (30s?), Dès que je l’appuie, j’obtiens le message d’attente abandonné et le shell initramfs.

J'ai essayé de configurer /etc/fstab (et le grub menu.lst ou quel que soit son nom actuel) pour utiliser des noms de périphérique (par exemple /dev/sda1) au lieu d'UUID, mais le même effet est obtenu avec le nom de périphérique, pas UUID, dans le message d'erreur.

Je devrais également mentionner que lorsque je lance Windows 7, il n’ya pas de problème. Il démarre lentement tout le temps juste en vertu de Windows, mais il ne se bloque jamais indéfiniment. Cela semblerait indiquer que c'est un problème dans Ubuntu, pas le matériel.

C'est assez ennuyant de devoir garder l'ordinateur à chaque démarrage. Des idées? Je suis à perte. Vous ne savez même pas comment diagnostiquer le problème. Merci!

MODIFIER:

Voici quelques résultats de dmesg de 10.04. L’intervalle de 15 secondes correspond à l’absence de toute action J'ai appuyé sur le bouton d'alimentation et la barre d'espace plusieurs fois, et les choses se sont passées à 16 secondes. Je ne sais pas ce que ça veut dire.

[    1.320250] scsi18 : ahci
[    1.320294] scsi19 : ahci
[    1.320320] ata19: SATA max UDMA/133 abar m8192@0xfd4fe000 port 0xfd4fe100 ir
q 18
[    1.320323] ata20: SATA max UDMA/133 abar m8192@0xfd4fe000 port 0xfd4fe180 ir
q 18
[    1.403886] usb 2-4: new high speed USB device using ehci_hcd and address 4
[    1.562558] usb 2-4: configuration #1 chosen from 1 choice
[   16.477824] ata16: SATA link down (SStatus 0 SControl 300)
[   16.477843] ata19: SATA link down (SStatus 0 SControl 300)
[   16.477857] ata3: SATA link down (SStatus 0 SControl 300)
[   16.477895] ata15: SATA link down (SStatus 0 SControl 300)
[   16.477906] ata20: SATA link down (SStatus 0 SControl 300)
[   16.477977] ata17: SATA link down (SStatus 0 SControl 300)
[   16.478003] ata12: SATA link down (SStatus 0 SControl 300)
[   16.478046] ata13: SATA link down (SStatus 0 SControl 300)
[   16.478063] ata14: SATA link down (SStatus 0 SControl 300)
[   16.478108] ata11: SATA link down (SStatus 0 SControl 300)
[   16.478123] ata18: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   16.478127] ata6: SATA link down (SStatus 0 SControl 300)
[   16.478157] ata5: SATA link down (SStatus 0 SControl 300)
[   16.478193] ata18.00: ATAPI: MARVELL VIRTUALL, 1.09, max UDMA/66

Après ça, ça a pris son bon temps, et je devais continuer à frapper la barre d'espace pour le convaincre. Voici un peu plus de sortie dmesg d'un peu plus tard dans le processus de démarrage:

[   17.982291] input: BTC USB Multimedia Keyboard as /devices/pci0000:00/0000:00
:13.0/usb5/5-2/5-2:1.0/input/input4
[   17.982335] generic-usb 0003:046E:5506.0002: input,hidraw1: USB HID v1.10 Key
board [BTC USB Multimedia Keyboard] on usb-0000:00:13.0-2/input0
[   18.005211] input: BTC USB Multimedia Keyboard as /devices/pci0000:00/0000:00
:13.0/usb5/5-2/5-2:1.1/input/input5
[   18.005274] generic-usb 0003:046E:5506.0003: input,hiddev96,hidraw2: USB HID 
v1.10 Device [BTC USB Multimedia Keyboard] on usb-0000:00:13.0-2/input1
[   22.484906] EXT4-fs (sda6): INFO: recovery required on readonly filesystem
[   22.484910] EXT4-fs (sda6): write access will be enabled during recovery
[   22.548542] EXT4-fs (sda6): recovery complete
[   22.549074] EXT4-fs (sda6): mounted filesystem with ordered data mode
[   32.516772] Adding 20482832k swap on /dev/sda5.  Priority:-1 extents:1 across:20482832k 
[   32.742540] udev: starting version 151
[   33.002004] Bluetooth: Atheros AR30xx firmware driver ver 1.0
[   33.008135] parport_pc 00:09: reported by Plug and Play ACPI
[   33.008186] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[   33.012076] lp: driver loaded but no devices found
[   33.037271] ppdev: user-space parallel port driver
[   33.090256] lp0: using parport0 (interrupt-driven).

Des indices là-dedans?

AUTRE ÉDIT:

Quelques captures d'écran de la sortie de dmesg à partir du shell busybox initramfs en cas d'échec: normalwithout quiet splash on the linux line

J'ai essayé suggestion de fossfreedom d'essayer un nombre d'options de démarrage. Jusqu'à présent, il semble que irqpoll fonctionne réellement! J'ai déjà démarré quatre fois avec succès jusqu'à présent.

(Remarque: je ne peux pas obtenir irqpoll pour coller - j'ai édité /etc/default/grub pour l'ajouter à GRUB_CMDLINE_LINUX_DEFAULT et pour exécuter update-grub, mais rien de plus. me manque-t-il?) (Ma larve était arrosée d'une manière ou d'une autre lors de l'installation de l'autre ubuntus. Je l'ai réparée et je vois toujours irqpoll.)

Compte tenu de cela, quel est le problème ici? Il semble que irqpoll est un hack pour obtenir des BIOS qui ne respectent pas les normes IRQ pour fonctionner avec Linux. Comment puis-je déterminer quel composant est le problème et existe-t-il une autre solution permettant à Linux de jouer à Nice avec ce composant sans impliquer ce qui peut sembler être une surcharge?

3
chazomaticus

Vos derniers messages dmesg semblent intéressants.

J'ai rencontré des problèmes similaires liés à l'espace presse lors du démarrage sur un ordinateur portable que je possédais.

La solution que j'ai trouvée consistait à ajouter au grub le paramètre de démarrage noapic ou nolapic grub.

Il existe un certain nombre d’options de démarrage Grub que vous pouvez essayer selon le wiki de la communauté:

https://help.ubuntu.com/community/BootOptions

Ainsi, si les options de démarrage standard telles que noapic ou acpi=off ne fonctionnent pas pour vous, certaines des autres options courantes pourraient fonctionner pour vous.

Lors du test de l'option de démarrage grub, vous pouvez utiliser ma réponse ici pour ajouter temporairement les options du noyau au démarrage.

Comment définir 'nomodeset' après avoir déjà installé Ubuntu?


irqpoll:

depuis le wiki: Modifie la manière dont le noyau traite les appels d'interruption (configurez-le sur polling). Peut être utile en cas de problème d'interruption matérielle.

  irqpoll         [HW]
                        When an interrupt is not handled search all handlers
                        for it. Also check all handlers each timer
                        interrupt. Intended to get systems with badly broken
                        firmware running

source

Ainsi, et puisque vous avez un ordinateur construit sur mesure, il est très probable que ce soit un ou plusieurs composants qui constituent votre ordinateur. Pour découvrir lequel nécessitera un peu de travail de détective.

Le moyen le plus simple serait simplement de simplifier votre ordinateur aux bases - utilisez un clavier fixe, une simple souris, des graphiques intégrés, un Ethernet intégré et rien d'autre. c.-à-d. retirez toutes les cartes PCI/composants USB que vous utilisez. Ajoutez ensuite chacun dans un à la fois.

Si vous constatez que vous avez toujours besoin de irqpoll sur une version simplifiée, vous devrez alors regarder de plus près votre carte mère. Examinez le site du fabricant et voyez s’il existe des mises à jour de microprogrammes. Très probablement, vous aurez besoin de démarrer en mode flash pour les flasher.

2
fossfreedom

Il essaie de monter un périphérique. Si vous 'appuyez sur la touche "s" lors du démarrage/au cours de l'action GRUB, le processus de montage est ignoré et aucune erreur ne s'affiche. Vous devrez éditer le fichier fstab en référence au numéro UUID. Exemple:

Sudo gedit /etc/fstab
UUID=sda2

ENLEVER LA LIGNE COMPLÈTEMENT. Sauver et fermer. Puis redémarrez.

0
Ringtail