Question Ubuntu 16.10 ne parvient pas à démarrer dans un ordinateur portable MSI GP72


J'ai besoin d'aide pour comprendre comment obtenir Ubuntu 16.10 AMD64 (noyau Linux 4.8.0-22-générique) pour démarrer le système avec succès afin que je puisse recommencer à l'utiliser. Amorcer à 16.04 LTS est également une solution acceptable.

Vous trouverez ci-dessous des parties contenant des informations supplémentaires sur le système, les choses que j'ai essayées et les résultats obtenus. Merci d'avance pour toute aide que vous pouvez fournir. Détails à venir: O!

Résumé

J'ai acheté cet ordinateur portable MSI en juillet de cette année et, après un lot En ce qui concerne le dépannage, j'ai pu installer Ubuntu 16.04 LTS AMD64 et l'utiliser sans problème ces derniers mois. (Je l'ai comme un système à double démarrage, avec Windows 10 de l'autre côté.)

J'ai mis à jour 16.04 -> 16.10 il y a quelques jours et je ne peux plus démarrer l'ordinateur portable. Pire, je ne peux même pas le faire démarrer les mêmes 16.04 LTS que je possédais à l'origine à partir d'une clé USB en direct. (Windows démarre quand même.) Les solutions que j'avais implémentées la première fois (voir ci-dessous) sont ne pas faire une différence cette fois-ci et je n'ai aucune idée pourquoi c'est soudainement le cas.

Notez que le processus de mise à niveau semble s'achever normalement. Je suis passé par plusieurs questions similaires ici pour les versions précédentes d'Ubuntu (par exemple, 14.04), mais elles n'ont pas fonctionné ou ne sont pas applicables à ma situation. J'ai déjà passé plusieurs jours là-dessus ...


Comportement actuel et messages d'erreur

Cela dépend de l'option de démarrage que je sélectionne, mais voici le résumé de la tentative de démarrage de l'installation 16.10 actuelle mise à niveau (commandes de démarrage incluses):

La commande de base est linux /vmlinuz-4.8.0-22-generic root=UUID... ro_quiet splash $vt_handoff, donc je vais seulement lister les différences entre les options pour la lisibilité.

  1. Option de démarrage par défaut: Commande comme indiqué ci-dessus (avec UUID complet, bien sûr).
    • Le système se bloque immédiatement après avoir montré le logo Ubuntu.
    • Frapper une touche pour afficher la console avant le blocage montre qu'aucun message n'y est écrit.
  2. Commande de démarrage avant la mise à niveau: Ajoutée acpi_osi="Linux" pci=nomsi arguments.
    • Même comportement que ci-dessus
    • Ces arguments faisaient partie de la solution pour le faire fonctionner en juillet avec une installation 16.04.
  3. Mode de récupération 1: Cela ajoute le ro recovery nomodeset arguments du noyau
    • Beaucoup de résultats montrant le démarrage des services
    • Le dernier message est le [OK] Started Light Display Manager. (c’est-à-dire le lightdm un service)
    • L'écran devient noir ici et ne répond plus.
    • Seul le message d'erreur affiché est ci-dessous.
  4. Mode de récupération 2: Mêmes arguments de récupération que # 3, mais avec acpi_osi="Linux" pci=nomsi ajouté manuellement
    • Fondamentalement, même résultat que # 3

La seule erreur que je vois connectée aux options 3 et 4 est la suivante:

[FAILED] Failed to start NVIDIA Persistence Daemon.
See 'systemctl status nvidia-percistenced.service' for details

Le processus de démarrage ne ne pas accrocher sur cet échec. Le processus de démarrage se poursuit jusqu'à ce que le service LightDM ait démarré, mais avant que vous ne voyiez réellement le greeter.

Aussi, j'essaierais le systemctl commande, mais:

  1. les systèmes bloqués n'acceptent pas les commandes, et
  2. J'avais en fait purgé le nvidia-367 pilotes / package lors d'une précédente tentative de récupération (apt-get purge nvidia\*) en faveur d'une version plus récente de la page officielle.

Dans tous les cas, même si le pilote était le problème (par exemple, il ne peut pas être chargé en tant que LKM), je m'attendrais (tout au plus) à ce que l'interface utilisateur graphique et graphique ne pas apparaît, auquel cas le terminal doit se connecter et le résoudre. Cependant, je ne peux pas aller aussi loin.

