Well Nvidia wont work no matter what you do, because
the most important features for your hardware are disabled
in linux, while being enabled in windows.
But aside from that! You are using Ubuntu or a gnome desktop
environment which default to using wayland as the display server
instead of the far more reliable and performant x11 display server,
and wayland is broken in a variety of ways, most notably with nvidia which
somewhere around 50% more or less of users all are using if they are using
an enhanced graphics card whatsoever.
To get past the boot-up process in this scenario that is essentially broken
now on a ton of different distro’s thanks to wayland integration being rushed, you have to type in nomodeset on the kernel command line from the grub boot menu. you do that by pressing e at the grub menu and adding in the command nomodeset after the line where it says vmlinuz…ro… and then press f10 to boot and you can finally get right into these types of linux operating systems.
After that point you need to install an nvidia driver typically in order to make your computer work at all. But sometimes that is not enough, and you have to make sure to log out of the desktop so you can select to use x11 from the login screens settings instead of wayland.
Then everything should work normally. Basically you want to use x11 instead of wayland anyways, but you can also use the command nvidia-drm.modeset=1 on the kernel command line to get it working with wayland too. But if you want a stable desktop environment and high performance from your graphics card you still need to use x11 anyways.
That is how you fix the problem, unless your driver isn’t installing properly which typically happens because distributions drivers are made to be built against a specific kernel version/s. You can work around that problem by also using the installer from nvidia’s website which is able to build against any version I believe without issues.
But! In order to do that you have to run the nvidia.run file from your desktop wait till it completes, and when it does you have to manually update your initramfs at the end, which fails at the end of the install like this…
sudo update-initramfs -u
You can do that, or distributions do include their own meta packages that install nvidia for you, and should work easily, if you’re using x11 as the default display server, which you set by getting to the log-in screen where you can select to use it.
I’m pretty sure no one is testing these things at all…
If you can’t get to the grub menu at bootup, then you’re in the biggest kind of trouble, and you have to i think hold shift or shift+c to open up the grub menu if your boot-up is configured to skip past it like on ubuntu.