57 votes

Comment puis-je passer d'une installation 32 bits à une installation 64 bits ?

J'ai une installation Ubuntu 32 bits fonctionnant sur un matériel 64 bits. Maintenant que le multi-arch a été mis en œuvre Je voudrais passer en 64 bits sans avoir à réinstaller le système d'exploitation.

C'est l'un des les témoignages d'utilisateurs traités par la spécification :

Shawn a installé son système en utilisant la version 32 bits d'Ubuntu, mais son matériel est 64 bits et il veut passer à la version 64 bits. Il installe manuellement les versions amd64 de dpkg et apt, remplaçant les versions i386 et changeant l'architecture utilisée par défaut ; puis il installe le paquet amd64 ubuntu-minimal ; puis il installe le paquet amd64 ubuntu-desktop. Au fil du temps, les paquets i386 restants sont remplacés automatiquement lors de la mise à niveau.

Cependant, en essayant de suivre les instructions qui y figurent, je ne trouve aucune version 64 bits de dpkg ou d'apt.

Cette histoire d'utilisateur a été implémentée d'une manière différente dans la spécification finale, ou dois-je faire quelque chose de différent ?

En bref, comment puis-je faire passer mon installation 32 bits à 64 bits ?

40voto

Eliah Kagan Points 111731

Une telle approche est très compliquée et il est peu probable que tous vos paquets soient les mêmes. amd64 au lieu de la version i386 version. Seuls les paquets qui reçoivent effectivement des mises à niveau seront probablement modifiés dans leur architecture, et probablement seulement si aucun autre paquet qui n'est pas mis à niveau ne dépend du fait qu'il soit de la version i386 l'architecture. Puisque certains paquets ne recevront pas tout tout au long du cycle de support de votre version d'Ubuntu, vous n'aurez probablement jamais une version complète d'Ubuntu. amd64 en utilisant une telle technique. En outre, il n'existe certainement pas de soutien officiel pour une telle approche.

Vous seriez bien avisé de remplacer votre système Ubuntu existant par une nouvelle installation 64 bits.

Cependant, si vous souhaitez essayer cette technique, vous devrez manuellement télécharger le .deb des fichiers pour dpkg y apt . Vous pouvez les trouver à l'adresse suivante dpkg dans Ubuntu y apt dans Ubuntu sur Launchpad--exploitez la dernière version sous "The Oneiric Ocelot" qui est marquée comme release, security, et/ou updates (mais vous ne voulez probablement pas une version marquée seulement proposed et/ou backports, si jamais il y en a une). Ensuite, téléchargez le .deb fichiers marqués amd64 . Plus précisément, les fichiers dont vous aurez besoin sont : celui-ci pour dpkg (et les autres énumérés, aussi, si vous avez ces paquets installés) et este y este y este y este y este para apt .

Avant de faire quoi que ce soit avec ces fichiers, vous devez vous assurer de sauvegarder tous les documents importants de votre système Ubuntu installé et tous les autres fichiers importants (par exemple, musique, livres électroniques, vidéos), car il est fort probable que cette technique se retourne contre vous et rende votre système Ubuntu complètement inutilisable.

Vous pouvez installer tous ces paquets en les plaçant dans un dossier qui ne contient rien d'autre (supposons que le dossier s'appelle debs et se trouve à l'intérieur de votre Downloads ), et ensuite exécuter cette commande :

sudo dpkg -Ri ~/Downloads/debs

Bien sûr, une fois que vous les aurez installés, ils ne pourront pas s'exécuter, car leurs exécutables sont 64 bits et votre système Ubuntu 32 bits utilise un noyau 32 bits (qui n'exécute que des exécutables 32 bits). En fait, ils pourraient même ne pas finir de s'installer, car ils pourraient avoir des scripts post-installation qui invoquent leurs exécutables 64 bits non exécutables.

Il existe plusieurs façons de tenter d'installer un noyau 64 bits sur un système 32 bits, mais elles sont toutes extrêmement compliquées. Je vous recommande donc de démarrer à partir d'un live CD Oneiric 64 bits (qui utilise lui-même un noyau 64 bits), chroot dans le système Ubuntu installé, et utiliser le système 64 bits récemment installé. apt y dpkg pour installer un noyau 64 bits.