Tentatives de dépannage et résultats antérieurs

Depuis que j'ai vu (et résolu) certaines de ces erreurs auparavant, j'ai passé les derniers jours à essayer de résoudre les problèmes et à résoudre le problème avant de poster ici. Malheureusement, les choses qui ont fonctionné auparavant pour des problèmes similaires sont (AFAIK) ne pas aider.

Solution à l'origine réussie (ne fonctionne pas cette fois-ci)

Lorsque j'ai effectué un dépannage en juillet, ce sont les choses que j'ai faites qui m'ont aidé à résoudre les problèmes de démarrage et de connexion que j'avais:

  1. Ajouter le acpi_osi="Linux" argument du noyau pour contourner les bogues de la table ACPI
    • Celles-ci sont généralement conçues pour les systèmes Windows par le BIOS et peuvent causer des problèmes sous Linux.
  2. Ajouter le pci=nomsi  argument du noyau à la solution de contournement avec cet ordinateur portable
    • Sans cette option, le noyau continuerait à enregistrer un message À l'infini et rater l'espace disponible dans la partition, et cette option a résolu ce problème.
  3. Désactiver le démarrage sécurisé pour autoriser la connexion après l'installation du pilote
    • Fondamentalement, je ne peux pas utiliser le pilote Nouveau pour un projet sur lequel je travaille. Je dois utiliser le pilote NVIDIA, qui n'est pas signé (il est généré localement lors de l'installation) et, dans le monde de démarrage sécurisé, est un module de noyau non fiable.
    • Dans un environnement de démarrage sécurisé, non signé Les modules du noyau ne peuvent pas être chargés / chargés et la création / installation de pilotes NVIDIA permet d'afficher l'écran de connexion, mais chaque tentative de connexion échouera avant que vous n'obteniez sur votre bureau (elle retourne directement dans l'écran de connexion). ).
    • Vous devez désactiver Secure Boot pour dépasser ce point (ou trouver un moyen pour Microsoft de signer votre pilote personnalisé (bonne chance) ou de le faire vous-même (bonne chance à nouveau) ...

J'ai essayé ces choses cette fois-ci pour ma ré-installation 16.10, mais je n'ai pas vu les mêmes résultats. Le mystère est que je ne peux même pas obtenir le 16.04, qui a fonctionné en juillet, pour se comporter de la même manière qu'auparavant. Je n'ai aucune explication pour ça.

J'avais aussi utilisé pci=off sur un ordinateur portable HP précédent pour contourner les problèmes de démarrage, mais essayer cela avec le MSI ne m'a rien.

Amorcer à partir de Live USB échoue

En ce moment, essayer d'amorcer 16.04 LTS ou 16.10 à partir d'un USB en direct, avec les options par défaut¹, se bloque avec les messages suivants dans la console:

...
lvm2-monitor.service
tmp.mount
systemd-tmpfiles-setup.service
resolvconf.service
[ kernel-time] nouveau 0000:01:00.0: pci: failed to adjust lnkctl speed
[ kernel-time] iwlwifi 0000:02:00.0: Unsuported splx structure
[ kernel-time] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 22s! [plymouthd:314]
[ kernel-time] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 23s! [plymouthd:314]
[ kernel-time] ...<same message>...
[ kernel-time] INFO: task systemd:1 blocked for more than 120 seconds.
[ kernel-time]       Tainted: G             L 4.8.0-22-generic #24-Ubuntu
...
[ kernel-time] INFO: rcu_sched self-detected stall on CPU
[ kernel-time] NMI watchdog: ...<same message>...

Ajouter le acpi_osi="Linux" pci=nomsi à la commande USB en direct produit une sortie légèrement différente, avec la ligne d'erreur ajoutée sur pci_enable_msi failed - -22

...
lvm2-monitor.service
tmp.mount
systemd-tmpfiles-setup.service
systemd-update-utmp.service
[ kernel-time] nouveau 0000:01:00.0: pci: failed to adjust lnkctl speed
[ kernel-time] pci_enable_msi failed - -22
[ kernel-time] iwlwifi 0000:02:00.0: Unsuported splx structure
[ kernel-time] NMI watchdog: BUG: soft lockup - CPU#4 stuck for 23s! [plymouthd:314]
[ kernel-time] INFO: rcu_sched self-detected stall on CPU

J'ai déjà vu les messages de verrouillage logiciel (sur les ordinateurs portables HP) et j'ai pu toujours les retracer aux options VT-d et CPU Virtualization étant désactivée dans le BIOS, et leur activation résoudrait rapidement ce problème. Bien que je ne me souvienne pas immédiatement si j'avais des problèmes de CPU en juillet, si je l'avais fait, alors je les aurais résolus de la même façon. (Vous avez toujours besoin de la virtualisation si vous souhaitez exécuter des machines virtuelles, par exemple une boîte virtuelle.)

J'ai lu d'autres réponses sur le site, dont certaines ont suggéré désactiver CPU C déclare, mais cela a fait ne pas travaille pour moi non plus.


Paramètres du BIOS pertinents

Voici les paramètres qui ont été pertinents avant, par onglet et leur actuel valeurs qui fonctionnaient avant la mise à niveau 16.04 -> 16.10. Notez que j'ai essayé différentes combinaisons activées / désactivées parmi certaines des options (par exemple, désactiver l'hyper-threading, les états c, etc.) sans succès.

