Solution 1:

gparted

Make sure that you have a good backup of your important Ubuntu files, as this procedure can corrupt or lose data.

Keep these things in mind:

  • always start the entire procedure with issuing a swapoff on any mounted swap partitions, and end the entire procedure with issuing a swapon on that same swap partition

  • a move is done by pointing the mouse pointer at the center of a partition and dragging it left/right with the hand cursor

  • a resize is done by dragging the left/right side of a partition to the left/right with the directional arrow cursor

  • if any partition can't be moved/resized graphically, you may have to manually enter the specific required numeric data (don't do this unless I instruct you to)

  • you begin any move/resize by right-clicking on the partition in the lower pane of the main window, and selecting the desired action from the popup menu, then finishing that action in the new move/resize window

Do the following...

Note: if the procedure doesn't work exactly as I outline, STOP immediately and DO NOT continue.

  • boot to a Ubuntu Live DVD/USB, in “Try Ubuntu” mode
  • start gparted
  • resize the left side of /dev/nvme0n1p6 to the right by approximately 70G
  • resize the right side of /dev/nvme0n1p5 all the way to the right
  • click the Apply icon

When done, quit gparted and reboot.

Update #1:

GRUB

Edit /etc/default/grub and edit these two lines at the top of the file...

GRUB_DEFAULT=saved    # edit this line
GRUB_SAVEDEFAULT=true # add this line

sudo update-grub # write the changes to disk

reboot # verify results

At the GRUB menu, manually select Ubuntu to boot. It will remember this selection until you manually change it to something else.

Update #2:

Windows

Source: How do I install Ubuntu alongside a pre-installed Windows with UEFI?

Another issue that could make the system boot directly to Windows (without even showing the GRUB menu) is if either Windows took hold of the boot manager or after installing Ubuntu, the EFI partition was not properly configured for Windows. To solve this, simply go to Windows and open a terminal, then type the following (Need Administrative Privileges):

bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi

This will configure the Windows Boot Manager to take into consideration the GRUB Boot Manager. This could still happen even after running the Boot Repair from within Ubuntu. So making sure that Windows reads the Ubuntu EFI partition, in case you are using an EFI boot system instead of the old BIOS will solve it. In the above command line, the difference between shimx64.efi and grubx64.efi is that shimx64 is the actual Microsoft signed binary that works with Secure Boot enabled while grubx64 is the normal grub binary (Not signed).