Kubuntu 20.10 à 21.10 : réinstallation partielle

Il était temps de passer ma Kubuntu 20.10 à une version plus récente, étant donné qu’il y a une faille d’élévation de privilège dans polkit/pkexec (CVE-2021-4034) et qu’il n’y a plus de patch pour Kubuntu 20.10 (plus supporté). Et là j’ai découvert que ce n’était plus possible officiellement de passer de Kubuntu 20.10 (groovy) à 21.10 (impish) même indirectement (via la 21.04), sauf à tenter de mettre à jour tous les paquets (pas sûr que ça marche). Donc je suis parti pour une réinstallation.

Étape 1: créer une clé USB de démarrage Kubuntu

J’ai téléchargé l’image ISO version 64 bits, puis ensuite j’ai utilisé l’outil « Startup Disk Creator » (sûrement dispo de base avec KDE) pour créer un disque USB bootable. Et j’ai rebooté dessus.

Défi 1: transition de ma partition btrfs

Lors de mon installation précédente, j’avais abandonné les volumes LVM et opté pour une grosse partition btrfs avec des sous-volumes (suivant l’enthousiasme de sebsauvage pour btrfs). Ubuntu crée dans la partition btrfs des sous-volumes: un nommé « @ » (pour la partition racine) et un nommé « @home » (pour le /home), ce qui est bien pratique pour créer des snapshots.

Comme je veux conserver mes données de /home (et potentiellement de la racine, pour peaufiner la transition), j’ai renommé mes deux sous-volumes:

  • Depuis l’installateur, j’ai pressé « alt-F2 » (on est dans KDE!) et tapé « konsole » pour démarrer un terminal.
  • J’ai monté mon disque existant et renommé:
    • sudo su –
    • cd /tmp
    • mkdir toto
    • mount /dev/sda5 toto (sda5 est ma grosse partition btrfs)
    • cd toto
    • mv @{,.old} (cette syntaxe est développée par bash en « mv @ @.old »)
    • mv @home{,.old}
    • cd ..
    • umount toto

Et donc quand je vais plus loin réutiliser ma partition existante, l’installateur va m’avertir qu’il va supprimer tous les répertoires systèmes (/var, /usr, /etc…). Mais comme il n’y a plus de sous-volumes « @ » et « @home », il va en créer de nouveaux et donc ne supprimera rien.

Défi 2: il veut une partition UEFI

J’avance dans l’installateur, j’arrive à la page de partitionnement et je choisis le partitionnement manuel (si je suis un peu trop endormi et que je choisis le mode automatique, je peux dire adieu à mes données!).

J’associe ma partition racine à sda5 (grosse partition btrfs) sans demande de formatage, et j’associe ma petite partition sda1 ext4 à /boot comme auparavant.

Mon installation actuelle était en mode BIOS legacy. Mais l’installateur m’avertit que sans partition UEFI, le redémarrage risque d’échouer. Je tente le coup et grub échoue.

Après avoir recommencé l’installateur et avoir supprimer les nouveaux sous-volumes @ et @home, je supprime sda1 (/boot) pour créer une partition UEFI de 50Mo (c’est limite, il ne me reste après coup que 17Mo de libre), plus une nouvelle partition /boot.

Cette fois, l’installateur se passe bien, et ça redémarre sur une Kubuntu tout neuf.

Restauration des anciennes données.

Je restaure mon /home. Je redémarre à nouveau sur la clé USB, et en ligne de commande, je supprime le nouveau @home (il ne contient rien d’utile) et renomme « @home.old » en « @home ». Reboot: j’ai retrouvé mon ancien bureau et mes données.

Je vais monte mes anciennes partitions. Je monte la partition btrfs dans un répertoire, je vais voir l’ancien « fstab » situé dans « @.old/etc/fstab » et je copie toutes les lignes qui m’intéressent dans le nouveau /etc/fstab. Je crée tous les répertoires de montage, je les monte, et hop tous mes disques précédents sont à nouveau dispo.

Défi 3: restaurer Windows

Depuis l’installation, Kubuntu démarre directement, alors qu’avant j’avais un menu grub qui me proposait aussi Windows (qui était en mode BIOS legacy). Problème: ma nouvelle partition UEFI n’a pas les fichiers Windows. Je suis donc à peu près cette procédure.

Je télécharge une image ISO de Windows 10 ici (en fait j’en avais déjà une)

J’installe WoeUSB: c’est un outil Linux qui permet de créer une clé USB d’installation de Windows:  » sudo add-apt-repository ppa:tomtomtom/woeusb », « sudo apt update && sudo apt install woeusb-frontend-wxgtk » (et je croise les doigts pour que cette source ne contienne pas un malware). Il est maintenant dispo dans les programmes installés, et la procédure est triviale.

Je rajoute Windows à l’UEFI:

  • Je démarre sur la clé.
  • Je choisis la réparation, et pas l’installation, et j’ouvre une ligne de commande.
  • J’exécute le programme « diskpart », puis sa sous-commande « list vol », puis « exit ». Cela liste les disques Windows. Dans mon cas, le disque FAT32 qui est ma partition UEFI était assignée à une lettre de lecteur (C). Mon disque NTFS était aussi associé à une lettre (F).
  • Je vais sur le disque EFI:
cd /d c:\EFI
dir

La liste contient un répertoire « ubuntu », je suis au bon endroit. Je crée maintenant une structure pour Windows:

mkdir Microsoft
cd Microsoft
mkdir Boot
cd Boot

Et j’installe le bootloader:

bcdboot f:\Windows /l en-us /s c: /f UEFI /addlast

Avec « exit », je peux quitter cette ligne de commande, rebooter et enlever la clé USB. À partir de maintenant, je peux sélectionner Windows à partir du BIOS. Mais c’est moins pratique que le menu grub.

Réutilisons grub

Je redémarre sous Kubuntu. Dans une ligne de commande, j’exécute « sudo update-grub2 ». Grub trouve Windows dans l’UEFI, et va me créer le menu classique de démarrage avec Linux par défaut et Windows en option.

Quelques ajouts de programmes plus tard, mon système est aussi fonctionnel que l’ancien.

Entrée du japonais

Pour taper du japonais, j’ai suivi ce guide qui utilise mozc (gère la frappe du japonais) et fcitx (propose une interface utilisateur agréable).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *