Use journalctl to figure out where 6.3.7 goes bad. Linux keeps detailed records, so you will see many lines of data. Keep note of the order in which you boot different kernels. What I do (nice to have a large display and run journalctl with different boots selected) is look for some “interesting” keywords in a boot that worked, then jump to the same line in the boot that failed until the failed boot doesn’t reach a line that worked. That gives you a range of lines to compare carefully. Usually you will see an obvious problem like missing firmware files (some vendors love to mess with the names and organization of firmware).
Thanks george. Can I run the journal command from booting into one of the working kernals. Or can a push the output to a file so I can examine it better with a nice editor
How to use journactl is a reasonable introduction. The -b option is used to specify which previous boot to display (the kernel version should be in the first line). Note that running sudo journalctl will include output you may not want just any “user” to see.
The lines in journalctl output can be very long, so an editor that wraps lines might be useful, and it is often useful to save selected lines (e.g., all line that contain wifi) to a file to include with your notes on the system configuration and issues.
I had that morning cloned a 2.5" SSD to a new NVME drive. I had forgotten to remove that drive, so basically the system was seeing both disks which has identical UUIDS DOH!