Aggiorna Ubuntu dalla versione 32 a 64 bit


14

C'è un modo per aggiornare la mia versione a 32 bit di Ubuntu alla versione a 64 bit? Uso Ubuntu 9.10.

Se non esiste un modo semplice, cosa succede se copio semplicemente la mia home e le /etcdirectory nella nuova installazione, funzionerà?


2
Suggerimento: utilizzare etckeepersul vecchio sistema e sul nuovo sistema e dopo aver installato tutti i pacchetti extra ( dselecte dpkg -l) installati sul vecchio sistema, unire le modifiche rispetto ai file di configurazione dist nel nuovo sistema;) ...
0xC0000022L

Risposte:


4

Sfortunatamente, come altri sistemi operativi, non esiste un "percorso di aggiornamento" per farlo. Quasi sicuramente dovrai fare una reinstallazione.

Per quanto riguarda la conservazione dei dati, il backup della home directory sarebbe una buona idea insieme a qualsiasi altro dato e dovrebbe essere facilmente importato nella nuova installazione.

Fai sempre il backup dei tuoi dati prima di tentare qualsiasi cosa!


6

Non mi limiterei a copiarlo /etcin caso di lievi differenze tra i requisiti di configurazione per le compilazioni di pacchetti a 64 bit, ma prendere una copia e quindi diffreimpostare la copia sul sistema a 64 ma appena installato funzionerebbe. È probabile che il numero di modifiche non sia enorme, quindi fare questo e apportare le modifiche richieste manualmente non sarà una grande difficoltà.

Copiare /etccome suggerisci dovrebbe funzionare bene però - lo farei solo nel modo più lungo per motivi di paranoia. La copia /home, la principale area di preoccupazione durante la migrazione da un'installazione all'altra, ha maggiori probabilità di essere completamente sicura.

Se stai solo cercando di passare a 64 bit per utilizzare più RAM piuttosto che perché devi specificamente utilizzare applicazioni a 64 bit, puoi semplicemente usare un kernel a 64 bit con uno spazio utente a 32 bit. Debian in realtà fornisce pacchetti kernel a64 nei loro repository i386, quindi può essere fatto semplicemente aptitude install linux-image-2.6-amd64, ma Ubuntu sfortunatamente no, quindi dovresti compilare il tuo kernel che potrebbe non valere il tempo + seccatura se non lo sei che tecnicamente sperimentato (cioè questo è semplice, ma solose hai già compilato il tuo kernel in precedenza, sii comodo con il processo). Se esegui un kernel a 64 bit con una userland a 32 bit, una singola app può comunque accedere a ~ 3Gb al massimo (in alcuni casi solo ~ 2Gb), ma il sistema nel suo insieme (tutti i processi insieme più le cose del kernel come IO cache e buffer) possono usare tutto quello che hai. Ogni VM VMWare conta come una singola app per questi scopi: eseguo uno dei miei host VM più vecchi in questo modo (le VM usano ~ 7Gb in totale con kernel a 64 bit, userland a 32 bit e VMWare a 32 bit) poiché era più veloce rispetto a un aggiornamento completo del sistema operativo host a 64 bit quando ho aggiornato la CPU della macchina a quella a 64 bit e ho aggiunto la RAM aggiuntiva - immagino che anche soluzioni VM simili funzionerebbero allo stesso modo.


Non è lo stesso che usare il kernel 'linux-image-server' con PAE abilitato?
Kirill V. Lyadvinsky,

Comprendo che i processori AMD64 / compatibili non devono passare da una modalità all'altra per eseguire codice a 32 bit e 64 bit insieme, quindi non c'è ulteriore inefficienza lì, e non c'è la mappatura della memoria jiggery-pokery che PAE usa entrambi (le app a 32 bit sembrano usare solo il 4 Gb inferiore o meno del loro spazio di indirizzi virtuale). Potrei sbagliarmi, ma credo che mescolare codice a 32 e 64 bit in questo modo per ottenere la RAM aggiuntiva indirizzabile sia meno inefficiente di PAE.
David Spillett,

6

Ho reinstallato la mia macchina da 32 bit 10.10 a 64 bit 10.10 il mese scorso, senza perdere alcun dato. L'unico trucco è scegliere gli strumenti di ridimensionamento del disco, non formattare l'intero disco, quando si reinstalla Ubuntu 10.10 a 64 bit.


+1. In realtà ho visto anche questo fatto (Debian e Ubuntu) e sembrava funzionare alla perfezione.
0xC0000022L

0

L'esecuzione di un'area utente a 32 bit su un kernel a 64 bit può causare problemi non appena vengono coinvolte le strutture di sistema. Ad esempio, l'uso della libalsa a 32 bit su un kernel a 64 bit funzionerà quasi ma sarà inaffidabile e instabile perché le strutture di dati ioctl definite in asound.h hanno dimensioni e disposizioni diverse quando compilate con architetture a 64 bit e 32 bit.

Quindi usando jackd -d alsa -X alsaraw (o il suo equivalente jackd2) si interromperà con un'asserzione fallita quando si chiama un'utilità a 32 bit su un kernel a 64 bit. Il funzionamento audio standard sarà molto meno affidabile poiché i conteggi del buffer vengono interpretati in modo errato.

In generale, qualsiasi struttura di dati del kernel deve essere dichiarata in un modo in cui le loro dimensioni non differiscono tra i kernel a 32 e 64 bit, oppure il codice a 32 bit deve essere intelligente sull'uso di definizioni di strutture diverse in corrispondenza dell'architettura del kernel.

Quindi, tutto sommato, probabilmente è meglio reinstallare da zero e trasferire la propria partizione / directory home.


Questo è stato chiesto (e risposto) oltre 7 anni fa. Puoi essere un po 'più chiaro su quali nuove informazioni stai portando? Consulta la sezione Come rispondere e partecipa al nostro tour .
Burgi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.