Voici des instructions spécifiques pour le faire... mais ne croyez pas que je vous dise que cela va marcher. Je n'ai pas tenté de le faire. (J'ai chrooté dans des systèmes Ubuntu installés à partir de CD live et effectué la gestion des paquets et d'autres opérations, mais je n'ai pas tenté les opérations inter-architectures suggérées ici).

  1. Dans votre système Ubuntu installé, ouvrez une fenêtre Terminal ( Ctrl + Alt + T ) et exécutez mount | grep ' on / ' (en le collant dans le Terminal et en appuyant sur Entrée). Vous devriez voir quelque chose comme /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0) . La partie qui vous intéresse est le nom du dispositif avant on (dans cet exemple, c'est /dev/sda2 ). Souvenez-vous-en, ou écrivez-le.

  2. L'étape 1 vous a donné le nom du périphérique de l / partition. Si vous avez une /boot vous aurez besoin de connaître le nom du périphérique pour cette partition. Donc dans ce cas, exécutez mount | grep ' on /boot ' . Vous verrez quelque chose comme /dev/sda1 on /boot type ext2 (rw) . Souvenez-vous-en ou notez-le également.

  3. Démarrez à partir d'un live CD Oneiric amd64 (c'est-à-dire 64 bits) et sélectionnez "Try Ubuntu" plutôt que "Install Ubuntu".

  4. Ouvrez un navigateur Web et assurez-vous que la connectivité Internet est pleinement fonctionnelle. Si ce n'est pas le cas, installez-la.

  5. Ouvrez une fenêtre Terminal et exécutez sudo mount /dev/sda2 /mnt (remplacer /dev/sda2 avec le nom du périphérique que vous avez obtenu à l'étape 1, s'il est différent).

  6. Si votre système installé dispose d'un /boot partition, exécutez sudo mount /dev/sda1 /mnt/boot (remplacer /dev/sda1 avec le nom du périphérique que vous avez obtenu à l'étape 2, s'il est différent).

  7. Maintenant, exécutez ces commandes pour chrooter dans votre système installé :

    sudo mount --bind /dev /mnt/dev  
    sudo chroot /mnt  
    mount -t proc none /proc  
    mount -t sysfs none /sys  
    mount -t devpts none /dev/pts  
  8. Exécuter ping -c 4 launchpad.net pour voir si la connectivité Internet fonctionne parfaitement depuis le chroot. Vous espérez quelque chose comme ceci :

    PING launchpad.net (91.189.89.223) 56(84) bytes of data.
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=1 ttl=41 time=141 ms
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=2 ttl=41 time=143 ms
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=3 ttl=41 time=142 ms
    64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=4 ttl=41 time=140 ms
    
    --- launchpad.net ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3003ms
  9. Si, au contraire, vous n'avez pas pu transmettre ou recevoir de paquets, vous devrez configurer la connectivité Internet dans le chroot. Pour ce faire, exécutez ces commandes (pour quitter le chroot, copiez les fichiers de configuration pertinents du système de CD live dans le chroot, puis entrez à nouveau dans le chroot) :

    sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old  
    sudo cp /mnt/etc/hosts /mnt/etc/hosts.old  
    sudo cp /etc/resolv.conf /mnt/etc/resolv.conf  
    sudo cp /etc/hosts /mnt/etc/hosts

    Bien que vous deviez généralement arrêter ce processus en cas d'erreur, ne vous inquiétez pas si la première et/ou la deuxième de ces quatre commandes échouent, à condition que la manière spécifique dont elle échoue soit de vous dire que /mnt/etc/resolv.conf (o /mnt/etc/hosts ) n'existe pas.

    Le chroot de retour dans et essayer à nouveau :

    sudo chroot /mnt  
    ping -c 4 launchpad.net  
  10. Exécutez ces commandes pour rendre votre environnement chrooté entièrement prêt à être utilisé :

    export HOME=/root  
    export LC_ALL=C  
  11. Si vous n'avez pas installé le .deb pour les versions 64 bits de dpkg y apt alors faites-le maintenant. Si vous les avez installés mais qu'il y a eu des erreurs de configuration, exécutez dpkg --configure -a pour les réparer. (J'espère que cela fonctionnera... il est peut-être préférable d'attendre d'être dans l'environnement live CD avant d'essayer de les installer, au cas où l'installation de la version 64 bits de l'outil de gestion de l'image serait impossible. dpkg alors que le système installé laisse dpkg dans un état inutilisable).

  12. Avec les versions 64 bits de dpkg y apt installés, en supposant qu'ils installeront automatiquement les paquets 64 bits, vous pouvez maintenant supprimer tous vos noyaux 32 bits et installer un noyau 64 bits. Pour supprimer vos noyaux 32 bits, exécutez dpkg -l | grep linux- . Ceci liste les paquets installés qui commencent par linux- . Vous êtes plus particulièrement intéressé par les paquets qui commencent comme suit linux-generic , linux-image , linux-server et/ou linux-headers . Supprimez ces fichiers avec apt-get purge ... donde ... est remplacé par une liste, séparée par des espaces, des paquets que vous supprimez.

  13. Maintenant, réinstallez les paquets que vous avez supprimés. (En fait, pour les paquets qui contiennent des numéros de version dans le nom du paquet, comme par exemple linux-image-3.0.0-13-generic vous n'avez besoin d'installer que les derniers noms de paquets versionnés). Pour ce faire, exécutez apt-get install ... donde ... est remplacé par une liste de paquets, séparés par des espaces, que vous installez.

  14. Mettre à jour la configuration du boot loader, démonter certains périphériques, et quitter le chroot :

    update-grub  
    umount /proc || umount -lf /proc  
    umount /sys  
    umount /dev/pts  
    exit  
    sudo umount mnt/dev  
  15. Si tu as couru sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old et il n'a pas échoué, alors maintenant exécutez sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf .

  16. Si tu as couru sudo cp /mnt/etc/hosts /mnt/etc/hosts.old et il n'a pas échoué, alors maintenant exécutez sudo cp /mnt/etc/hosts.old /mnt/etc/hosts .

  17. Si votre système installé dispose d'un /boot Démontez cette partition : sudo umount /mnt/boot

  18. Démontez le disque dur de votre système installé / partition : sudo umount /mnt

  19. Quittez la fenêtre du Terminal (exécutez exit ), puis redémarrez (ou arrêtez) le système de CD live et démarrez dans le système installé.

  20. Vérifiez si le système est utilisable et s'il exécute un noyau 64 bits ( uname -m devrait dire que l'architecture est x86_64 ).

