是否可以从32位安装“升级”到64位安装?


105

按照标题,我想知道在成功的32位设置和随后的软件安装之后,是否可以更新到64位版本。

我知道如何分区(实际上是解决方案之一是设置//etc/home/var/www,并/opt作为单独的分区),我知道,一个干净的安装是远远超过一荤一好,但我想知道是否/如何是可能的去做。


2
这是相同的问题,但不应将其标记为重复项,因为这里也有其他答案:如何在不丢失设置的情况下从x86升级到x64?
rubo77

关于U&L的类似问题:unix.stackexchange.com/q/244980/52956
Wilf

Answers:


68

您会发现全新安装比任何其他不寻常,晦涩且不受支持的方法都少很多麻烦。

您建议对配置文件,主目录等进行分区可能是最好的主意,并且可以在全新安装中安装与其他安装相同的软件包

另一方面,您所要求的是可能的,针对基于Debian的系统有一些指南,但是请记住“这实际上是针对专业级sysadmins”和“从任何可能的角度来看,此过程都是一个坏主意。您的长子,请不要哭泣给我“”(好运)


3
+1给你。不适合胆小的人...我建议您备份所有您关心的配置和数据文件(甚至是apt日志),并在apt sources.list上进行查找和替换,以指向64位版本。然后,我阅读了所提到的教程,并很快被这个概念所
取代

2
如果我没有长子怎么办,这是否意味着该手术对我来说比其他人更安全?.....我小子,问题是:如果您只是32位工作正常,为什么您要经历地狱只是为了节省备份/恢复数据时间+重新安装时间,最后这种方法不是快点。更快=备份,重新安装。从长远来看,问题也更少。
Dmitriy Likhten

非常感谢:最终,我备份了所有数据,对磁盘进行了分区并重新安装。但是,现在需要一些麻烦来还原数据库,Web服务器和一些服务。
dag729

@ dag729:相信我,备份/还原很麻烦,但是比其他方法要麻烦一些。在严重的情况下,您只能执行32-> 64。即使在这里工作的系统管理员也不会这样做,他们备份,擦除,安装更加清洁/安全。
Dmitriy Likhten

我成功地使用了链接指南从32位到64位(在ubuntu 14.04上)进行交叉升级。我是具有20年Debian / Ubuntu经验的专业系统管理员。是的,这不是为了胆小的人。这花费了整整一天的时间,据我估计,这比我将工作站上已安装的所有配置,自定义项,数据库等放回原处所需的工作时间要少得多。我应该强调,这是我的开发工作站。我认为在生产服务器上尝试这种做法很鲁ck。
jdhildeb

14

我将抛出死刑,因为该线程是“将ubuntu升级到64位”的最佳结果之一,而公认的明智选择虽然不是明智的选择,但答案并不完整。

实际上,可以将Ubuntu从32位升级到64位。你可以做到这一点。

我刚刚完成了这样的升级。

就是说,“可以”和“应该”这两个字看起来完全不同,对于升级和全新安装也是如此。你能做到吗?是。你应该做吗?哎呀...

从32位升级到64位而又不会使我的系统爆炸,这使我花了一周的大部分时间。包括手动修复600多个损坏的软件包,因为自动解析器开始循环,这显然是由于PERL:i386(已安装的软件包需要)与PERL:amd64(您要安装的软件包需要)不兼容。

这是我手动安装了一堆软件包(包括正确版本的PERL)以修复适当的错误之后:您看到apt-get -f install(要获得运行正常的64位系统所必需),将卸载PERL32才能安装PERL64。 ...然后开始尝试重新安装PERL,然后尝试删除1234个其他软件包。毋庸置疑,当apt系统的相当一部分(实际上还有很多其他事情)依赖于有效的PERL时,这不是一个好主意。

重新安装完全是从控制台执行的(当然是atitude FTW),因为控制台几乎只需要有效的bash(需要适当的诅咒才能正常工作,但是如果您尝试这样做,则诅咒会很多,您可以赌上它) ),而X则需要...在您的系统上进行开放性心脏手术时,太多东西无法信任它才能继续工作。

综上所述,以下Debian文章介绍了如何对系统进行跨级分级:

https://wiki.debian.org/CrossGrading

这与最初接受的答案中描述的文章不同,因为与此同时,情况有所变化,主要是为了更好。

