Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
migration_ubuntu_sur_ssd [Le 03/01/2023, 12:45]
91.161.152.215 [Travail préparatoire]
migration_ubuntu_sur_ssd [Le 24/10/2023, 13:10] (Version actuelle)
krodelabestiole
Ligne 1: Ligne 1:
 ===== Comment assurer la migration d'​Ubuntu vers un SSD ? ==== ===== Comment assurer la migration d'​Ubuntu vers un SSD ? ====
 +
 {{tag> migration système ssd }} {{tag> migration système ssd }}
  
-<note tip>La migration de vers un SSD revient à copier le root du disque dur vers le SSD. La page [[deplacer_root|Déplacer sa racine(ou root (/))]] traite de ce point. Elle parait mieux finalisée, plus claire. </​note>​+<note tip>La migration de vers un SSD revient à copier le root du disque dur vers le SSD. La page [[deplacer_root|Déplacer sa racine(ou root (/))]] traite de ce point. Elle parait mieux finalisée, plus claire
 + 
 +À condition qu'​Ubuntu ait été installé dans cette seule partition. Il y a aussi la [[:swap]] à déplacer, qui peut être en fichier ou en partition. Et cette méthode demande à modifier la configuration de [[:GRUB]], de [[:​mount_fstab|fstab]];​ bref elle est beaucoup plus compliquée que la méthode simple par Clonezilla (voir encadré suivant).</​note>​
  
 Situation : ubuntu installé sur un HDD, et vous n'avez pas envie de réinstaller toute la configuration ! Situation : ubuntu installé sur un HDD, et vous n'avez pas envie de réinstaller toute la configuration !
  