Il se peut que vous deviez installer des paquets supplémentaires, tels que ia32_libs et/ou la version 64 bits de libc6 pour que cela fonctionne. Pour certains d'entre eux, vous pourriez être informé que vous en avez besoin lorsque vous essayez d'installer la version 64 bits de dpkg et/ou apt . Pour d'autres, il se peut que vous ne soyez pas informé.

(Les instructions ci-dessus pour le chrootage et l'exploitation dans l'environnement chrooté sont basées en grande partie sur les éléments suivants cette procédure connexe mais différente et aussi sur certains Réponses de Launchpad de mes messages, en particulier le n°6 aquí et #6 aquí . Et des remerciements particuliers à Césium pour avoir signalé que la version 64-bit dpkg y apt ne fonctionneront pas sur un système utilisant un noyau 32 bits).

26voto

VJ- Points 361

Comme indiqué ci-dessus, je l'ai fait :

echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
sudo apt-get update
sudo apt-get install linux-image:amd64
sudo apt-get install gcc-multilib
sudo update-grub

Ça a marché. Je suis en mesure d'exécuter mon userland 32 bits avec un noyau 64 bits, dans Ubuntu 12.04.

6voto

Bob Points 940

Bien que la question soit similaire à Est-il possible d'effectuer une "mise à niveau" d'une installation 32 bits vers une installation 64 bits ? (Si vous ne l'avez pas encore lu, je vous encourage à l'essayer. La réponse qui y est fournie est bonne). Je vous recommande également de lire les liens suivants :

Pour obtenir de meilleures performances, dois-je installer un système 32 bits ou 64 bits ?

Comment puis-je passer d'une installation 32 bits à une installation 64 bits ?

Quelles sont les différences entre 32 et 64 bits, et lequel dois-je choisir ?

C'est possible : Oui

C'est facile : NON !

Si votre problème concerne la mémoire, sachez qu'Ubuntu 32 Bit peut lire plus de 4 Go de RAM (jusqu'à 64 Go). Ainsi, l'utilisation de la dernière version d'Ubuntu 32 Bit avec un ordinateur doté d'une architecture 32 ou 64 bits et l'ajout de RAM ne posera aucun problème. Le système lira simplement la RAM supplémentaire et fonctionnera.

