Différences
Ci-dessous, les différences entre deux révisions de la page.
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 09/01/2023, 18:44] geole [Migration des données] |
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 ==== | ==== Migration des données ==== | ||
Ligne 110: | Ligne 127: | ||
- 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 | - 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 | 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/$LABEL/boot/refind_linux.conf </code> | + | sed -i "s/$UUIDold/$UUIDgood/" /media/$USER/NewUbuntu/boot/refind_linux.conf </code> |
- | ==== Installation du grub ==== | + | ==== 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. | Il existe 2 possibilités pour installer le bon grub dans cette nouvelle partition. | ||
* **Avec [[/boot-repair|boot-repair]]:** | * **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]] | * 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:** | * **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 | + | - 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 /dev /media/$USER/NewUbuntu/dev && mount --bind /run /media/$USER/NewUbuntu/run | ||
mount --bind /sys /media/$USER/NewUbuntu/sys && modprobe efivars | mount --bind /sys /media/$USER/NewUbuntu/sys && modprobe efivars | ||
chroot /media/$USER/NewUbuntu </code> | chroot /media/$USER/NewUbuntu </code> | ||
- | - Remplacer le point de montage de la partition EFI du disque dur par celui de la partition EFI du SSD. **Ne pas faire si le boot est en LEGACY.** <code bash>sed -i '/boot\/efi/d' /etc/fstab | + | - Monter la partition EFI du SSD. **Ne pas faire si le boot est en LEGACY.** <code bash> |
- | echo UUID=$(lsblk -o UUID,NAME,LABEL | grep FATSSD | cut -c-9) /boot/efi vfat umask=0077 0 1| tee -a /etc/fstab | + | mount -v /dev/disk/by-label/FATSSD /boot/efi</code> |
- | PartEFI=$(blkid | grep 'FATSSD' | head -1 | cut -d: -f1 ) && echo $PartEFI | + | |
- | mount -v $PartEFI /boot/efi</code> | + | |
- Réinitialiser le grub.<code bash>grub-install $(blkid | grep 'FATSSD' | head -1 | cut -c1-8 ) | - Réinitialiser le grub.<code bash>grub-install $(blkid | grep 'FATSSD' | head -1 | cut -c1-8 ) | ||
update-grub</code> | update-grub</code> | ||
- | - Démonter la partition EFI et quitter le CHROOT <code bash>umount -v $PartEFI | + | - Démonter la partition EFI et quitter le CHROOT <code bash>umount -v /boot/efi |
exit</code> | exit</code> | ||
- | - Faire la mise à jour du bios efi. **Ne pas faire si le boot est en LEGACY.** <code bash>mount $PartEFI /boot/efi | + | - 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)) | + | 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"; | 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> | 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 | - Quitter proprement<code bash>umount -v /media/$USER/NewUbuntu/{run,dev,sys,proc} && umount /media/$USER/NewUbuntu/sys | ||
- | umount -v /media/$USER/NewUbuntu && umount -v $PartEFI | + | umount -v /media/$USER/NewUbuntu |
exit</code> | exit</code> | ||
+ | - Rebooter sans oublier de modifier le BIOS LEGACY pour mettre prioritaire le disque SSD. | ||
+ | |||