> For the complete documentation index, see [llms.txt](https://doc.engenius.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.engenius.ai/server-os-deployment-guide/os-installation/installing-ubuntu-server.md).

# Installing Ubuntu Server

This chapter provides a complete walkthrough for installing Ubuntu Server. Unlike Windows Server, the Ubuntu Server installer uses a text-based interface. You will use your keyboard's arrow keys, the **Tab** key, and **Enter** to navigate and make selections.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfOLriIrJ-ca_Ffvz9jwwWY8xIbuM29Lx2mkjZ13aEqbQv7ZIDfEuxlkhiwjpM3So5XL7NWVg2L03lobJ44lVcu4FsfEseIH40Vr68w0MXZlLvz6aXu201sACXc6LYeMrTBNNNtIYdJsKXAoYgkEw?key=uwFYMbYh65GcoFV-1h4GjA" alt=""><figcaption></figcaption></figure>

## **Installation requirements**

Before you start, please ensure you have the following:

* **Ubuntu Server ISO**: Download the latest Long-Term Support (LTS) version from the official [Ubuntu Server download page](https://ubuntu.com/download/server).
* **Virtual Media Mounted**: You must have the Ubuntu Server ISO file mounted using the **Virtual Media** feature in the BMC, as detailed in [Initial Firmware Configuration.](/server-os-deployment-guide/initial-server-setup/initial-firmware-configuration.md)

## **Step-by-step installation guide**

From the KVM console, you will see the server boot from the mounted ISO file.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe4x0T4BQXJtowWugbc0NcTP6B4uHtxihvPwqMUMHh07rtyDWMwO9PC3RyfwZGrhzcuedS0rUTF_WeqfSqzkTm-thCugD9w0gbnTgI2Q_zSSAsYfBXHOKVhFNonN9q4alLFYRhay5dUF4cAHk4Q04E?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

1. After a few moments, the GNU GRUB boot menu will appear. With **Try or Install Ubuntu Server** highlighted, press **Enter**.

   <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXebVOsJ9WqHh2v9V6X6-aX4RjkstvBHVjyppZydbTNZBUlCcBBEU84S2zTJXCHHtLplpVR0Ab-nRnrJG49ZMUAM7bq0CIOUQVzOMTm1EI1ZgtoftFYmTUy2golkyINI0EMr4A0zIfmEE8F2v4u3WxQ?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

### **Proceed through the installation wizard**

The text-based installer will now load. Use the arrow keys to move and **Enter** to confirm your selections.

{% stepper %}
{% step %}
**Select Language**

Choose your **preferred language** on the installer welcome screen and press **Enter**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdn3pjZLj1I4eM1XUSpMgJZQbvNr4Kp3U63WbVpkbVhqw8ta_0j5RyJRJIPMg0DhUlMR0EC8jZR9Mc-pGSgReeGekkKhcitoMfT_8lbmKmUcRkys5ux0VyIxvXDz1TU4NjrL08L085UnS40iPr2fmU?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Configure Keyboard Layout**

Select your **keyboard layout** or use the **"Identify keyboard"** option to detect it automatically.\
When done, navigate to **Done** and press **Enter**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeSz4ovuIrQLLae4x6IfEQmC1SPhROQIOR-Yx7NuXyUfZ2OY8fKOEYJAJL4rwO0a91M97QiAEuXHOdrj7TaFWmIdAzwjVeycTUr8CjYA2JYZP86FhC2upvdB7agYT5fK7U9dTh3DhhU1oCn0x3xmmQ?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Choose Type of Installation**

Select the desired **installation type**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQv62uNvMtGN4PlBlF3DGC66nHOkGykaGQfsXAgf4WFD2OIcZh_9KrhLNpD6q4yNdfKlceWcxGpwFdYJ76Rv4bvRSEpopZaUW9cy3UQM3d6q9SQZGr2NOn-zjEDQMBxF7zC1Ek1BYhkVFUxOgBqyc?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
**Best Practice:**\
For most users, select the **standard Ubuntu Server** install.\
Avoid the minimized version unless you're deploying to a high-density, resource-constrained environment—it omits many common tools.
{% endhint %}
{% endstep %}

{% step %}
**Verify Network Configuration**

The installer will auto-configure networking via **DHCP**.\
Check that the network interface (e.g., `enp0s3`) has received an IP address.\
Navigate to **Done** and press **Enter**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdsoSQSGY7gGWAq0WZQURtBHVidwYFDLgY5sYNLtO0j3zTF6n5lbiUVwZE4RAnw6_mTEA50bU5_Hx3z5tHTiPZdp6k-2k1hjFCoTONGiGl4lWcT5z_4VkJbHkzK9iiOnkClgPHKyRgjU81SFa4DflE?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Configure Proxy (Optional)**

If your environment requires a **proxy** to access the internet, enter it here.\
Otherwise, leave it blank and select **Done**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf8XYWvM9Gfj0bn4gxpS6vEeIxAk_N5-K2XI5hC4GmJrL63ZlNGL1KzRkq1tJ8vHWvk5oU554g8ysKd0MPHE_ctB0T4vPefNLs9x59QSIsKmixe50BGkNw8RrcSAMJzrcWgK1GONMC-JiCXxPhJmiQ?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Confirm Ubuntu Archive Mirror**

The installer will suggest a default **package mirror**.\
You can typically accept the default. Select **Done**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXftnQDGCZq8twkNTuPH9UCgu5khg53KphS9K99wJBJ3S1seIC6JHukqffreezaeh6ZdxqwmXuDgG4zz3kasp_Lw_S9tVBQMoezCUb_JsaaYayIsxz23poLfnVJ7Ud4Fxk0dPXdpKGrhLJdk_G_VqJo?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Guided Storage Configuration**

Choose how to partition your disk.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf-TV1vIKh_OxOwEyfzR_fwrBAPxJTOrdH6w1uGWbfaW-TCg2kjADBxtu8jnHs6nn-2bzouTwxB_jGvJmP5-gkn75VhN9O4BSeyoGN0uxoobw8Orvwx0GvvDTSFwuyKGuMG1viye6XrTzvPlgBZBg?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe9FcS3YyX8bSU9Ck69CFT5ADvqMFC2GaGEw3MqntXaazSTp76CnVeyz8bOSeb2DI-yXBKCG0o0smu2P-LYfw_DUWWDeWzWszAp5yVc2eF14TJThobOL3rmBqTiWGP3Eq0jPbx9lCyuqQFMmSJoVw?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
**Pro Tip: Use the entire disk with LVM.**&#x20;

For simplicity and flexibility, select **Use an entire disk**and check the box for **Set up this disk as an LVM group**. LVM (Logical Volume Management) makes it much easier to resize partitions in the future if your needs change.
{% endhint %}
{% endstep %}

{% step %}
**Review Storage Configuration Summary**

Carefully review the partition layout.\
Make sure the correct **target disk** is selected.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdfSPl8KluLzPpmTVyhAYFPmQS2rDqnwHQUgpgb2qDNkhCOMVf4tK7S4BDXFvcI2v2w24ObUW5sumnRm_GWSmC89VzJpX7CM6rmZQsZ1JUZxzaHQ-tH-EgzJJnZnAaLPmwd2TcqH4NMhCB3rdOwb00?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Confirm Destructive Action**

This is the final warning before erasing the selected disk.\
Navigate to **Continue** and press **Enter**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdYF4vuRoG4FL9Q_BjHKwKHDxnGwl7zo5-NWe-mpzzkW5TJQ2FntsafjsgUDUUfsd8fxez1s3KiRjWg8jOX38J4vuqyMf9m7zwmP-DQSGnAscv4SYpiirVSjdOT8i5YE9itWwUpqaJdIYwkXNZVH50?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

⚠️ **Warning:** This step is **irreversible**. All existing data on the disk will be permanently deleted.
{% endstep %}

{% step %}
**Create Administrator Profile**

Enter the following information:

* Your **name**
* The server’s **hostname**
* A **username**
* A strong **password**

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYeliaSQ3IbiwVQ-adVGFATJOzRJgle7LuHMh80jkHZ-ohAP78C6KGKZPjMGm79zjjJf1EQZEnKajuQdc79XDTEMEKEW_znKXw6E2nZxOHggGHh2xVgXTFpB-dGjz1Lvo60_bWeaYUX4OUbu4BoA?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Wait for System Installation**

The installer will now **copy files** and install the operating system.\
This process will take several minutes.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeFqmI5RET3U6BcayEISOOqSZ1DgD7h_O6VedwjxlqBlRThcNRPu8U7e5O6EK6PTjyU-H20snjdjGQJr3VBZAp3IgC5yMurdK7I06Byq8JW-xwtow39LL4AgVm7j3n28Z2P4GH53f5blr2VdQd4r-4?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% endstep %}

{% step %}
**Complete Installation and Reboot**

Once the installation completes, you'll see an **"Installation complete!"** message.\
Navigate to **Reboot Now** and press **Enter**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd5Fg846AcE2gzKcqI1-l2_Ene2NhfQOZYXHdKUUut1Hr6OAuv-szbNAnH84TAImumxNAgRem-6hkzTxi8hXXUn3Hiq1kZIAK094t-j4ejO12QrIJxsmQO7mXAsRHBO93LpR9lsCgBjTZS1grszXXM?key=uwFYMbYh65GcoFV-1h4GjA" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Important:** Remember to unmount the ISO file from the **Virtual media** page in the BMC interface before rebooting. If you don't, the server may boot back into the installer.
{% endhint %}
{% endstep %}
{% endstepper %}

### **Post-installation checks**

After the server reboots and you log in with the user account you created:

* **Check for Updates:** Run `sudo apt update` followed by `sudo apt upgrade` to install the latest security patches and software updates.
* **Verify Network Services:** Ensure critical services like SSH are running by checking `sudo systemctl status ssh`.
* **Review System Logs:** Use the `journalctl -f` command to check for any errors that may have occurred during the first boot.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.engenius.ai/server-os-deployment-guide/os-installation/installing-ubuntu-server.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
