从网络启动的 Linux 映像安装操作系统

从网络启动的 Linux 映像安装操作系统

假设您正在一台具有以下限制的陌生机器上工作:

  • 你根本没有物理访问权限。你得到的是一个串行控制台和一个网络。
  • 你可以获得六种 Linux 安装之一,并且
  • 通过网络启动的 Debian 安装根本不接触硬盘。

假设您想在机器上安装一个新的 unixy 操作系统。Linux、BSD、Solaris 等等。该怎么做?在 gentoo 中,您只需:

  1. 从恢复映像启动,
  2. 根据需要对硬盘进行分区和格式化,
  3. 将驱动器挂载在 /mnt/new (/mnt/new/boot, .../home 等)
  4. 将 gentoo stage-3 解压到 /mnt/new 中,
  5. chroot /mnt/new

此时,您所处的环境与从 Gentoo CD 启动并按照安装说明所获得的环境基本相同。

据我回忆,Arch Linux 可以做类似的游戏,尽管它对此并不那么高兴。

那么,你选择的操作系统是怎样的呢?我对 NetBSD 或 OpenBSD 并不感兴趣,但如果他们愿意这样做的话,我很乐意听听。

如果你能想出一种方法来在这里安装 Windows,那么你就是一个变态,但我会给你点赞。

调频(W)S

(这是经常提出的(错误)建议)

“通过网络启动安装程序”
这样做是可行的,但是我们已经通过网络启动了恢复磁盘。我无法控制执行该操作的服务器,而且我没有任何可以赢得 BOOTP 竞赛的东西。
“告诉托管公司放入您选择的 CD”
那当然很好,但他们的定价模式基于我称之为“我们不接触您的硬件”的原则。此外,他们并不喜欢我这样做,他们宁愿我运行他们为我安装后门的操作系统。

编辑:我意识到这确实应该是一个社区维基,因为没有“正确”的答案。我给每个给我答案的人点赞,谢谢!

答案1

我支持在基于 Debian 的系统中使用 debootstrap。我以前使用过类似的工具 rpmstrap,正如您所期望的,它与基于 RPM 的发行版的概念相同。

但是我在 Ubuntu 中找不到它,并且它没有在 debian 稳定仓库中列出 - 仅限 oldstable/etch:http://packages.debian.org/search?keywords=rpmstrap

另外,还有许多预构建的 VM 或 UML 映像存储库,例如stacklet.com。如果小心一点,你可以将其中一个 dd 或 untar 到分区中。解压后,你可以 chroot 进入并使用发行版的包管理工具来完成它。

答案2

我昨晚用 OpenBSD 做了类似的事情(如果我们考虑某个法国托管公司的话,可能是同一件事),使用。您可以从救援模式将其 dd 到硬盘,然后它会通过 ssh 访问启动安装程序。尽管它确实需要其他地方的 OpenBSD 机器进行编译,如果我们谈论的是同一家公司,除非您的 / 特别小(我的是 500MB。我知道 5GB 及以上不行),否则安装将无法启动。

答案3

Debian(可能还有 Ubuntu)有一个名为“debootstrap”的系统,它可以为这些系统做你想做的事情。有一个很好的基本文章在上面。

答案4

Linux 从头开始。这是整个系统的理念——你自己下载并安装 Linux 软件包,无需任何外部安装程序,只需要现有环境和网络连接。

我找不到这方面的文档,但出于某种原因,我认为Slackware也能做这样的事。

最坏的情况是什么?找到并安装一些虚拟机管理器的软件包到您的网络启动的 Debian 安装中,创建一个新的 VM,将安装程序磁盘的 ISO 作为您的 CD-ROM 驱动器,将实际目标安装磁盘作为您的 VM 的磁盘。执行安装,确保在内核/任何其他需要的地方支持 VM 硬件和实际硬件。现在只需在 VM 之外根据需要配置您选择的引导程序并重新启动。瞧。(这可能如果您将其安装为通用 PC,而不是允许它执行特定于硬件的操作,它也可以与 Windows 一起使用。YMMV。)

相关内容