If you select
Advanced options for Debian GNU/Linux you should get another menu. There should be two options for each Linux kernel version you have installed: normally you have the latest kernel and up to two previous ones for backup. For each kernel version, there is an option for normal boot and another with
(recovery mode) boot will skip the boot splash and tell the kernel to display all the kernel boot messages on screen. That is normally quite a lot of text, most of which is normally just information on things that have been successfully detected or configured; but if there is a problem, the last screenful or so might contain an error message with more clues of what is going wrong. You might be able to scroll the output using Shift + PgUp/PgDn keys.
First, try a
(recovery mode) boot with the latest kernel version you have: if it hangs with an error message, that might give a clue of what is failing. Alternatively, try one of the older kernels (in either normal and recovery mode) if you have them: if the installation of the latest kernel security patch has failed (e.g. because there was not enough disk space to create an
initramfs file for it), the older kernels might still boot normally.
(recovery mode) boot is successful, it might prompt for a root password in text mode, in gray text on black background. Once you enter the root password, you will be in the modern equivalent of "single-user mode" with full root access on the command line. From there, you can continue to normal mode with the command
systemctl default. You can also use commands like
journalctl -xb to view a more detailed log of all boot events.
If you find that the previous kernel version works even in normal mode, but the newest kernel version fails, a common reason for failure is running out of disk space when creating the initramfs file for it. This happens automatically every time an updated kernel package is installed, but you can manually re-try the initramfs creation for the newest kernel by running the
update-initramfs -u command as root. If that command produces any error messages, correct the problem and try again.