-Le principe ​est le suivant :+<note tip>​[[:​Clonezilla]] ​est une distribution [[:​live_usb|live]] qui permet de créer une copie conforme de l'​intégralité d'un support de stockage (disque dur ou SSD) sur un autre, ou dans un fichier ''​.img''​. 
 + 
 +Avec une tour il est généralement possible de brancher ​le SSD et le disque dur simultanément.\\  
 +C'est aussi souvent possible sur un portable, sinon il suffit de brancher son SSD en USB au moyen d'une interface externe, ou inversement (on peut utiliser [[:​Clonezilla]] //après// avoir interchangé les supports, puisque c'est un système live autonome). 
 + 
 +Il suffit de démarrer sur [[:​Clonezilla]] en changeant éventuellement l'​[[:​tutoriel:​modifier_ordre_amorcage_du_bios|ordre de démarrage dans le BIOS]], puis on peut réaliser un clone parfait de son disque en quelques clics. Clonezilla conserve même l'​[[:​uuid_et_label|UUID]] des partitions (qui sert au système à les identifier) donc il ne faut plus utiliser l'​ancien disque sur le même ordi sans en changer les UUIDs (avec [[https://​manpages.ubuntu.com/​manpages/​impish/​fr/​man8/​tune2fs.8.html|tune2fs]] ou, plus simple, en [[:​partitions|repartitionnant]] cet ancien disque dur). 
 + 
 +En suivant ​cette méthode on n'a aucun changement à effectuer côté [[:​mount_fstab|fstab]] ou [[:​GRUB]]. 
 + 
 +Cette méthode simple n'est malheureusement pas décrite sur cette page.\\  
 +Voir la [[:​clonezilla#​comment_creer_une_image_de_sauvegarde_de_partition_s_ou_de_disque|documentation à ce sujet]] sur la page  de Clonezilla.</​note>​ 
 + 
 +La méthode proposé sur cette page est la suivante ​:
     * Partitionner le SSD : avec Gparted ​     * Partitionner le SSD : avec Gparted ​
       * Créer une table de partition GPT (Onglet **Périphérique**).       * Créer une table de partition GPT (Onglet **Périphérique**).
Ligne 84: Ligne 99:
   *   Une partition EXT4 pour le logiciel avec le reste de espace disponible éventuellement diminué de l'​espace prévu pour la partition swap. Y mettre l'​étiquette **NewUbuntu**.   *   Une partition EXT4 pour le logiciel avec le reste de espace disponible éventuellement diminué de l'​espace prévu pour la partition swap. Y mettre l'​étiquette **NewUbuntu**.
   *   ​Eventuellement,​ une partition de swap égale à la taille de la RAM mémoire si l'​ordinateur est capable [[:/​tutoriel/​activer_hibernation|d'​hiberner]]. Sinon, utiliser un fichier d'​[[:/​swap#​creer_un_fichier_d_echange|échange]] à créer dans la nouvelle partition s'il n'​existe pas. Une taille de 1 Go semble suffisante surtout si la taille de la RAM est importante. ​  Il faut penser à de pas mettre en oeuvre le pré-swapping ​ lorsque 40% de la RAM est consommée mais attendre ​ le seuil  de 95%.   *   ​Eventuellement,​ une partition de swap égale à la taille de la RAM mémoire si l'​ordinateur est capable [[:/​tutoriel/​activer_hibernation|d'​hiberner]]. Sinon, utiliser un fichier d'​[[:/​swap#​creer_un_fichier_d_echange|échange]] à créer dans la nouvelle partition s'il n'​existe pas. Une taille de 1 Go semble suffisante surtout si la taille de la RAM est importante. ​  Il faut penser à de pas mettre en oeuvre le pré-swapping ​ lorsque 40% de la RAM est consommée mais attendre ​ le seuil  de 95%.
 + 
 +<​note>​Si refind est utilisé: Au lieu de créer une partition de boot EFI, il est plus pratique de copier/​coller la partition de boot-EFI puis changer son UUID et y mettre ​ une étiquette **FATSSD** et un drapeau ESP.</​note>​
 +
 +==== Migration des données ====
 +  - Devenir administrateur.<​code bash>​sudo -i</​code>​
 +  - Monter la partition de réception. <code bash>​udisksctl unmount -b /​dev/​disk/​by-label/​NewUbuntu ## On ne sait jamais
 +udisksctl mount -b /​dev/​disk/​by-label/​NewUbuntu</​code> ​
 +  - Dupliquer le logiciel de base. Possibilité d'​ajouter l'​option **progress** pour visualiser le transfert des fichiers. **Durée estimée: 10 minutes.**<​code bash>​time rsync -ax --delete-before --stats --exclude '/​home' ​ /  /​media/​$USER/​NewUbuntu</​code>​
 +  - Dupliquer les fichiers cachés du home et le répertoire snap de tous les utilisateurs et préparer certains liens symboliques. Possibilité de supprimer l'​option **progress** pour masquer le transfert des fichiers. **Durée estimée 2 minutes par utilisateur.**<​code bash>for Me in $(ls -1 /home) ; do
 +mkdir -pv /​media/​$USER/​NewUbuntu/​home/​$Me
 +echo  le transfert de $Me  ​
 +rsync -ax  --stats --progress ​  /​home/​$Me/​{.[^.]*,​snap} ​ /​media/​$USER/​NewUbuntu/​home/​$Me
 +ln -s /​media/​data/​home/​$Me/​Bureau ​            /​media/​$USER/​NewUbuntu/​home/​$Me
 +ln -s /​media/​data/​home/​$Me/​Documents ​         /​media/​$USER/​NewUbuntu/​home/​$Me
 +ln -s /​media/​data/​home/​$Me/​Images ​            /​media/​$USER/​NewUbuntu/​home/​$Me
 +ln -s /​media/​data/​home/​$Me/​Musique ​           /​media/​$USER/​NewUbuntu/​home/​$Me
 +ln -s /​media/​data/​home/​$Me/​Téléchargements ​   /​media/​$USER/​NewUbuntu/​home/​$Me
 +ln -s /​media/​data/​home/​$Me/​Vidéos ​            /​media/​$USER/​NewUbuntu/​home/​$Me ​
 +chown -R $Me:$Me /​media/​$USER/​NewUbuntu/​home/​$Me;​ done </​code>​
 +  - Modifier le fstab en remplaçant la partition racine et ajout de la partition de données avec son point de montage.<​code bash>​UUIDgood=$(echo $(lsblk -fe7 | grep "​NewUbuntu"​)| cut -d" " -f5)  && echo $UUIDgood
 +UUIDold=$(grep ' \/ ' /etc/fstab | grep UUID  | cut -c6-41) && echo $UUIDold ​
 +sed -i "​s/​$UUIDold/#​$UUIDold/"​ /​media/​$USER/​NewUbuntu/​etc/​fstab
 +echo UUID=$UUIDgood ​ /  ext4 errors=remount-ro 0 1 | tee -a /​media/​$USER/​NewUbuntu/​etc/​fstab
 +echo UUID=$UUIDold ​  /​media/​data ext4 defaults 0 2 | tee -a /​media/​$USER/​NewUbuntu/​etc/​fstab
 +mkdir /​media/​$USER/​NewUbuntu/​media/​data
 +egrep  " / |data" /​media/​$USER/​NewUbuntu/​etc/​fstab</​code> ​
 +  - Si le boot est EFI, mettre à jour le nouvel UUID  de boot dans le fichier /etc/fstab et le fichier de configuration de refind. ​ <code bash>sed -i '/​boot\/​efi/​d'​ /​media/​$USER/​NewUbuntu/​etc/​fstab
 +echo UUID=$(lsblk -o UUID,​NAME,​LABEL ​ | grep FATSSD | cut -c-9) /​boot/​efi ​ vfat umask=0077 0 1| tee -a /​media/​$USER/​NewUbuntu/​etc/​fstab
 +sed -i "​s/​$UUIDold/​$UUIDgood/"​ /​media/​$USER/​NewUbuntu/​boot/​refind_linux.conf </​code> ​
 +==== Installation du grub  ====
 +<​note>​Action inutile lorsque [[:/​refind|refind]] est utilisé.</​note>​
 +Il existe 2 possibilités pour installer le bon grub dans cette nouvelle partition.
 +  *   ​**Avec [[/​boot-repair|boot-repair]]:​**
 +    *  Il faut demander de réinstaller le grub du ubuntu de la partition **NewUbuntu** ​ en utilisant la partition ​ de boot [[https://​doc.ubuntu-fr.org/​lib/​exe/​fetch.php?​tok=e0329e&​media=http%3A%2F%2Fpix.toile-libre.org%2Fupload%2Foriginal%2F1416027492.png|FATSSD]] ​  
 +  *    **En technique CHROOT:**
 +  - Préparer le passage chroot et exécuter le chroot.<​code bash>
 +mount -t proc   /proc /​media/​$USER/​NewUbuntu/​proc && mount -t sysfs  /sys /​media/​$USER/​NewUbuntu/​sys
 +mount --bind ​   /dev  /​media/​$USER/​NewUbuntu/​dev ​ && mount --bind ​   /run /​media/​$USER/​NewUbuntu/​run
 +mount --bind ​   /sys  /​media/​$USER/​NewUbuntu/​sys ​ && modprobe efivars ​
 +chroot /​media/​$USER/​NewUbuntu </​code>​
 +  - Monter la partition EFI du SSD. **Ne pas faire si le boot est en LEGACY.** <code bash>
 +mount -v /​dev/​disk/​by-label/​FATSSD ​ /​boot/​efi</​code>​
 +  - Réinitialiser le grub.<​code bash>​grub-install $(blkid | grep '​FATSSD'​ | head -1 | cut -c1-8 ) 
 +update-grub</​code>​
 +  - Démonter la partition EFI et quitter le CHROOT <code bash>​umount -v /​boot/​efi ​
 +exit</​code>​
 +  - Faire la mise à jour du bios efi. **Ne pas faire si le boot est en LEGACY.** <code bash>
 +DSK=$(echo /​dev/​$(lsblk -o NAME,​Label ​ | grep -B 1  FATSSD | head -1))  && echo $DSK 
 +if [[ $(bootctl) =~ "​Secure Boot: disabled"​ ]]; then  efibootmgr --create --disk $DSK --part 1 --label ubuntu --loader "​\EFI\ubuntu\grubx64.efi";​
 +else efibootmgr --create --disk $DSK --part 1 --label ubuntu --loader "​\EFI\ubuntu\shimx64.efi";​ fi</​code>​
 +  - Quitter proprement<​code bash>​umount -v /​media/​$USER/​NewUbuntu/​{run,​dev,​sys,​proc} && umount /​media/​$USER/​NewUbuntu/​sys
 +umount -v /​media/​$USER/​NewUbuntu  ​
 +exit</​code>​
 +  - Rebooter ​  sans oublier ​ de modifier le BIOS LEGACY pour mettre prioritaire le disque SSD.
 +
 +
  
-==== Réalisation ==== +   
-Aux dernières nouvelles, reportée à l'an prochain.+
 ===== Autre méthode de migration avec gparted ===== ===== Autre méthode de migration avec gparted =====
 __Cette méthode peut s'​appliquer__:​ __Cette méthode peut s'​appliquer__:​
  • migration_ubuntu_sur_ssd.1672746308.txt.gz
  • Dernière modification: Le 03/01/2023, 12:45
  • par 91.161.152.215