我可以在Linux内核以外的其他版本上运行Ubuntu吗?


15

我想删除我的Linux内核,但仍想使用GNU实用程序运行Ubuntu。我不喜欢Linux。我只想要GNU。那么我可以在Linux内核以外的其他版本上运行Ubuntu和GNU吗?


2
每个操作系统都有一个内核,这是操作系统与硬件交互的方式。 en.wikipedia.org/wiki/Kernel_(operating_system) 甚至GNU也有内核en.wikipedia.org/wiki/GNU_Hurd
Terrance

计算机用户几乎不与任何内核交互,大多数交互是通过GNU以及您所使用的discro进行的。也许您会更喜欢其他台式机或Linux类型。内核基本上只允许硬件与您使用的所有漂亮东西一起工作。
crip659

7
@Terrance GNU是软件的集合,但缺少内核。Hurd是由GNU员工开发的内核,但是GNU本身没有内核。@ themeguy,删除内核是没有意义的。没有内核,机器就没用了。现在,如果您想将GNU工具集与非Linux内核一起使用,那是完全可能的,但是您将需要用另一个Linux内核来代替。但是,这实质上意味着构建自己的操作系统,因此不在此处讨论。
terdon

@terdon我知道GNU本身没有内核,因为它是一个集合。我的观点是,即使是GNU OS也确实具有内核。 gnu.org
Terrance

1
在这件事上,我将提出两分钱:毕竟,这个问题与Ubuntu OS有关,而且是话题。我们接受各种与修改基本操作系统有关的问题,从脚本编写到基于Ubuntu的发行版,从安装其他台式机到第三方应用程序。因此,有关在内核级别修改OS的问题绝不应该成为话题。至于是否可以在非Linux内核上运行Ubuntu,这是可能的,并且这些项目已经存在,如我的回答所述。
Sergiy Kolodyazhnyy

Answers:


26

TL; DR

您不能从Ubuntu中删除 Linux内核,而不会导致整个系统崩溃,但是将来您可以替换它

长答案:

这是由于GNU / Linux的历史:

曾几何时,有个叫RMS的家伙想让软件保持免费¹。他最终发布了软件的源代码(今天称为“开放源代码”),并在其他人的帮助下最终成为了GNU Core Utilities

但是,这些实用程序错过了100%免费的一件小事,这是一个可以运行的内核,因为GNU实用程序在UNIX System V及其克隆上运行,这就是我们将Linus Torvalds引入的地方:他开发了Monolithic Kernel ²并以二十世纪的轻描淡写发表了他的出处:

我正在为386(486)AT克隆做一个(免费)操作系统(只是一个业余爱好,不会像gnu这样大而专业)。³

内核是与硬件对话的软件,因此可以管理内存,磁盘,键盘,鼠标,屏幕,显示适配器,扬声器,网络摄像头等,因此,如果没有某种内核,您将无法运行任何操作系统。

快进25年了,GNU实用程序仍在同一内核上运行(同时名为“ Linux”)

Ubuntu = Linux Kernel + GNU Core Utilities + a ton of other software.⁴

因此:不,今天您不能删除内核,但是几年后,自由软件基金会(Free Software Foundation)的“ 多服务器微内核”中GNU HURD即将问世时,您将能够用Hurd取代Linux Kernel,但永远无法在没有某种内核的情况下运行任何OS

或者,

您可以完全在另一个OS上运行GNU Core Utilities:

  • BSD或其变体之一:MacOS
  • Windows(仅32位)

但是这些也有内核,尽管以上都不使用Linux内核。

注1: “自由”为自由,而不是免费的啤酒 ;-)
注2: GNU Hurd决定选择多服务器微内核,因为他们当时希望将内核分布在多台计算机之间,因为当时RAM太昂贵了。
注3:好的,也许是休斯顿,我们有一个问题是世纪以来最大的轻描淡写...
注4: IE您自己安装的所有软件。 :-)
注5:FSF是GNU核心工具的著作权人。
注6:GNU Hurd多服务器微内核已经开发了20多年,因此不要在接下来的几年(也许是几十年)内期待任何事情。
注7:请注意,更改Ubuntu的Linux内核会使您刚刚创建的混合功能变得不那么重要。这个网站上的主题!(因为它将不再是Ubuntu)


1
@Melebius不幸的是,[那已经死了
Fabby 19'7

2
当产品已经开发了29年而没有最终发布时,最好在“几年后”声明“退出开发”时要谨慎。没有强有力的证据表明会发生这种情况。并且还有今天可以使用并工作的替代方法(Linux和* BSD)
thomasrutter

1
我不确定是否将其作为编辑是一个好主意,但这似乎是最简单的。顺便说一句,还有一个带有占位符文本的脚注。
TRiG

2
“您不能从Ubuntu上删除Linux内核,而不会导致整个系统崩溃”sudo apt remove 'linux-image*'可以很容易地从中恢复(启动实时CD,安装系统分区,chroot并重新安装内核软件包)。
fkraiem

1
还有许多其他不准确之处。例如,您的注释4表示Ubuntu的默认安装(或其他一些未指定的发行版)仅包含Linux + GNU软件,而其他软件则必须“自行安装”。这是错误的;默认安装已经在内核旁边包含了很多非GNU软件。
fkraiem

11

您必须有一个操作系统。由于此站点名为Ask Ubuntu,因此您的问题必须重新解释以符合规则:

  • Ubuntu将在Linux内核以外的哪些操作系统(内核)上运行?

一个答案是打开WSL(Linux的Windows子系统)选项的Windows 10。您也可以在那里运行大多数(如果不是全部)GNU实用程序。尽管需要额外的步骤才能在Windows 10中运行Ubuntu GUI桌面:



3

TL; DR

从理论上讲,是的。实际上,这真的很难。

长版:

从理论上讲,您可以在非Linux内核上运行Ubuntu,但是由于并非所有内核都使用相同的可执行格式,因此您需要下载GB的源代码并编译其中的每一位,然后重新排列文件满足新内核。

否则,非二进制兼容的内核将尝试运行systemd / init并找到难以理解的字节序列,并因密码错误而崩溃:

cannot execute binary file: Exec format error

1
编辑和支持!;-)(因为它现在是一个很好的答案。) 0 :-)您能请我回顾一下我的编辑内容,同时也查看一下编辑帮助以提高将来答案的可读性... ;-)
Fabby

实际上,确实很难,但是已经有人简化了。看到我的答案
Sergiy Kolodyazhnyy
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.