Forum Linux.général clone pc en vm; clonezilla: tables de partition GPT et MBR discordantes

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
26
juin
2021

Bonjour,

Je cherche à transformer entièrement un pc linux existant en VM (de préférence qemu, pour proxmox).

D’après mes recherches, l’une des méthodes est d’utiliser clonezilla. Le seul problème que en utilisant cette solution, j’ai un message d’erreur qui s’affiche m’indiquant que le disque que je veux cloner contient des tables de partition GPT et MBR discordantes et me demande, en gros, de supprimer celle que je n’utilise pas.
Or un fdisk -l sur mon disque m’indique que la table utilisée est de type « dos » !!!

Ce type, dos, peut s’expliquer car auparavant, ce pc comportait un double boot windows-linux.

Mais une table de partition dos est différente d’une gpt non ? Clonezilla ne supporte visiblement pas les partitions dos, je ne peux donc pas utiliser cette solution … Il y a moyen de transformer cette table dos en gpt ou … ?

Sinon avez-vous une autre solution pour faire de clone ?
Si j’utilise dd pour cloner mon disque, le clone va fonctionner mais j’aurai pas le même type de problème lorsque que je transformerai mon img en disque qemu ?

Merci par avance pour votre aide.

  • # dd quoi qu'il arrive

    Posté par  . Évalué à 2. Dernière modification le 27 juin 2021 à 11:03.

    Je pense que quoi que tu fasses, il faut tu fasses un dd puis que tu travailles sur la copie que tu auras généré pour refaire ta table de partitions proprement. Si tu as un problème tu auras toujours les données originales sur ton disque.

    Rien ne t'empêche non plus:
    1. de faire une image qemu vide,
    2. de créer une table de partition comme tu le souhaites, avec des partitions de taille >= à celles que tu veux copier.
    3. de copier les partitions avec dd (genre /dev/sda1 de ton orginal vers ta nouvelle image)
    4. de redéfinir les uid du disque et des partitions dans ton image (ça va dépendre de comment ta distribution identifie les disques/paritions pour booter).
    5. de démarrer la VM avec un livecd et de réinstaller le boootloader (grub) en mode efi/bios selon ton choix
    6. d'étendre les fs à la taille max des partitions

    Ça demande un peu de temps, mais ça ce fait très bien

    • [^] # Re: dd quoi qu'il arrive

      Posté par  . Évalué à 1.

      merci, je suis en train de tester cela mais j'ai l'impression que je suis en train de faire des bêtises.

      J'ai voulu créer le disque avec, la commande suivante mais le problème c'est que ensuite je ne peux pas créer de partition. En effet même si l'on veut une image de 250G le fichier ne fait que quelques Mo.

      qemu-img create -f qcow2 mondd tailledudd #par exemple 250G

      Donc j'ai créer un fichier avec la commande suivante et on peut créer une table de partition.

      fallocate -l 150 nomdufichier

      Par contre, mon disque ressemble à ce qui suit (un vrais bordel !), et en réalité je n'ai besoin que des 2 partitions suivantes (sda2->non utilisé par ce SE et sda1 … je la vois pas montée … donc je l'oublie ?)
      - ma partition système /dev/mapper/linux-archlinux (50G)
      - ma partition données /dev/sda4 (150G)

      Pour être sure, pour mon clone, puis je créer seulement 2 partitions "normales" comme je l'indique dans la liste ou dois je créer la partition entendue avec mon système et le swap sur du lvm ainsi que la partition données ?
      - sda1 50G système
      - sda2 155G données

      Disque /dev/sda : 238,47 GiB, 256060514304 octets, 500118192 secteurs
      Modèle de disque : SAMSUNG MZNTD256
      Unités : secteur de 1 × 512 = 512 octets
      Taille de secteur (logique / physique) : 512 octets / 512 octets
      taille d'E/S (minimale / optimale) : 512 octets / 512 octets
      Type d'étiquette de disque : dos
      Identifiant de disque : 0x6ba53840
      
      Périphérique Amorçage     Début       Fin  Secteurs Taille Id Type
      /dev/sda1                  2048   1050623   1048576   512M 83 Linux  # en FAT32 -> je sais plus à quoi elle correspond !
      /dev/sda2               1050624  74426367  73375744    35G 83 Linux
      /dev/sda3              74426368 185544703 111118336    53G  5 Étendue
      /dev/sda4             185544704 500117503 314572800   150G  7 HPFS/NTFS/exFAT
      /dev/sda5              74430464 185544703 111114240    53G 8e LVM Linux
      
      Les entrées de la table de partitions ne sont pas dans l'ordre du disque.
      
      
      Disque /dev/mapper/linux-00 : 5 GiB, 5368709120 octets, 10485760 secteurs #partition swap
      Unités : secteur de 1 × 512 = 512 octets
      Taille de secteur (logique / physique) : 512 octets / 512 octets
      taille d'E/S (minimale / optimale) : 512 octets / 512 octets
      
      
      Disque /dev/mapper/linux-archlinux : 47,98 GiB, 51518636032 octets, 100622336 secteurs
      Unités : secteur de 1 × 512 = 512 octets
      Taille de secteur (logique / physique) : 512 octets / 512 octets
      taille d'E/S (minimale / optimale) : 512 octets / 512 octets
      
    • [^] # Re: dd quoi qu'il arrive

      Posté par  . Évalué à 1.

      salut / re,

      J'ai avancé mais je bloque à la toute fin.
      Avance de commencer, deux informations:
      - la table de partition sur le PC fixe est en dos (merci MS)
      - Le pc que je veux sauvegarder est une archlinux donc je me sers du livecd archlinux.


      • J'ai créé une VM, puis booté avec le livecd pour créer table de partition, puis j'ai copier les images de deux partitions du PC sur les 2 partitions que je viens de créer. dd if=/mnt/dd/imagesda1 of=/dev/sda1 conv=noerror,sync bs status=progress dd if=/mnt/dd/imagesda2 of=/dev/sda2 conv=noerror,sync bs status=progress
      • Une fois cela fait, j'ai bien mes 2 lv, mon / et le swap.
      • Je monte /dev// dans /mnt
      • Grace un à un blkid, j'ai repéré les UUID de ces deux lv, et j'ai changer celui de / dans /mnt/etc/fsta (celui du swap et de sda2 non pas changé)
      • je suis rentré dans "mon arch à proprement dit": arch-chroot /mnt
      • jai installé grub sur sda: grub-install /dev/sda
      • j'ai régénéré sa configuration: grub-mkconfig -o /boot/grub/grub.cfg (jai fais une sauvegarde de ce fichier avant)
      • reboot
      • grub s'affiche bien avec archlinu et archlinux_rescu-ou-je-sais-plus-quoi
      • et …. c'est le drame !

      ERROR: device '/dev/mapper/' not found. Skipping fsck.
      :: mounting '/dev/mapper/' on real root
      mount: /new_roor: no filesystem type specified.
      You are now being dropped into an emergency shell.
      sh: con't acess tty; job control turned off

      Et effectivement, quand je fais:
      # lvm
      lvm> lvmdiskscan

      J'ai aucun disk,partition, lmv physical volum … qui est présent.

      Si quelqu'un a une idée, je suis preneur !

      • [^] # Re: dd quoi qu'il arrive

        Posté par  . Évalué à 1.

        J'ai réussi, voir plus bas pour toutes les commandes.
        Il manquait juste mkinitcpio -p linux

  • # Un peu plus d'infos ?

    Posté par  . Évalué à 1.

    Mais une table de partition dos est différente d’une gpt non ? Clonezilla ne supporte visiblement pas les partitions dos, je ne peux donc pas utiliser cette solution … Il y a moyen de transformer cette table dos en gpt ou … ?

    Euh … Clonezilla est né avant l'apparition/généralisation des partitions GPT … Du coup ça me surprend qu'il ne supporte pas le partitionnement DOS.

    Un peu plus de logs et de messages pourraient nous permettre de t'aider … Celà dit, je pense que pour être efficace, il faudrait que tu refasses lepartitionnement de ta VM "à la main" et que tu fasses une archive/restore de tes partitions. Je n'ai plus utilisé Clonezilla depuis longtemps, mais il me semble qu'en mode avancé tu peux refaire les partitions (mais je me trompe peut-être).

    • [^] # Re: Un peu plus d'infos ?

      Posté par  . Évalué à 1. Dernière modification le 27 juin 2021 à 14:07.

      Si ça peut aider …

      https://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.doc

      https://clonezilla.org/clonezilla-live-doc.php

      Petite question : c'est lors de la génération d'images que CloneZilla t'envoie le message ?

      • [^] # Re: Un peu plus d'infos ?

        Posté par  . Évalué à 1.

        Oui, c'est pille au commencement de la génération d'image, lorsque tu as répondu à toutes les questions.

        • [^] # Re: Un peu plus d'infos ?

          Posté par  . Évalué à 1.

          Tu peux nous faire un fdisk -l de ton disque ?

          • [^] # Re: Un peu plus d'infos ?

            Posté par  . Évalué à 1.

            Voir au dessus, ma réponse à eingrossfilou (dd quoi qu'il arrive) :)

            • [^] # Re: Un peu plus d'infos ?

              Posté par  . Évalué à 1. Dernière modification le 27 juin 2021 à 21:57.

              Ok je vois … Et la FSTAB ? (et un retour de la commande mount qui indique les volumes montés).

              J'ai l'impression que ton système est installé via LVM (sur /dev/sda5).

              Que disent les commande lvm vgs et lvm lvs ?

              Une fois que tu as fait un retour sur les partitions montées au démarrage , essaie de monter les devices qui n'apparaissent pas à la main (/dev/sda1 et /dev/sda2).

              Si c'est bien ce que je pense ça va être "relativement" facile de recréer les devices de façon propre …

              Ah puis important … Sauvegarde tes données sur un disque externe !!!

              Note que personnellement à ta place je réinstallerais tout from scratch …

              • [^] # Re: Un peu plus d'infos ?

                Posté par  . Évalué à 1. Dernière modification le 27 juin 2021 à 22:02.

                J'ai peur que sda1 corrsponde à ta partition /boot (ça y ressemble en tout cas). Y aurait-il un autrte système (avec /boot sur sda1 et / sur sda2) qui se cacherait sur ta machine ? Tu ne vois pas une proposition alternative de démarrage via grub ?

              • [^] # Re: Un peu plus d'infos ?

                Posté par  . Évalué à 1.

                Concernant l'installation exacte du système.
                L'historique est le suivant (je viens de me souvenir de la dernière partie): dualboot windows/Linux -> suppression du windows -> test de creation d'une archlinux sur l'ancienne partition windows (sda 1 et 2)

                Donc pour résume le bordel que j'ai surce PC; j'ai effectivement 5 partitions plus du lvm.

                $ lsblk # dont j’ai modifié l’affichage                                                                                                                                                                                                                                    
                NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
                sda                   8:0    0 238,5G  0 disk 
                ├─sda1                8:1    0   512M  0 part #fat32 (boot UEFI qui va avec sda2)
                ├─sda2                8:2    0    35G  0 part #btrfs (installation ratée d’une archlinux en double boot avec celle actuelle)
                ├─sda3                8:3    0     1K  0 part #partition étendue
                  └─sda5                8:5    0    53G  0 part # partition lvm
                    ├─linux-00        254:0    0     5G  0 lvm  [SWAP]
                    └─linux-archlinux 254:1    0    48G  0 lvm  /
                └─sda4                8:4    0   150G  0 part /run/media/moi/donnee # ntfs (partition données anciennement partagée avec Windows)
                

                Note que personnellement à ta place je réinstallerais tout from scratch …

                C’est exactement ce que je veux faire, après avoir sauvegardé le système que j'utilise actuellement sur ce PC.

                Ah puis important … Sauvegarde tes données sur un disque externe !!!

                Oui :)
                les « données » (ou documents ; la partition sda4) c’est fait.
                Mais j’aimerais aussi sauvegarder la partition système > Note que personnellement à ta place je réinstallerais tout from scratch …

                C’est exactement ce que je veux faire, après avoir sauvegardé le système que j'utilise actuellement sur ce PC.

                Ah puis important … Sauvegarde tes données sur un disque externe !!!

                Oui :)
                les « données » (ou documents ; la partition sda4) c’est fait.
                Mais j’aimerais aussi sauvegarder la partition système pour conserver toute l’historique et toutes les modifications / configurations que j’ai pu faire au cours de temps. Et mon idée était de faire un clone de mon système sous forme de VM.

                Après en écrivant cela je me rend compte que je pourrais faire une « bête » copie de linux-root. Je l’aurais pas sous forme de VM,mais j’aurais les fichiers.

  • # La résolution du problème

    Posté par  . Évalué à 1.

    Comme je le mentionnais plus haut, j'ai réussis à cloner mon PC portable linux dans une VM proxmox (qemu). Voici comment j'ai fait

    Sur le PC

    1. booter sur un live CD linux (n'importe quelle distribution).
    2. Si comme moi, votre système d'exploitation n'utilise pas le disque entier : reperer les partition que utilise le système d'exploitation (ne pas oublier /home !).
      • le moyen le plus sure que j'ai trouvé, un petit tour dans /etc/fstab et blkid pour vérifier la correspondances entre les UUID.
      • sinon on peu aussi le faire avec un fdisk -l mais attention à prendre les bonnes partitions
      • Exécuter "fdisk -l" et repérer le type de table de partition à la ligne "Type d'étiquette de disque"
    3. Copier le disque / les partitions dans une disque externe avec dd. (ici avec la partition sda1)
    dd if=/dev/sda1 of=/mnt/disqueexterne/imagesda1 conv=noerror,sync bs=1M status=progress
    

    Sur l'hyperviseur / la VM

    1. Créer une VM avec une taille de disque un peu supérieur à celle de votre disque physique ou de l'ensemble de vos partitions.

    2. attacher le disque dure externe à votre VM

    3. Booter sur un live cd … archlinux (1) -> première commande à faire:
      loadkeys fr #soit en querty loqdkeys fr

    4. Créer une table de partitions sur le disque de la VM . Les partitions devront être un peu plus grande que les partitions sur le disque physique

    5. Monter le disque externe (on concidère ici que c'est le sdb)

    mkdir /mnt/ddexterne && mount /dev/sdb1 /mnt/ddexterne
    ```6. Copier les images de votre disque / vos partitions
    
    

    dd if=/mnt/ddexterne/imagesda1 of=/dev/sda1 conv=noerror,sync bs=1M status=progress
    ```
    7. Monter le disque / les partitions que l'on vient de créer

    mkdir /mnt/se && mount /dev/sda1 /mnt/se
    
    1. Utiliser la commande suivante pour passer dans votre système d'exploitation virtualisé
    arch-chroot /mnt/se
    
    1. Réinstaller Grub

    grub-install /dev/sda #dans le cas de partition DOS /GPT

    • [^] # Re: La résolution du problème

      Posté par  . Évalué à 1.

      oups petit pb avec la mise en page…
      7) Monter le disque / les partitions que l'on vient de créer

      mkdir /mnt/se && mount /dev/sda1 /mnt/se
      

      8) Utiliser la commande suivante pour passer dans votre système d'exploitation virtualisé

      arch-chroot /mnt/se
      

      9) Réinstaller Grub

      • Dans le cas d'une partition DOS / GPT

      grub-install /dev/sda

      • Dans le cas d'une partition EUFI, je vous laisse regarder ce lien ou le liens de la documentation de votre distribution. Mais grosso merdo, la commande suivante devrait fonctionner

        mount -t efivarfs efivarfs /sys/firmware/efi/efivarfs
        grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub
        --recheck

      10) Reconfigurer Grub
      grub-mkconfig -o /boot/grub/grub.cfg
      11) Regénérer l'image initramfs
      mkinitcpio -p linux
      12) quitter le chroot, démonter tout et arrêter tout

      exit
      umount -R /mnt
      poweroff

      (1) Je ne sais pas si dans les autres distributions, un chroot seul fonctionnerait

      • [^] # Re: La résolution du problème

        Posté par  . Évalué à 1. Dernière modification le 04 juillet 2021 à 23:35.

        (2) Si problème lorsque l'on veut monter des partitions lvm:

        lvmdiskscan
        lvscan
        vgchange -ay
        lvscan
        mount /dev/VolGroup00/LogVol00 /mnt/se
        

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.