5voto

Daniel K. Points 366

Ces instructions permettent à votre système de démarrer avec un noyau 64 bits, mais ne modifient pas la plupart des programmes de l'utilisateur.

Après avoir mis à niveau mon système avec un processeur 64 bits, je voulais également installer un noyau 64 bits sur mon Ubuntu 32 bits 14.04.2 (nom de code : Trusty). Pour ce faire, j'ai entré les commandes suivantes en tant que utilisateur root :

dpkg --add-architecture amd64   
apt-get update
apt-get install linux-generic-lts-utopic:amd64

Notes :

  1. Cela pourrait supprimer votre noyau 32 bits car trusty - par défaut - est livré avec un noyau mis à jour (le noyau de utopic), voir Notes de version 14.04 . Dans ce cas, votre noyau actuel entre en conflit avec le noyau 64 bits à installer et est donc supprimé. Si vous n'aimez pas cette idée, vous pouvez essayer l'ancien paquetage du noyau 64 bits "linux-generic-lts-trusty:amd64" à la place.

  2. La commande "--add-architecure" est essentielle. Sans elle, le système de paquets ne prend pas en charge les paquets provenant d'architectures différentes, cf. Multiarch-HowTo

  3. Pour voir ce que apt-get sur votre système, exécutez-le avec les options suivantes -Vs qui active le "mode de simulation verbeux". Cela imprimera tous les paquets à installer et à supprimer.

  4. Le fait que votre système démarre en utilisant le nouveau noyau dépend de l'option grub configuration. Comme utilisateur root , courir update-grub pour que Grub mette à jour et imprime la configuration de démarrage actuelle. La première image de la liste sera démarrée par défaut.

  5. Pour sélectionner une image de noyau différente, j'ai supprimé la ligne GRUB_HIDDEN_TIMEOUT=0 de /etc/default/grub et a couru comme utilisateur root update-grub . Au moment du démarrage, vous pouvez maintenant sélectionner un noyau différent (vous avez 10 secondes pour appuyer sur une touche, sinon Grub continuera avec le noyau par défaut).

  6. La réponse qui a recueilli le plus de votes date de 2011 et est, à mon avis, désespérément dépassée. Multiarch vous permet d'installer des paquets de bibliothèques provenant de plusieurs architectures sur la même machine sans trop de cérémonie.

5voto

Cedric Knight Points 151

Ces réponses sont quelque peu dépassées. Le cross-grading est maintenant documenté pour Debian sur le wiki Debian mais ce n'est toujours pas recommandé.

L'installation d'un noyau à partir d'une architecture différente est maintenant aussi facile que celle décrite ici, mais le nouveau 'apt' ne reconnaîtra pas les paquets d'une architecture précédente, et donc tous ses front-ends peuvent rapporter beaucoup de paquets cassés. Cela nécessite soit de changer toutes les dépendances vers l'autre architecture, soit de rétablir apt et dpkg en 32 bits.

La meilleure approche est donc de sauvegarder d'abord les résultats de dpkg --get-selections enlevez :i386 de cette liste, et téléchargez un paquet amd64 pour chacune des dépendances du cache :

apt-get --download-only install perl:amd64 python3:amd64 python3-gi:amd64 xorg:amd64...

Au mieux, la résolution des dépendances risque d'être lente et fastidieuse.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X