将Ubuntu从32位版本升级到64位版本


14

有没有办法将我的32位版本的Ubuntu升级到64位版本?我使用Ubuntu 9.10。

如果没有简单的方法,如果我仅将主/etc目录和目录复制到新的安装中,该怎么办?


2
提示:etckeeper在旧系统和新系统上使用,并在旧系统上安装了所有其他软件包(dselectdpkg -l)之后,将与dist config文件相比的更改合并到新系统中;)...
0xC0000022L

Answers:


4

不幸的是,像其他操作系统一样,没有“升级路径”可以做到这一点。您几乎肯定会需要重新安装。

至于保存数据,备份主目录以及其他任何数据都是一个好主意,并且应该轻松导入到新安装中。

尝试任何操作之前,请务必备份您的数据!


6

/etc在64位软件包编译的配置要求之间存在细微差别的情况下,我不只是复制,还可以进行复制,然后diff将复制的副本与新安装的64位系统配合使用,但是系统可以使用。更改的数量可能并不大,因此手动执行所需的更改并不会造成很大的困难。

但是/etc,按照您的建议进行复制应该可以正常工作-为了避免出现偏执,我只会做更长的时间。/home从一个安装迁移到另一个安装时,主要要关注的复制领域是完全安全。

如果您只是想转移到64位以使用更多的RAM,而不是因为您特别需要使用64位应用程序,则可以只使用具有32位用户空间的64位内核。Debian实际上在其i386存储库中提供了a64内核软件包,因此可以像一样简单地完成操作aptitude install linux-image-2.6-amd64,但是不幸的是Ubuntu不能这样做,因此您必须编译自己的内核,如果您不这样做,可能不值得花时间+麻烦。具有技术经验(即,这简单,但(如果您之前已经编译了自己的内核,那么请熟悉该过程)。如果您确实使用32位用户域运行64位内核,那么单个应用最多仍只能访问〜3Gb(在某些情况下仅为〜2Gb),但整个系统(所有进程加在一起,再加上内核的东西,例如IO缓存和缓冲区)可以使用尽可能多的内容。为此,每个VMWare VM都算作一个应用程序-我以这种方式运行一台较旧的VM主机(这些VM总共使用约7Gb的内存以及64位内核,32位用户域和32位VMWare)。我将机器的CPU升级到具有64位功能的CPU并添加了额外的RAM,而不是完整的64位主机OS升级-我想类似的VM解决方案也将以相同的方式工作。


使用启用了PAE的'linux-image-server'内核是否一样?
Kirill V. Lyadvinsky 2010年

据我了解,基于AMD64 /兼容处理器不需要在模式之间进行切换即可一起运行32位和64位代码,因此不会造成额外的效率低下,并且PAE不会使用内存映射工具。要么(32位应用程序似乎只使用了较低的4Gb或更少的虚拟地址空间)。我可能是错的,但我相信以这种方式混合使用32位和64位代码以获得额外的可寻址RAM不会比PAE效率低。
David Spillett

6

我上个月将计算机从32bit 10.10重新安装到64bit 10.10,而没有丢失任何数据。唯一的技巧是在重新安装64位ubuntu 10.10时选择磁盘大小调整工具,而不是格式化整个磁盘。


+1。实际上,我也已经做到了这一点(Debian和Ubuntu),它似乎可以完美地工作。
0xC0000022L

0

一旦涉及系统设施,在64位内核上运行32位用户区可能会引起问题。例如,在64位内核上使用32位libalsa几乎可以工作,但是非常不可靠且不稳定,因为用64位和32位体系结构编译时,在asound.h中定义的ioctl数据结构具有不同的大小和排列。

因此,在64位内核上调用32位实用程序时,使用jackd -d alsa -X alsaraw(或其等效的jackd2)将因失败的断言而中止。由于缓冲区计数被错误地解释,因此标准音频操作的可靠性将大大降低。

通常,任何内核数据结构都必须以在32位和64位内核之间大小不变的方式声明,或者32位代码必须聪明地使用与内核体系结构相对应的不同结构定义。

因此,总的来说,您最好从头开始重新安装并转移主分区/目录。


这个问题是在7年前提出的。您能否更清楚地了解正在带来的新信息?请参阅“ 如何回答”并开始我们的游览
Burgi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.