J'essayais de supprimer les anciens noyaux, mais je dois avoir supprimé tous les noyaux de mon ordinateur portable Ubuntu 11.04. Existe-t-il un moyen de résoudre ce problème via un démarrage USB ou le montage d'un disque dur sur un autre système?
69
Réponses:
Démarrez sur un live CD (ou sur une clé USB), montez des systèmes, chrootez dessus et installez le noyau. Après une installation réussie du noyau, démontez les systèmes de fichiers.
sudo mount /dev/sdXY /mnt
Monter des partitions spéciales:
(facultatif) Lorsque vous êtes connecté à un réseau, utilisez les serveurs DNS de votre environnement Live (sinon, les noms d'hôte ne peuvent éventuellement pas être résolus):
/mnt
:sudo chroot /mnt
apt-get install linux-image-generic
(pas besoin de sudo car vous êtes root après un chroot)Après une installation réussie du noyau, sortez le chroot et démontez certains systèmes de fichiers:
sudo reboot
la source
/mnt
. Ubuntu s’occupe généralement de démonter / synchroniser les systèmes de fichiers, mais cela me semble plus propre./dev/mdxxx
lecteur - en supposant qu'il s'agisse de mdadm./etc/resolv.conf
(supprimez-le s'il s'agit d'un lien symbolique) et mettez-y quelque chose de similairenameserver 8.8.8.8
(serveur DNS public Google). Remplacez-le si nécessaire.cp /etc/resolv.conf /mnt/etc/resolv.conf
avant de vous lancer dans le chroot. Cela a fonctionné pour moi quand mêmeCette procédure étendue est à l’origine de la plupart des complications qui pourraient survenir, notamment des problèmes de connexion à Internet
chroot
, ne sachant pas quel paquetage du noyau installer (avant Ubuntu 12.10, ce ne sera pas toujours le caslinux-image-generic
), ne sachant pas, au départ, quelle partition ou même quel paquet. quel disque physique contient le/
système de fichiers et ayant une/boot
partition séparée .Je n’ai pas écrit cela en faisant référence à aucune des autres procédures ici, bien que vous remarquiez certaines similitudes. Je me suis basé, vaguement, sur la procédure décrite ici (bien que ces instructions soient pour quelque chose de tout à fait différent, je les ai largement adaptées, et seules certaines commandes, pas la prose, sont copiées).
Vous avez supprimé tous les packages du noyau et Ubuntu ne peut pas démarrer sans un noyau installé. La solution consiste donc à démarrer à partir d'un CD / DVD / USB
chroot
en direct sur le système installé et à y installer un noyau.Démarrez à partir d'un CD / DVD live Ubuntu ou d'un lecteur flash USB en direct.
Sélectionnez Essayer Ubuntu (pas installer Ubuntu ).
Lorsque le bureau apparaît, assurez-vous d'être connecté à Internet. Si vous ne l'êtes pas, connectez-vous à Internet. Une façon de savoir si vous êtes connecté à Internet consiste à ouvrir un navigateur Web. Vous pouvez même suivre le reste des instructions en plaçant cette réponse Ask Ubuntu dans votre navigateur Web, sur le système de CD / DVD / USB en direct. Je recommande fortement de le faire.
Ouvrez une fenêtre de terminal avec Ctrl+ Alt+ T.
Dans la fenêtre Terminal, exécutez cette commande pour répertorier vos partitions:
Vous verrez quelque chose comme ceci (mais ce ne sera pas exactement comme ça):
Examinez le résultat obtenu pour déterminer le nom de périphérique de la partition contenant le
/
système de fichiers du système Ubuntu installé sur le disque dur (que vous réparez).Si vous n'avez qu'une seule
ext4
partition, c'est celle-là.Si vous avez plusieurs
ext4
partitions, c'est probablement la première. Cependant, si la première est très petite (moins d’un gigaoctet), il s’agit peut-être d’une/boot
partition distincte (souvenez-vous de celle-là aussi).Veuillez noter que le fait d’être
boot
répertorié sous ou non sousFlags
a très peu à voir avec le fait de savoir si une partition est une/boot
partition séparée . Mon système, dont les informations sont répertoriées ci-dessus, ne possède pas de/boot
partition séparée .Le nom de périphérique de la partition commence par le nom de périphérique du lecteur physique, indiqué immédiatement après
Disk
dans la deuxième ligne. Ensuite, ajoutez simplement le numéro de partition à la fin de celle-ci. Ainsi, le nom de périphérique de la partition contenant mon/
système de fichiers est/dev/sda1
. Voici les deux lignes où j'ai trouvé cette information:Si vous avez plusieurs lecteurs physiques, vous obtiendrez plus d’une liste comme celle présentée ci-dessus. Mais à moins qu'un autre système de type Unix ne soit installé, vous ne disposerez probablement que d'un lecteur contenant des
ext4
partitions, du moins sans les avoir créées intentionnellement sur un autre lecteur. Si vous avez plusieurs lecteurs avec desext4
partitions, laext4
partition contenant votre/
système de fichiers se trouve probablement sur un lecteur contenant également unelinux-swap
partition.Il est possible que le système de
/
fichiers de votre système Ubuntu se trouve sur une partition d'un type autre queext4
. Lorsque cela se produit, c'est presque toujoursext3
, et presque toujours sur un système assez ancien. Il est très rare que cela se produise, à moins que vous ne décidiez de le faire vous-même.Rappelez-vous le nom de périphérique de la partition contenant votre
/
système de fichiers (ou écrivez-le). Si c'est différent de/dev/sda1
, alors vous allez le remplacer/dev/sda1
dans les étapes ci-dessous.(Si vous semblez avoir une
/boot
partition séparée , rappelez-vous également le nom du périphérique.)Montez le
/
système de fichiers sur/mnt
et montez son/dev
système de fichiers:Vérifiez si le système Ubuntu défectueux que vous réparez a une
/boot
partition séparée qui doit être montée séparément. (Si vous êtes sûr que ce n'est pas le cas, vous pouvez ignorer ceci.)Pour vérifier, lancez:
S'il y a une sortie (comme
grub memtest86+.bin memtest86+_multiboot.bin
, mais pas nécessairement exactement cela), le système en panne se/boot
trouve sur la même partition que la sienne/
et vous n'avez rien à monter pour y accéder.Mais s'il n'y a pas de sortie, vous devrez alors monter le
/boot
système de fichiers:Remplacez-le
BOOT-PARTITION
par le nom de périphérique de la/boot
partition (voir l'étape 6 ci-dessus).chroot
dans le système endommagé, montez les systèmes de fichiers virtuels importants restants et définissez des variables d’environnement importantes:Déterminer si l' accès Internet fonctionne à partir du
chroot
parping
ing un hôte fiable qui est connu pour répondre normalement à pings:Vous devriez voir quelque chose comme ça:
Si cela ressemble généralement à cela et que le nombre précédent
% packet loss
est inférieur à 100, la connexion Internet dans le systèmechroot
fonctionne:Cela fonctionne, vous pouvez donc ignorer l'étape 11 .
Si cela ressemble généralement à cela et que le nombre précédent
% packet loss
est 100, la connexion doit être dépannée. Assurez-vous que la connexion sur le système Live CD (par exemple, via un navigateur Web ou en exécutant la même commande dans unchroot
onglet / fenêtre Terminal séparé et non édité) fonctionne. Assurez-vous que vous tapez la commande correctement. Utilisezwww.google.com
si vous ne l'avez pas été.Si le résultat ne ressemble pas du tout à ce qui précède, mais indique plutôt
ping: unknown host www.google.com
, la mise en réseau ne fonctionne pas encore dans lechroot
.Configurez la mise en réseau dans le
chroot
. Ignorez cette étape sauf si vous avez uneunknown host
erreur à l'étape 10 ci-dessus.Pour configurer la mise en réseau, sauvegardez le
hosts
fichier du système endommagé et copiez le systèmehosts
et lesresolv.conf
fichiers du CD en direct . (Vous n'avez pas besoin de sauvegarder la version du système endommagéresolv.conf
, car ce fichier est automatiquement régénéré à la volée.)Ouvrez un nouvel onglet Terminal ( Ctrl+ Shift+ T) ou, si vous préférez, une nouvelle fenêtre Terminal ( Ctrl+ Shift+ N, ou simplement Ctrl+ Alt+ T). Exécutez ces commandes:
(La
exit
commande à la fin ferme le nouvel onglet / fenêtre.)Répétez l’étape 10 ci-dessus pour vous assurer que l’accès Internet fonctionne maintenant depuis le
chroot
. Cela devrait.Déterminez quel package de noyau doit être installé. Habituellement, ce sera
linux-image-generic
. Mais pas toujours.Si vous ne savez pas lequel installer, cela dépendra en partie de la version d'Ubuntu que vous avez installée et en partie d'autres informations. Si vous ne savez pas quelle version d'Ubuntu vous avez installée, découvrez-la en exécutant cette commande (dans la fenêtre / onglet du terminal
chroot
, pas dans une autre fenêtre):Sur Ubuntu 12.10 (la prochaine version d'Ubuntu, actuellement en développement), ce sera toujours le cas
linux-image-generic
. (Voir ceci , ceci et cela .)Sur Ubuntu 12.04 LTS, les possibilités probables sont
linux-image-generic
etlinux-image-generic-pae
. (Contrairement aux versions précédentes, 12.04 n'a plus de noyaux de serveur et de bureau séparés.)Si le système Ubuntu installé (que vous corrigez) est la version 64 bits, utilisez
linux-image-generic
. (linux-image-generic-pae
s'applique uniquement aux systèmes 32 bits.)Il est possible d'avoir un système Ubuntu 32 bits installé sur un ordinateur 32 bits ou 64 bits. De plus, vous utilisez peut-être un live CD 32 bits ou 64 bits pour réparer un système installé 32 bits. Donc, si vous ne savez pas si le système Ubuntu installé est 32 bits ou 64 bits, vérifiez en exécutant cette commande (dans le
chroot
, pas dans une fenêtre / un onglet Terminal séparé):La sortie sera soit
32
ou64
.(Notez que ce
uname -m
n’est pas un moyen correct de trouver ces informations, car même lorsqu’il est exécuté danschroot
, cela vous indiquera l’architecture du noyau en cours d’exécution , c’est-à-dire le noyau du système Live CD et non le noyau du système installé (endommagé).)Si le système Ubuntu installé (que vous corrigez) est la version 32 bits, le meilleur noyau à utiliser dépendra de la quantité de RAM dont vous disposez. Je recommande:
linux-image-generic
si vous avez moins de 3 Go de RAMlinux-image-generic-pae
si vous avez 3 Go de RAM ou plus.(C’est ainsi que le programme d’installation d’Ubuntu choisit lequel installer, depuis qu’il a désormais la possibilité d’installer des noyaux PAE. Voir la résolution de ce bogue . Si vous voulez savoir ce qu'est PAE, consultez cet article Wikipedia . en savoir plus sur PAE dans Ubuntu, voir cette page wiki Ubuntu .)
Si vous ne savez pas combien de RAM vous avez, exécutez cette commande pour découvrir:
Cela est répertorié en kilo-octets . Pour convertir en gigaoctets , divisez par 1 048 576 (1024 2 ).
Sur versions d' Ubuntu avant 12.04, les possibilités sont probables
linux-image-generic
,linux-image-generic-pae
etlinux-image-server
.linux-image-server
.C'est le moment que vous attendiez! Installez un noyau dans le système en panne.
(Comme auparavant, sauf indication explicite contraire, ces commandes sont exécutées dans
chroot
, et non dans une fenêtre / un onglet de terminal séparé.)Remplacez-le
linux-image-generic
par un autre package de noyau que vous avez décidé d'installer à l'étape 12 ci-dessus, s'il est différent.Si vous deviez exécuter l'étape 11 pour configurer la mise en réseau dans le
chroot
, restaurez l'ancienhosts
fichier. Si vous avez ignoré l'étape 11, ignorez également cette étape.Pour le restaurer, exécutez cette commande:
Démontez les systèmes de fichiers,
exit
en dehors duchroot
:Arrêtez le système Live CD / DVD / USB et retirez le Live CD / DVD ou le lecteur flash USB. Démarrez dans le système installé sur le disque dur, que vous venez de réparer. Vous avez installé un paquet de noyau dans celui-ci (et lors de l'installation, le noyau qu'il fournit sera rajouté dans le menu de démarrage de GRUB2). Si tout fonctionne correctement, votre système devrait démarrer sans problèmes. (Je pense qu'il est possible que cela prenne un peu plus de temps que d'habitude, cette fois.)
AVERTISSEMENT: Je n'ai pas testé la procédure ci-dessus sur tous les systèmes Ubuntu possibles . Il est donc possible qu'il comporte une erreur que je n'ai pas identifiée.
À l'avenir, je recommande de toujours essayer de garder deux noyaux installés. Il est bon d’en avoir deux si l’un d’entre eux cesse de fonctionner pour une raison quelconque (vous pouvez sélectionner l’autre dans le menu de démarrage de GRUB2). De plus, si vous avez l'intention de conserver deux noyaux et que vous en désinstallez accidentellement un de plus que vous ne vouliez et que vous redémarriez, il vous reste encore un noyau pour démarrer.
la source
/etc/resolv.conf
est maintenant géré parresolvconf
, il sera automatiquement généré lors de l’utilisation de NetworkManager et peut être supprimé en toute sécurité en utilisant cerm /etc/resolv.conf
que vous avez découvert.Lorsque j'ai retiré mon noyau, j'ai trouvé cette solution sur les forums Ubuntu. J'ai suivi chaque étape et le système a été récupéré. J'espère que cela vous aiderait.
Un chroot peut fonctionner, chroot signifie que lorsque vous démarrez un système, vous modifiez le système de fichiers racine. Par exemple, vous avez commencé à partir d'un CD live, mais vous modifiez la racine "/" pour installer votre ubuntu.
Disons que votre Ubuntu est installé sur / dev / sda2, alors vous pouvez essayer les commandes suivantes:
Code:
maintenant vous êtes root "/" sur / dev / sda2, essayez d'installer le noyau
Je devais faire un peu de devinette ici puisque je n'ai jamais eu à faire cela auparavant, mais cela devrait être à propos. Je ne sais pas si vous recevez un avertissement d'erreur fstab (par exemple, impossible de trouver la racine).
Maintenant, vous devez nettoyer certaines choses et démonter les partitions montées: Code:
Et vous pouvez redémarrer pour voir si cela a fonctionné.
URL du fil de discussion: http://art.ubuntuforums.org/showthread.php?t=1688928
la source
/etc/hosts
et enlever/sbin/initctl
? C'est là pour une raison./sbin/initctl
oudbus-uuidgen
oudpkg-divert
. Vous devrez peut- être remplacer/etc/hosts
pour vous connecter à Internet, mais pas habituellement, et si vous le faites, vous devriez remettre l'original. Sur un système installé (plutôt que sur un CD live qui démarre, puis décompresse un système de fichiers squashfs), vous n'avez pas à exécuter,update-initramfs
ni mêmeupdate-grub
après avoir installé le noyau.linux-image-2.6.32-26-generic
ce ne sera pas le bon noyau à installer pour la plupart des gens.Après avoir retiré les anciens noyaux de Trusty14.04 hier (FTR: je n’ai pas supprimé les deux plus récents!), Mon système ne démarre plus. GRUB a montré
Aucune idée pourquoi.
J'ai ensuite suivi les excellentes instructions d' Eliah Kagan pour l'installation à
linux-image-generic
partir d'un CD live. Il a effectivement installé 150 Mo de nouveau noyau, mais malheureusement, cela n'a pas résolu le problème.Heureusement, j'ai trouvé cette page . L'
Boot-Repair
outil a bien fonctionné, mon système fonctionne à nouveau.la source
Je voulais simplement ajouter à l'expérience que j'ai vécue aujourd'hui la mise à niveau de Willy. J'ai nettoyé un peu et je me suis retrouvé avec seulement memtest. Google m'a fait comprendre que j'avais enlevé les noyaux. Une des contraintes que j'ai eue est la lenteur du réseau et le téléchargement complet de l’ISO n’était donc pas une option. J'ai donc utilisé Ubuntu Minimal CD (40 Mo seulement) et démarré dessus. Après avoir détecté une option matérielle (qui m'a aidé à me connecter au sans fil), je suis passé dans l'option shell. J'ai suivi les instructions de @Lekensteyn et j'ai réussi. quelques choses cependant: vous devez copier
resolv.conf
avant d’aller chroot sinon votre DNS sera foutu et depuis l’utilisateur connecté il n’y a plus besoin de root pour sudo.Je connais l’ancien, mais j’ai pensé que l’ajout de cette réponse ajouterait de la valeur à ceux qui rencontreraient le problème.
la source