基础是:

 dpkg --add-architecture amd64

 apt-get update

 apt-get install linux-image-amd64:amd64

 reboot

 apt-get clean

 apt-get --download-only install dpkg:amd64 tar:amd64 apt:amd64

 dpkg --install /var/cache/apt/archives/*_amd64.deb

此时,您将可以执行以下操作:

dpkg --print-architecture 

产生以下行:

amd64

好极了。Ubuntu认为这是一个正确的64位系统。真可爱。您当然知道得更多。

现在您可以运行:

apt-get update

这将下载所有64位软件包的列表,您需要完成对系统的交叉升级。

在这一点上,您的系统非常像什么都没有发生,只是您安装任何东西的能力确实被破坏了。

您会看到,现在有多个没有实际等效的多体系结构的i386软件包,因此您将陷入各种技术上“不可用”的依赖关系。您已经安装了它们,因此您的系统可以运行,但是在此阶段...我不愿再相信它。

本文认识到需要修复,并建议您这样做:

 apt-get -f install

这将导致倾向于尝试修复刚刚造成的不道德的混乱。相信我,你只是一团糟。

此过程的一个小问题是,它将导致apt系统(和其他关键子系统)的部分在安装过程中被卸载,从而在其余过程中造成错误(您不说),并使您陷入困境。 。

幸运的是,并非没有桨。您可以通过以下方式安装缺少的软件包:

dpkg -i/var/cache/apt/archives/(package)*amd64.deb

请注意,至少对我而言,网络停止工作了……好,好几个……要点。这是由于易于删除许多保持网络正常运行所必需的软件包(例如dhcp客户端)。

然后,apt高兴地告诉我,它需要下载一些其他软件包。没有有效的网络。

如果这听起来像您已被正式裁掉……那么,那是因为您是。

除非您有有线网络(您的WiFi软件包已被卸载,并且WiFI仍然无法正常工作),否则请了解其配置信息,并能够使用ifconfig,路由等。

只要继续尝试,apt-get -f install直到没有其他错误为止。

apt对系统状态感到满意之后,您可以运行aptitude并手动修复将找到的600个损坏的软件包。显然aptaptitude对工作系统的外观有不同的想法。不要问我为什么。

另外,正如我提到的,aptitude如果您尝试让解析器自动执行其操作,则解析器将进入无限循环。不能怪它,实际上,它的设计目的是在工作系统上启动并帮助用户添加或删除某些程序包,而不是解决这种可恶的问题。

这是我花了几天时间来修复的部分,一次使用一点点时间,使用另一个系统偶尔上网,以确保我没有意外地重新格式化了家养狗。

如果这还没有阻止您,请注意,这是我第二次尝试进行实时升级。

第一个以结尾mkfs

提示,提示,大提示。或大mkfsing提示。

但是,它实际上最终还是有效的。

该系统正在运行,它主要使用64位软件包(最终会有一些例外需要我修复),并且可以运行需要64位安装的应用程序。

可能

如果这是您唯一的选择,则无论出于何种原因,都可以按照上述步骤进行操作-如果您具有所需的领域知识。

如果你不知道之间的区别syncrsync,如果你不舒服的insmod的,如果你不知道如何使用ifconfig,如果你不经常喜欢性向图形安装程序的名字我想不起来了的时刻。 ..只需备份数据并从头开始安装即可。

这样就不那么痛苦了,它将为您节省很多时间,并且可以为您提供全新的安装,而且从现在开始的11个月后,您都无需准备任何意外的剩菜就可以刺伤您。

如果您已经备份了您不想丢失的东西,并且别无选择-或者就像通过将头撞到东西(尤其是墙)上来学习...那么,您可以尝试。

它甚至可以工作。


我喜欢这个问题,大约7年后,它一直在变得越来越好。我发现自己现在已经进入2018年了,并且还希望将我的系统从32位转换为64位。Debian 在这里有一篇很棒的Wiki文章,基本上是有关在实时系统上转换架构的HOWTO。我遇到的一个问题是,尽管同时添加了两种架构并运行了apt-get更新,但是某些软件包却根本无法针对一种架构显示。
TGP1994 '18

13

一旦实现了多体系结构规范,这可能是一件更加合理的事情。 https://wiki.ubuntu.com/MultiarchSpec-当前已推迟到11.04,但是请记住,现在已经推迟了大约6个发行版。也就是说,实际的进度是在10.10中取得的,所以也许这次会发生。

在此之前,请不要打扰。备份数据,如果需要,请重新分区,然后重新安装。


1
等不及要实现MultiArch!
dag729

我相信11.10现在确实使用多体系结构。
Christopher Kyle Horton

假设我是一位旅行旅行者,距离您回答的时间大约是5年,现在是否“更合理”?还是仍然重新安装?
卡米洛·马丁

1
现在,至少可以以不破坏apt的方式强制从其他拱门手动安装软件包。但是,不,您应该重新安装。
Scott Ritchie

8

不,您不能从32位升级到64位。必须是全新安装

在确定系统支持64位操作系统之前,请检查Ubuntu 64的最低要求。可以在这里进行操作。

术语32位和64位是指计算机的CPU处理信息的方式。64位版本处理大量RAM的能力比32位系统好得多。如果您正在运行32位版本的Ubuntu,则只能执行升级到另一个32位版本的Ubuntu。同样,如果运行的是64位版本的Ubuntu,则只能执行升级到另一个64位版本的Ubuntu。

如果要从32位Ubuntu迁移到64位Ubuntu,则需要备份文件,全新安装64位Ubuntu。


7

现在,您可以使用最新的安装程序轻松完成此操作(至少使用我刚刚使用的13.10)。引导至64位映像DVD(或USB驱动器或其他驱动器),然后选择第一个选项重新安装,以保留您的个人文件。即使您没有单独的/home分区,此方法也有效。

这将重新安装包括应用程序在内的大多数系统,但是需要预先安装已安装软件包的列表才能从存储库中重新安装它们,因此,只要某个软件包当时具有64位版本可用,您就应该获得重新启动时,您的大多数应用程序都会运行。以我的经验,并没有安装一些工具-主要是通过第三方工具库(例如Google Chrome)安装的工具,但此后不久便无需手动安装。


您可以共享有关如何执行此操作的说明/警告的信息吗?
同构

我用14.04 LTS进行了检查,很遗憾,它不再能做。有关详细信息,请参见下面的答案。
filofel

2

可以将ubuntu 32位升级到64位,它将有很多不需要的文件,您必须手动清理它。真相是“ HEADACHE”

我永远不会/不推荐新的事物。

无论您做什么,都首先备份您的重要数据。然后去操作系统研究。

首先尝试64位live-cd。如果可行,建议重新安装。

也有一些软件,仍然是32位的。因此,要在64位操作系统上安装32位软件,我们需要进行一些后向处理。这也将是一件坏事。

考虑一段时间:您的要求是什么,您将要做什么,使用64位操作系统的下一个计划/工作。


1
您的意思是“要在64位操作系统上安装32位软件,我们需要进行一些向后处理”?x86_64应该像x86_32的超集,所以事情就可以了,不是吗?
卡米洛·马丁

1

从32位升级时,您的操作系统仍为32位-有关更多信息,请参见注释中的答案。

顺便说一下,是否有可能32位Win和64位Ubuntu共存?

绝对-这叫做Dualboot-您可以在登录时选择使用其中之一。

下载并刻录64位iso,然后使用它启动,它会提示您各种选项-您需要选择“安装旁边”选项。

https://help.ubuntu.com/community/GraphicalInstall


1

我刚刚尝试了尼克建议的解决方案(13年10月19日):使用Ubuntu 64位Live CD进行64位重新安装。
我使用了Ubuntu 14.04.4 Live CD。但是,如果第一个选项确实称为“重新安装”,则它更精确地显示为:

Erase Ubuntu 14.04.4 LTS and reinstall  
Warning: This will delete all your Ubuntu 14.04 programs, documents,
photos, music, and all other files.  

Live CD上的安装程序提供的其他两个选项是:

  • 同时安装(双启动选项)
  • 擦除磁盘并安装Ubuntu

可以肯定的是,我尝试了一张测试盘,实际上,“重新安装”选项所做的第一件事是重新格式化现有的ext4分区。没运气。
因此,恐怕尼克建议的“就地升级到64位”解决方案在14.04中不再存在。
顺便说一句,Canonical,我几乎看不到安装程序具有所谓的“重新安装”选项和“擦除并安装磁盘”的意义。两者似乎都在做同一件事。

太糟糕了,因为这样的就地升级到64位选项本来真的不错!


-1

您需要使用64位版本的Ubuntu进行全新安装。出于明显的原因,只要它们不共享相同的磁盘或分区,就可以使用32位Windows和64位Ubuntu。有关双重引导的方法,请参阅文档。

https://help.ubuntu.com/community/WindowsDualBoot

重要的是要安装的计算机上的CPU支持64位指令集(目前大多数现代CPU都应使用该指令集)


2
你甚至不愿意读这个问题吗?
dag729 2015年
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.