Je ne peux plus allumer mon pc

KAREX -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, je suis sur ubuntu 16 . 04 je ne peux plus allumer mon ordi cela m'indique : Fichier /initrd.img-4.13.0-45-generic non disponible
je l'avais supprimer sans le vouloir et j'avais redémarrer mon pc ce qu'il ne fallait pas faire pouvez vous m'aider merci encore
A voir également:

1 réponse

mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Bonjour,

Pour le supprimer tu as dû y aller fort car il faut être en root et se promener dans
/boot
! Je ne pense pas que
boot-repair
soit capable de réinstaller le noyau pour toi donc tu vas devoir faire une bonne partie de ce que
boot-repair
fait à la main.

L'approche la plus simple consiste à réinstaller (attention à ne pas formater
/home
si tu ne veux pas perdre tes documents).

Si tu veux réparer, attention ça va être un peu technique. Pour cela, il faut un un live CD ou un live USB (e.g. le CD ou la clé d'installation qui t'a permis d'installer ubuntu) et démarrer dessus. Une fois le live lancé, fait les étapes d'installation jusqu'à configurer le réseau, puis interromps l'installation. Tu auras alors l'opportunité de lancer un terminal à partir duquel on va faire la réparation.

Dans ce terminal, il faut à préparer l'arborescence linux du disque dur de sorte dans un répertoire arbitraire (disons
/linux
) et faire en sorte que dans ce dossier, on ait monté
/
,
/boot
(si
/boot
est une partition dédiée),
/sys
et
/proc
comme si on avait démarré normalement. Toutes ces conditions sont nécessaires pour avoir un chroot suffisant redéployer le noyau et réinstaller grub.

Si tu as fait une installation LVM (en particulier si tu as chiffré ton disque dur) il y a quelques étapes supplémentaires, donc précise-nous si tu es dans cette situation. Dans ce qui suit, je donne la procédure en supposant que tu n'utilises pas LVM et à pour ma propre installation. Dans ton cas les nom de device devront être adaptés en fonction du résultat de la commande
parted -l
.

Étape 1 : analyser comment est installé ton linux

Cette étape permet de préparer un terminal, lancé depuis le live CD ou USB et faire en sorte qu'il se comporte comme si on avait démarré normalement. C'est ce que fait en arrière boutique un outil comme
boot-repair
.

Examine la table des partitions :

sudo parted -l


Exemple :

(mando@aldur) (~) $ sudo parted -l
[sudo] Mot de passe de mando :
Model: WDC PC SN520 SDAPNUW-512G-1002 (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 1049kB 274MB 273MB fat32 EFI system partition boot, esp
2 274MB 290MB 16,8MB Microsoft reserved partition msftres
3 290MB 407GB 406GB ntfs Basic data partition msftdata
5 407GB 411GB 3999MB linux-swap(v1) swap
6 411GB 441GB 30,0GB ext4
7 441GB 511GB 70,9GB ext4
4 511GB 512GB 682MB ntfs Basic data partition hidden, diag


Ici le disque intéressant est /dev/nvme0n1 (dans ton cas ce sera peut-être
/dev/sdb
). Attention car dans ton cas l'un des disques correspondra au live USB.

La partition
/
est généralement formatée en ext4. Ici il y en a deux. La taille permet de deviner que la partition 6 correspond à
/
et la partition 7 correspond à
/home
.

Examine les noms des devices associés aux partitions du disque en tapant la commande (à adapter avec le nom de ton disque) :

sudo -1 /dev/nvme0n1*


Exemple :

(mando@aldur) (~) $ ls -1 /dev/nvme0n1*
/dev/nvme0n1
/dev/nvme0n1p1
/dev/nvme0n1p2
/dev/nvme0n1p3
/dev/nvme0n1p4
/dev/nvme0n1p5
/dev/nvme0n1p6
/dev/nvme0n1p7


Le device associé à la partition
/
est donc
/dev/nvme0n1p6
dans cet exemple (dans ton cas ce sera peut être
/dev/sdb5
). Ensuite on monte le device dans un répertoire vide créé pour l'occasion

Étape 2 : préparer le
chroot


sudo mkdir -p /linux
sudo mount /dev/nvme0n1p6 /linux
ls /linux


Si tu as bien visé, la commande
ls
devrait afficher des répertoires qui correspondent à une arborescence linux (boot, etc, lib, home, var, usr...). Sinon, lance sudo
umount /linux
et essaye avec un autre device.

A présent il faut répliquer
/dev
dans
/linux/dev
:

sudo mount -o bind /dev /linux/dev


Si /boot est sur une partition dédiée du disque dur, il faut la monter dans
/linux/boot
(même procédure que pour / en adaptant le device et le répertoire cible).

On doit alors pouvoir déplacer
/
au niveau de
/linux
, et dedans on monte
/sys
et
/proc
:


sudo chroot /linux
mount -t proc proc /proc
mount -t sysfs sysfs /sys


Étape 3 : réparer

Dans ton cas il faut réinstaller le paquet associé à ton noyau. Tu peux retrouver cette information avec la commande
dpkg -l | grep linux-image
. Dans ton cas c'est probablement le paquet
linux-image-amd64
qui t'intéresse, donc on lancera :

sudo apt update
sudo apt install linux-image-amd64


Note que grub devrait être automatiquement régénéré.

Étape 4 : quitter le
chroot
et redémarrer


On démonte dans le sens inverse des mount (comme pour des poupées russes) et on redémarre :

sudo umount /proc
sudo umount /sys
exit # quitte le chroot
cd /
sudo umount /linux/dev
sudo umount /linux
sudo reboot


et au redémarre du PC, on enlève la clé USB pour démarrer sur le disque dur...

Bonne chance
0