如何在没有屏幕和键盘的设备上安装Ubuntu?

这有点棘手。我想在一台打算作为服务器工作的机器上安装Ubuntu,但由于某种原因,我无法连接屏幕。
我猜这可能类似于远程安装。然而,该机器上目前没有操作系统,所以我必须从头开始设置一切。
另一方面,我确实可以物理访问该机器。因此,我可以让它从CD/USB启动。但这还不够。
有办法远程进行这样的安装吗?有没有预先安装了SSH服务器并在启动后启动的Ubuntu镜像版本,以便我可以使用这样的镜像引导机器,通过SSH连接到它,并从另一台计算机上进行安装?
如果没有,我还有其他选择吗?

8你可以拔出硬盘,用另一台机器安装和配置所有你喜欢的东西,然后再把硬盘放回去。这并不是太高科技,但足够简单。 - mikewhatever
4@mikewhatever 这是一个有用的技巧,但这种方法给我造成了许多配置问题。Ubuntu在安装过程中会学习硬件信息,当它被移动到另一台机器时,即使是找到网络设备也会遇到严重的问题,这使得我无法远程访问它。 - Rafał Cieślak
如果您可以使其在不使用显示器的情况下启动到USB驱动器或网络,那么您可以尝试这样做:http://askubuntu.com/a/260469/158442。请注意,使用预置参数,您还可以指定一个SSH密钥,然后通过SSH完成安装的其余部分。 - muru
3它有串口吗?对于旧电脑和无头主机,我们只需通过控制台进行操作。不过,我不能百分之百确定这仍然是一个选项。 - meccooll
我的笔记本电脑的显示屏坏了,但我设法通过 Windows XP 机器上的 localhost 连接它,尽管我安装了 Ubuntu。http://askubuntu.com/questions/377445/how-can-i-connect-ubuntu-through-windows-via-localhost - kenn
5个回答

在上面的评论中提到的方法,即在另一台计算机上安装Ubuntu,然后将硬盘移动到无头机器上,确实是一种优雅且可能是最快的安装Ubuntu的方法。在大多数情况下,硬件将被识别并在启动时提供驱动程序(而不是在安装时)。这使得安装驱动程序变得不必要,除非我们确实需要专有驱动程序(例如某些特殊的网络卡)。

但是,我们还可以通过创建自定义CD-ROM、USB或使用网络解决方案(Preseed)来无人值守地安装Ubuntu。请参阅这个相当完整的指南,了解所涉及的步骤和调整过程:

您还可以找到以下相关问题有帮助:


1Ubuntu文档的Preseed页面已经404了,有人可以确认一下这个链接是否仍然准确吗?https://help.ubuntu.com/community/Cobbler/Preseed - eri0o

另一个选项是使用串行控制台:

  1. 在CD的isolinux.cfg或USB的syslinx.cfg中添加serial 0 9600 0×003
  2. 在包含菜单的text.cfg中的内核附加参数中添加console=ttyS0,9600n8
  3. 将其连接到另一台带有串行端口(或带有USB/串行适配器)的计算机上,使用相同设置9600n8的Putty或Minicom,然后启动
  4. 通过串行控制台进行安装
  5. 如果想要永久性地引导到串行控制台,请按照此处的说明操作:

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

参考资料:Ubuntu Server 10.10通过串行控制台进行无头安装


你可以使用一个无需提问的预装debian-installer,它只安装基本服务器和ssh软件包。重新启动后,您将能够通过ssh登录到运行中的系统,并进一步安装和配置。

这里有一个预装文件的示例:https://help.ubuntu.com/community/Cobbler/Preseed

您可以按照正常的iso到usb的说明https://help.ubuntu.com/community/Installation/FromUSBStick进行操作,然后编辑usb启动盘上的syslinux/txt.cfg文件,将其指向您的预装文件,并将预装文件复制到usb启动盘上的预装目录中:

label custom
  menu label ^Install Custom Ubuntu Server
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/isolinux/ks-custom.cfg --

请注意preseed文件中倒数第二行安装了openssh服务器软件包。
d-i     pkgsel/include string byobu vim openssh-server

检查DHCP服务器日志以获取新启动系统的IP地址,并使用ubuntu用户通过ssh连接到它。示例preseed文件中的密码也是“ubuntu”(不带引号)。


1谢谢您的时间,喜欢自制解决方案,有时候,代码比解释更直观。 - Louis Loudog Trottier

只是为了更新一下,Ubuntu支持自动安装(自20.04版本开始)。他们有一个快速入门指南,让您轻松愉快。基本上,您在制作USB时提供所需的所有信息,然后将其插入并启动(非常简化了)