Vous trouverez ci-dessous la description de mes recherches pour essayer de copier 'Ubuntu 20.04 avec hibernation activée sur une partition d'échange séparée sur le Thinkpad T420' sur un nouveau disque SDD en fonction des réponses à la question actuelle. Finalement, j'ai réussi mais j'ai rencontré de nombreux problèmes (nuances) en essayant ces recommandations. Ci-dessous, SDD et HDD seront considérés comme des termes interchangeables.
Tout d'abord, j'ai essayé la méthode la plus simple et la plus directe (comme je le pensais) qui est décrite dans le document Réponse de Pilot6 - copie de fichiers de la partition source vers la partition de destination
Pour la copie, j'ai utilisé rsync
commande. Le problème était que mon nouveau lecteur SDD ne permettait pas de démarrer Ubuntu sans l'ancien lecteur SDD (les deux lecteurs SDD doivent être connectés). Les seules recommandations sur cette situation que j'ai trouvées étaient d'installer ou de mettre à jour ou de récupérer Grub
configuration. Mais cela n'a pas été utile. Définition de l'UUID de la nouvelle racine dans la configuration de Grub et mise à jour de Grub comme recommandé. aquí :
/etc/default/grub
GRUB_DEVICE_UUID=40dbf2e4-e0c5-4f75-83bc-3176dc06d164
n'a pas non plus fonctionné.
Le problème n'était pas dans Grub
mais dans l'UUID de la partition swap qui pointait vers l'ancien disque.
Si vous faites cela pour Ubuntu avec l'hibernation activée sur une partition swap séparée, vous devez également mettre à jour l'UUID de la partition swap dans le fichier /etc/uswsusp.conf
et lancer la commande pour la mise à jour initramfs
pour appliquer la modification :
update-initramfs -u -k all
Sinon, au moment du démarrage, il y aura un écran noir sans message de diagnostic.
Par hasard, une fois, j'ai laissé cet écran noir pendant environ 5 minutes. Puis le message de diagnostic suivant est apparu :
resume : Impossible de statuer sur le fichier de périphérique de reprise '/dev/disk/by-uuid/8e8927aa-eca7-43d6-b7cd-66cfda70a242 Veuillez saisir le nom complet du chemin d'accès pour réessayer ou appuyez sur ENTER pour démarrer le système :
stat
pas start
- probablement une faute de frappe dans le message.
Question connexe : Impossible de statuer sur le fichier du dispositif de reprise
Plus tard, j'ai découvert que '8e8927aa-eca7-43d6-b7cd-66cfda70a242' - est l'UUID de ma partition d'échange sur le vieux disque dur.
J'ai pu démarrer dans le nouveau système en spécifiant l'emplacement de la racine sur le nouveau disque par un simple nom de partition, pas d'UUID : "/dev/sdx1" et en appuyant sur Enter
.
Il est intéressant de noter que je spécifie le nouvel emplacement de la racine, et non le nouvel emplacement de l'échange. Il semble qu'Ubuntu ait en quelque sorte compris les choses.
Je lance la commande pour la mise à jour initramfs
après avoir démarré une nouvelle copie d'Ubuntu. Dans le journal des commandes, il y avait ce qui suit :
update-initramfs: Generating /boot/initrd.img-5.13.0-27-generic
I: The initramfs will attempt to resume from /dev/sda4
I: (UUID=0253f7b6-8e26-4d19-b262-6d8923911752)
I: Set the RESUME variable to override this.
ce qui signifie que le swap UUID a été modifié avec succès.
J'ai également essayé d'exécuter la mise à jour pour initramfs
de chroot
(à partir de l'ancienne copie d'Ubuntu ou de la version Live d'Ubuntu) :
sudo mount /dev/sdx1 /mnt
sudo mount /dev/sdx5 /mnt/boot/efi
for i in /sys /proc /run /dev /dev/pts; do sudo mount --bind "$i" "/mnt$i"; done
sudo chroot /mnt
initramfs
a été exécutée à partir de chroot
mais il n'y a pas de message concernant la mise à jour resume UUID
comme dans le journal précédent - je ne sais pas si cela fonctionne correctement.
À ce moment-là, j'ai déjà mis à jour Grub
de chroot
par les commandes suivantes :
sudo grub-install /dev/sdx
sudo update-grub
Après cela, j'ai pu démarrer à partir du nouveau disque SDD sans l'ancien disque SDD.
Sous cette réponse dans les commentaires, il y a un commentaire de andrybak :
J'essaie actuellement d'utiliser cette réponse pour migrer mon installation de l'ancien disque dur vers le nouveau disque dur. J'échoue à l'étape "Installer Grub sur le nouveau disque". Grub continue de pointer/trouver l'installation sur l'ancien disque dur et je ne sais pas comment convaincre Grub de regarder le nouveau disque dur.
Il s'agit peut-être du même problème que celui que j'ai décrit ci-dessus.
Ubuntu fait de cette manière se charge normalement mais j'ai remarqué un problème avec le système de sécurité : Lorsque je monte les partitions d'un autre lecteur par gnome-disks
Je ne peux pas les ouvrir dans nautilus
(en cliquant sur leurs liens dans gnome-disks
ne fera rien). Ceci est dû à une erreur : Permission denied
.
La solution était la suivante :
- J'ai normalement installé une nouvelle Ubuntu (version minimale sans office et mises à jour) sur un nouveau disque SDD.
- Copie des fichiers de l'ancienne Ubuntu sur la partition avec la nouvelle installation Ubuntu. Dans ce cas, il n'y a pas eu de problème avec
Permission denied
. Peut-être que cela peut être réparé plus rapidement - je n'ai pas fait de recherche.
Par cette approche, j'ai copié mon Ubuntu du disque MBR au nouveau disque GPT. (Avant d'installer la version minimale d'Ubuntu, j'ai formaté le nouveau SDD en GPT). Questions connexes :
La copie de fichiers sous le système d'exploitation source ne fonctionne pas :
J'ai essayé de copier les fichiers sous le système de travail actuel (pas la version Live) en tant que discuté dans les commentaires en vertu de la Réponse de Pilot6 par les commandes suivantes :
sudo rsync -a / /mnt/dest/ --exclude sys --exclude proc --exclude dev --exclude tmp --exclude media --exclude mnt --exclude run
sudo mkdir sys proc dev tmp media mnt run
sudo mkdir /var/tmp
Et la mise à jour Grub
de chroot
.
Dans ce cas, la nouvelle copie d'Ubuntu a démarré mais la résolution de l'écran était inférieure. Il est probable que certains pilotes spécifiques au moniteur n'ont pas été copiés ou qu'ils l'ont été avec des erreurs dues au système actuel.
Également testé La réponse de ljrk - en utilisant la commande dd
sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
127945670656 bytes (128 GB, 119 GiB) copied, 818 s, 156 MB/s
dd: error writing '/dev/sdb': No space left on device
1953669+1 records in
1953669+0 records out
128035676160 bytes (128 GB, 119 GiB) copied, 829,897 s, 154 MB/s
En utilisant le SDD USB avec Ubuntu installé et dd
J'ai copié bit par bit le SDD source sur le SDD cible. En résultat le SDD cible avait les mêmes partitions, les mêmes UUIDs, les mêmes PARTUUIDs.
Ce qui suit concerne la création d'un SDD USB en direct et le changement des UUID, PARTUUID en nouveaux UUID.
Pour une vitesse plus élevée, il est préférable d'insérer les disques SDD source et destination à l'intérieur de l'ordinateur portable (le deuxième disque SDD par l'adaptateur optibay / caddy), et il s'exécutera dd
à partir d'une clé USB amorçable ou d'un SDD USB / HDD USB. J'ai trouvé deux programmes pour Ubuntu permettant de créer une clé USB ou un disque dur USB amorçable. Je voulais créer un disque dur USB (SDD) et c'était un vrai défi.
WoeUSB
Le programme peut également être utilisé pour créer un disque dur amorçable, et pas seulement une clé USB. mais cela n'est pas précisé dans la description du programme . La commande ci-dessous crée un disque dur amorçable à partir de l'image de Windows 10 Pro (par l'interface utilisateur il n'est pas possible de spécifier un disque dur USB, seulement une clé USB) :
sudo woeusb --device "/home/sunkrop/Downloads/Win10_21H2_Russian_x64.iso" /dev/sdx --target-filesystem ntfs
Comment créer une clé USB bootable Windows 10 sous Linux avec le nouveau WoeUSB
A également essayé UNetbootin
(pour Ubuntu) mais il ne peut pas utiliser l'outil NTFS
L'image d'installation d'Ubuntu 20.04 doit pouvoir être installée sur une partition FAT32 (le fichier le plus volumineux dans la partition FAT32 n'est pas pris en charge par FAT32). L'image d'installation d'Ubuntu 20.04 doit pouvoir être installée sur une partition FAT32 (le fichier le plus volumineux en ubuntu-20.04.3-desktop-amd64.iso
l'image est casper/filesystem.squashfs
avec la taille de 2,1Gb
). J'ai utilisé Ubuntu déjà installé et connecté via USB SDD.
La commande suivante écrit l'image sur le disque dur USB avec FAT32 FS :
sudo unetbootin installtype=HDD targetdrive=/media/sunkrop/winds/ method=diskimage isofile="/home/sunkrop/Downloads/Win10_21H2_Russian_x64.iso"
Par l'interface utilisateur, il n'est pas possible de spécifier la cible comme un disque dur USB, seulement comme une clé USB. Dans targetdrive
Le chemin du paramètre doit être spécifié vers le lecteur USB monté. Et à la fin, il doit y avoir une barre oblique. /
sinon la commande échouera avec une erreur :
unetbootin /dev/sdx1sources is out of space
Ou peut-être pas d'échec, mais des fichiers ne seront pas écrits sur le disque de destination.
dd
est utile si vous voulez simplement déplacer votre système vers un autre disque - même Dropbox fonctionne sur le SDD cible sans nécessiter de relier. L'ancien disque peut être formaté. Et vous avez terminé.
Mais si vous voulez que les deux disques durs fonctionnent dans le même ordinateur portable, les UUIDs et PARTUUIDs du nouveau disque dur doivent être modifiés pour être uniques. Vous trouverez ci-dessous des informations à ce sujet.
Comment changer l'UUID d'une partition dans un système de fichiers Linux ?
blkid | grep sdb1
/dev/sdb1: UUID="0c0f5bf5-4e0f-4f4e-85df-896c88e14ba0"
umount /dev/sdb1
sudo e2fsck -f /dev/sdb1 #required by tune2fs before changing UUID
sudo tune2fs -U 0c0f5bf5-4e0f-4f4e-85df-896c88e14ba5 /dev/sdb1
sudo blkid | grep sdb1
/dev/sdb1: UUID="0c0f5bf5-4e0f-4f4e-85df-896c88e14ba5"
出典 Comment changer l'UUID d'une partition dans un système de fichiers Linux ?
Comment changer de PARTUUID ?
sudo blkid | grep sdb1
/dev/sdb1: PARTUUID="a41c501b-1800-41ed-968b-b7bbfe4ef5ef"
sudo gdisk /dev/sdb
x # enter x to change to experts menu
c # enter c to change PARTUUID
1 # enter the number of the partition you want to change
a41c501b-1800-41ed-968b-b7bbfe4ef6ef
m # enter m to go back to main menu
w # enter w to write the change to disk
q # enter q to exit gdisk
OK; writing new GUID partition table (GPT) to /dev/sdb.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
sudo blkid | grep sdb1
/dev/sdb1: PARTUUID="a41c501b-1800-41ed-968b-b7bbfe4ef6ef"
出典 Comment changer de PARTUUID ?
Severus Tux'answer - sur l'utilisation de Clonezella
C'est également une bonne solution, mais elle demande plus de temps de préparation et de mise en place que l'utilisation de l'outil de gestion des déchets. dd
commande - La clé USB Clonezella Live doit être préparée, démarrée et de nombreux menus de l'interface utilisateur de Clonezella doivent être parcourus avant de commencer le processus de clonage ou de sauvegarde d'une image du système. Clonezella fonctionne de la même manière que dd
- Les UUIDs, PARTUUIDs seront également copiés sur le lecteur SDD cible.
Discussion sur les UUIDs, PARTUUIDs sur la page Clonezilla :