Why is my /etc/fstab file unconfigured?

Solution 1:

As for the first question, why /etc/fstab is not configured, I'm citing this ubuntuforums-thread:

/lib/init/fstab contains the filesystems that are always mounted on boot, like root / and the virtual filesystems. But you can still use /etc/fstab to override the entries from /lib/init/fstab or add your own ones.

So you can find the things that are mounted on boot in /lib/init/fstab and can override them in /etc/fstab. As Ubuntu now uses systemd, I'm wondering why it is still called /lib/init/fstab. (Searching for files called fstab, I have only the /etc/fstab and the /lib/init/fstab on my system that uses systemd)

Solution 2:

# UNCONFIGURED FSTAB FOR BASE SYSTEM is the fstab that debootstrap generates.

This then gets reused in a variety of images, including the Ubuntu Base image: http://cdimage.ubuntu.com/ubuntu-base/releases/18.04/release/

debootstrap uses that fstab because it tries to cover a wide variety of use cases. In container use case for example, fstab is not needed, because we use the host's configured disk devices.

The same goes for other init configuration files, notably networking.

Here I describe a detailed working debootstrap setup atht might inspire you on how to configure your fstab for emulation: https://unix.stackexchange.com/questions/275429/creating-bootable-debian-image-with-debootstrap/473256#473256