I had the same behavior several times ago.
So I've just realized I found it could happened when file system /home is mounted from disk that label changed when another Windows partition was installed and renaming id's, I made chages in my Windows partitions just before this problem happened.
In my case sdb7 was changed to sdb8 then /home pointed to sdb7, I changed to sdb8 editing fstab, and reboot, then it worked fine and gdm started as usual.
Here is detailed steps.
gdm cannot start session, but Linux worked, so I can connect it via ssh.
root@asampau-System-Product-Name:~# /etc/init.d/gdm3 status
● gdm.service - GNOME Display Manager
Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled)
Active: active (running) since Thu 2022-02-10 08:56:11 -03; 9min ago
Process: 1208 ExecStartPre=/usr/share/gdm/generate-config (code=exited, status=0/SUCCESS)
Process: 1239 ExecStartPre=/usr/lib/gdm3/gdm-wait-for-drm (code=exited, status=0/SUCCESS)
Main PID: 1244 (gdm3)
Tasks: 3 (limit: 19034)
Memory: 37.6M
CGroup: /system.slice/gdm.service
└─1244 /usr/sbin/gdm3
feb 10 08:56:15 asampau-System-Product-Name /usr/lib/gdm3/gdm-x-session[1345]: (II) UnloadModule: "libinput"
I saw both filesystems / and /home were in sda5, but /home shoud be in a different disk.
root@asampau-System-Product-Name:~# df -h /
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/sda5 83G 21G 58G 26% /
I saw it was empty!
root@asampau-System-Product-Name:~# ls -l /home/asampau/
total 32
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Descargas
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Documentos
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Escritorio
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Imágenes
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Música
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Plantillas
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Público
drwxr-xr-x 2 asampau asampau 4096 may 28 2020 Vídeos
root@asampau-System-Product-Name:~# ls -l /home/asampau/Descargas/
total 0
root@asampau-System-Product-Name:~# ls -l /home/asampau/
.bash_history .config/ Escritorio/ Música/ Público/
.bash_logout .dbus/ .gnupg/ .nv/ .ssh/
.bashrc Descargas/ Imágenes/ Plantillas/ .sudo_as_admin_successful
.cache/ Documentos/ .local/ .profile Vídeos/
root@asampau-System-Product-Name:~# ls -l /home/asampau/Música/
total 0
Suspect /home was mounted at the same FS as / (see line /home at sdb7)
root@asampau-System-Product-Name:~# df -h /home
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/sda5 83G 21G 58G 26% /
root@asampau-System-Product-Name:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda5 during installation
UUID=66574cd6-b13c-479d-84c5-be77f40ac4da / ext4 errors=remount-ro 0 1
/dev/sdb7 /home/ ext4 errors=remount-ro 0 0
# /boot/efi was on /dev/sda2 during installation
UUID=5C52-E857 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/sdc6 none swap sw 0 0
/dev/sdc5 /mnt/sdc5 ext3 errors=remount-ro 0 0
/dev/sdc7 /mnt/sdc7 ext3 errors=remount-ro 0 0
/dev/sdc8 /mnt/sdc8 ext3 errors=remount-ro 0 0
/dev/sdc9 /mnt/sdc9 ext3 errors=remount-ro 0 0
/dev/sdc11 /mnt/sdc11 ext3 errors=remount-ro 0 0
Believe there was an error when my Linuz tried to mount /home at sdb7, I fixed fstab by changed sdb7 to sdb8 (see sfdisk sdb8 is the Linux Partition so sdb7 is EFI)
root@asampau-System-Product-Name:~# vi /etc/fstab
root@asampau-System-Product-Name:~# sfdisk -l /dev/sdb
Disco /dev/sdb: 1,84 TiB, 2000398934016 bytes, 3907029168 sectores
Disk model: WDC WD20PURZ-85G
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 4096 bytes
Tamaño de E/S (mínimo/óptimo): 4096 bytes / 4096 bytes
Tipo de etiqueta de disco: gpt
Identificador del disco: C90DD2B8-9E7B-4A97-9A4A-C104A45C0D01
Dispositivo Comienzo Final Sectores Tamaño Tipo
/dev/sdb1 34 32767 32734 16M Reservado para Microsoft
/dev/sdb2 32768 2048032767 2048000000 976,6G Datos básicos de Microsoft
/dev/sdb3 2048032768 2560032767 512000000 244,1G Datos básicos de Microsoft
/dev/sdb4 2560032768 2867232767 307200000 146,5G Datos básicos de Microsoft
/dev/sdb5 2867232768 3072030719 204797952 97,7G Datos básicos de Microsoft
/dev/sdb6 3072032768 3584030719 511997952 244,1G Datos básicos de Microsoft
/dev/sdb7 3584032768 3585083391 1050624 513M Sistema EFI
/dev/sdb8 3585083392 3907028991 321945600 153,5G Sistema de ficheros de Linux
root@asampau-System-Product-Name:~# cat /etc/fstab
/etc/fstab: static file system information.
Use 'blkid' to print the universally unique identifier for a
device; this may be used with UUID= as a more robust way to name devices
that works even if disks are added and removed. See fstab(5).
<file system> <mount point> <type> <options> <dump> <pass>
/ was on /dev/sda5 during installation
UUID=66574cd6-b13c-479d-84c5-be77f40ac4da / ext4 errors=remount-ro 0 1
/dev/sdb8 /home/ ext4 errors=remount-ro 0 0
/boot/efi was on /dev/sda2 during installation
UUID=5C52-E857 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/sdc6 none swap sw 0 0
/dev/sdc5 /mnt/sdc5 ext3 errors=remount-ro 0 0
/dev/sdc7 /mnt/sdc7 ext3 errors=remount-ro 0 0
/dev/sdc8 /mnt/sdc8 ext3 errors=remount-ro 0 0
/dev/sdc9 /mnt/sdc9 ext3 errors=remount-ro 0 0
/dev/sdc11 /mnt/sdc11 ext3 errors=remount-ro 0 0
root@asampau-System-Product-Name:~#
It's done.