Onglet Avancé

  1. Technologie de virtualisation Intel: Activée
  2. VT-d: Activée
  3. Hyper-Threading: Activée
  4. La CPU C indique: Activée

Onglet Boot

  1. Démarrage rapide: Activée
  2. Mode de démarrage sélectionnez: UEFI

Onglet Sécurité -> Menu de démarrage sécurisé

  1. Démarrage sécurisé: désactivé
  2. Mode de démarrage sécurisé: la norme

Notes de bas de page

  1. Commande de démarrage par défaut dans l'USB en direct: linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity quiet splash ---

3
2017-10-17 07:03


origine


Salut @ray, les détails de votre question montrent que vous avez pris le temps de rechercher le problème, mais cela pourrait fonctionner à votre désavantage, car cette question est trop longue (à mon humble avis quand même). Une question aussi longue pourrait malheureusement décourager certaines personnes. C'est seulement mon opinion. - Tshilidzi Mudau
@TshilidziMudau Déjà vu. Aucune suggestion? - code_dredd
Honnêtement, non, pas du tout. Pourquoi demandes-tu. Parce que je n'ai pas lu toute la question parce que c'est trop long et que je peux vous le dire, je ne suis pas le seul à ne pas lire la question parce que c'est trop long. Peut-être que je me trompe, je suppose que seul le temps le dira. Je vous suggère de résumer votre question. De cette façon, nous n'aurons pas besoin de lire trop de paragraphes avant de découvrir le problème auquel vous êtes confronté. regardez ici pour voir ce qui fait une bonne question: askubuntu.com/help/how-to-ask - Tshilidzi Mudau
@TshilidziMudau Eh bien, j'apprécie la pensée. Le post a eu un résumé avec la question elle-même dès le départ avec un gros en-tête "résumé" et divisé en plusieurs parties. Les dernières parties n’étaient explicitement que les détails supplémentaires (c’est-à-dire les questions sur lesquelles j’aurais sans doute été demandé si elles n’avaient pas été mentionnées, etc.). En tout cas, merci pour votre contribution. J'ai déplacé quelques choses pour essayer de rendre certaines choses plus claires. - code_dredd
cool, vous êtes les bienvenus. - Tshilidzi Mudau


Réponses:


J'ai pu résoudre le problème peu de temps après avoir posté la question, même si je voulais être sûr avant d'essayer de poster ma réponse. Notez que non des modifications supplémentaires aux paramètres BIOS / UEFI ont été nécessaires - en dehors de ce que j'avais déjà spécifié dans l'OP.


Mes mesures pour corriger

Le processus était essentiellement le suivant:

  1. Ajouter les arguments du noyau: nomodeset acpi_osi= autoriser le démarrage du processus
    • En utilisant acpi_osi="Linux" n'a pas travaillé au début; il devait être vide comme indiqué ci-dessus¹
    • Vous pouvez éditer les commandes de démarrage en appuyant sur e dans le menu GRUB
  2. Cela permet un démarrage réussi de 16.10 à partir de l'USB en direct.
    • Dans mon cas, je suis allé pour une ré-installation²
  3. Après la réinstallation, j'ai modifié les arguments du noyau pci=nomsi acpi_osi="Linux"

Je ne sais pas pourquoi nomodeset³ est nécessaire pour que le système démarre en premier, mais pas vraiment nécessaire après coup, ce qui est probablement la raison pour laquelle j'ai oublié que je l'avais probablement fait en juillet lorsque j'ai dépanné mon installation originale de 16.04 LTS. En tout cas, j'espère que cela aide toute autre personne susceptible de rencontrer des problèmes similaires.


