Atualize o Ubuntu da edição de 32 para 64 bits

14

Existe uma maneira de atualizar minha versão de 32 bits do Ubuntu para a versão de 64 bits? Eu uso o Ubuntu 9.10.

Se não houver uma maneira simples, e se eu simplesmente copiar minha casa e /etcdiretórios para uma nova instalação, isso funcionará?

Kirill V. Lyadvinsky
fonte
2
Dica: use etckeeperno sistema antigo e no novo sistema e depois de instalar todos os pacotes extras ( dselecte dpkg -l) instalados no sistema antigo, mescle suas alterações em comparação com os arquivos de configuração dist no novo sistema;) ...
0xC0000022L

Respostas:

4

Infelizmente, como outros sistemas operacionais, não há um 'caminho de atualização' para fazer isso. Você quase certamente precisará fazer uma reinstalação.

Quanto à preservação dos dados, fazer backup do diretório inicial seria uma boa ideia, juntamente com outros dados, e deve ser facilmente importado para a nova instalação.

Sempre faça backup de seus dados antes de tentar qualquer coisa!

th3dude
fonte
6

Eu não copiava apenas /etcno caso de pequenas diferenças entre os requisitos de configuração para compilações de pacotes de 64 bits, mas fazer uma cópia e depois diffcopiar a cópia no sistema de 64 bits recém-instalado funcionaria. As chances são de que o número de alterações não seja massivo, portanto, fazer isso manualmente e as alterações necessárias provavelmente não serão grandes dificuldades.

Copiar /etccomo você sugere deve funcionar bem - eu faria isso da maneira mais longa possível, por uma questão de paranóia. A cópia /home, a principal área de preocupação ao migrar de uma instalação para outra, é mais provável que seja completamente segura.

Se você deseja mudar para 64 bits para usar mais RAM, em vez de precisar especificamente usar aplicativos de 64 bits, basta usar um kernel de 64 bits com um espaço de usuário de 32 bits. O Debian realmente fornece pacotes de kernel a64 em seus repositórios i386, então isso pode ser feito da maneira mais simples possível aptitude install linux-image-2.6-amd64, mas o Ubuntu infelizmente não o faz, então você terá que compilar seu próprio kernel, que pode não valer o tempo + aborrecimentos, se você não tecnicamente experiente (isto é , simples, mas apenasse você compilou seu próprio kernel antes, sinta-se à vontade com o processo). Se você executar um kernel de 64 bits com uma área de usuário de 32 bits, um aplicativo individual ainda poderá acessar apenas ~ 3Gb no máximo (em alguns casos, apenas ~ 2Gb), mas o sistema como um todo (todos os processos juntos, além dos itens do kernel, como Cache de IO e buffers) podem usar o quanto você tiver. Cada VM do VMWare conta como um aplicativo único para esses fins - eu executo um dos meus hosts de VM mais antigos dessa maneira (as VMs usam ~ 7Gb no total com kernel de 64 bits, terra de usuário de 32 bits e VMWare de 32 bits), pois foi mais rápido do que uma atualização completa do sistema operacional do host de 64 bits quando atualizei a CPU da máquina para uma com capacidade de 64 bits e adicionei RAM extra - eu acho que soluções de VM semelhantes também agiriam da mesma maneira.

David Spillett
fonte
Não é o mesmo que usar o kernel 'linux-image-server' com o PAE ativado?
Kirill V. Lyadvinsky
Entendo que os processadores baseados em AMD64 / compatíveis não precisam alternar entre os modos para executar o código de 32 bits e de 64 bits juntos, para que não haja ineficiência extra e que não exista o jiggery-pokery de mapeamento de memória usado pelo PAE (aplicativos de 32 bits apenas parecem usar o 4Gb mais baixo ou menos do seu espaço de endereço virtual). Eu posso estar errado, mas acredito que misturar código de 32 e 64 bits dessa maneira para obter a RAM endereçável extra é menos ineficiente que o PAE.
precisa saber é o seguinte
6

Reinstalei minha máquina de 32bit 10.10 a 64bit 10.10 no mês passado, sem perder nenhum dado. O único truque é escolher as ferramentas de redimensionamento de disco, e não formatar o disco inteiro, quando você reinstalar o ubuntu 10.10 de 64 bits.

swcai
fonte
+1. Na verdade, eu já vi isso também (Debian e Ubuntu) e parecia funcionar perfeitamente.
0xC0000022L
0

A execução de uma área de usuário de 32 bits em um kernel de 64 bits provavelmente causará problemas assim que as instalações do sistema forem envolvidas. Por exemplo, o uso da libalsa de 32 bits em um kernel de 64 bits quase funcionará, mas será pouco confiável e instável, porque as estruturas de dados ioctl definidas em asound.h têm tamanhos e arranjos diferentes quando compilados com arquiteturas de 64 bits e 32 bits.

Portanto, o uso do jackd -d alsa -X alsaraw (ou seu equivalente no jackd2) será cancelado com uma declaração falhada ao chamar um utilitário de 32 bits em um kernel de 64 bits. A operação de áudio padrão será muito menos confiável, pois as contagens de buffer são interpretadas incorretamente.

Em geral, todas as estruturas de dados do kernel precisam ser declaradas de maneira que seus tamanhos não diferam entre os kernels de 32 e 64 bits, ou o código de 32 bits deve ser inteligente ao usar definições de estrutura diferentes em correspondência com a arquitetura do kernel.

Portanto, é melhor você reinstalar do zero e transferir a partição / diretório inicial.

user754914
fonte
Isso foi solicitado (e respondido) há mais de 7 anos. Você pode ser um pouco mais claro sobre as novas informações que está trazendo? Por favor, veja Como responder e faça nosso tour .
Burgi