Faire des changements permanents

Actuellement, vous devez éditer la commande de démarrage à chaque fois, et cela vieillit rapidement. Pour mettre à jour la commande de démarrage en permanence, Suivez ces étapes:

  1. Ouvrir /etc/default/grub pour l'édition, comme root
    • sudo vim /etc/default/grub du terminal
    • Changement vim pour votre éditeur favori (par ex. nano)
  2. Modifiez cette ligne comme suit et enregistrez les modifications
    • Défaut:  GRUB_CMDLINE_LINUX=""
    • Édité:  GRUB_CMDLINE_LINUX="pci=nomsi acpi_osi=\"Linux\""
  3. Exécuter le sudo update-grub2 commande pour générer une mise à jour /boot/grub/grub.cfg fichier
    • Se souvenir de ne pas modifier /boot/grub/grub.cfg directement

Si vous vous posez des questions sur la pci=nomsi argument, cela empêche le noyau de remplir votre lecteur (c'est-à-dire /var/log/syslog) avec beaucoup de faux messages. Cela semble spécifique à l'ordinateur portable MSI, car mon ordinateur de bureau et un ancien ordinateur portable HP n'avaient pas besoin de cette solution de contournement.


Notes de bas de page

  1. Si vous ne changez pas acpi_osi= retour à acpi_osi="Linux", et vous avez installé le nvidia package de pilotes, les tentatives de connexion échoueront et l’appareil sera ré-affiché. Vous pouvez identifier cela parce que votre mot de passe est correct (c.-à-d. Aucun message d'erreur sur la non-concordance du mot de passe) et, si vous Ctrl + Alt + F1 dans un terminal, vous pouvez vous connecter avec succès à partir de là.
  2. Si vous avez votre /home répertoire dans sa propre partition (comme vous devriez, à mon humble avis), alors vous vous assurez simplement de marquer la partition pour une utilisation avec le même système de fichiers (par exemple ext4) et le point de montage (c'est-à-dire. /home), mais sans pour autant le formater. J'ai également saisi à nouveau les mêmes informations d'identification de compte lors de l'installation. Notez que les anciens comptes seront toujours dans votre /home répertoire, mais peut ne pas apparaître si vous utilisez Paramètres >> Utilisateurs, car il lit à partir de /etc/passwd. Vous devrez peut-être sudo adduser ... pour les faire apparaître correctement.
  3. Voir Qu'est ce que nomodeset faire?

4
2017-10-17 14:27



Je peux confirmer que le correctif ci-dessus fonctionne sur MSI GP72 6QF dans Ubuntu 16.04 (Linux Mint en fait) avec le dernier noyau, ou Ubuntu 16.10. La mise en garde est que cela ne fonctionne que pour moi avec le pilote NVidia propriétaire. Je ne peux pas obtenir de solution pour travailler sur cette machine avec nouveau via le processeur graphique intégré Intel. Avec nouveau, seulement nomodeset (avec acpi_osi = pci = nomsi) fonctionne, ce qui oblige le rendu logiciel. - Kurt Fitzner


J'ai le même ordinateur portable, GP72-6qf .. avoir Ubuntu en cours d'exécution maintenant.

  1. Assurez-vous d'avoir les dernières mises à jour du BIOS et du micrologiciel. il y avait une nouvelle version en octobre.
  2. Ensemble États du processeur C: Désactivé & Démarrage rapide: Désactivé
  3. Modifier le fichier /etc/default/grub et changer

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    à

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi= acpi_backlight=none acpi=ht pci=nomsi"
    

    Puis courir sudo update-grub

  4. Mettre à jour Ubuntu (sudo apt update && sudo apt upgrade).


2
2017-10-17 13:39



CPU C States to disabled est ce qui m'a amené à enfin démarrer le menu grub (et à démarrer à nouveau) après avoir installé les pilotes nvidia-current (qui sont anciens) et obtenu le problème d'écran noir. Merci! - Scott


Dans mon cas, j'avais des problèmes pour faire fonctionner Nvidia Drivers sur Ubuntu 16.04

Mon correctif:

add-apt-repository ppa:xorg-edgers/ppa
apt-get update
apt-get install nvidia-375
reboot

0
2018-01-04 13:43