After upgrade to ubuntu 23.10 from 23.04: ALERT! UUID=xxxx does not exist. Dropping to a shell!

Once I upgraded from Ubuntu 23.04 to 23.10 and I Can’t boot to it anymore!

Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 does not exist. Dropping to a shell!

BusyBox v1.36.1 (Ubuntu 1:1.36.1-3ubuntu1) built-in shell (ash)
Enter 'help' for a lost of built-in commands.
(initramfs)

I maked sure that in the BIOS settings the Sata opration in the system configration is AHCI not RAID

I am currently running ubunut on live usb. I changed the UUID in the /etc/fstab file to ‘dev/sdb5’. and update-grub and reboot but nothing changed!

/etc/fstab:

GNU nano 7.2                       /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/sdb5 during curtin installation
# /dev/disk/by-uuid/c0fc479f-b1cc-4e85-962b-43a72eec9e91 / ext4 defaults 0 1
# /boot/efi was on /dev/sdb1 during curtin installation
#/ dev/disk/by-uuid/1292-A439 /boot/efi vfat defaults 0 1
# UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 / ext4 defaults 0 1

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sdb5       /               ext4    errors=remount-ro    0  1
/swapfile       swap            swap    defaults             0  0
/swap.img       none            swap    sw                   0  0
LABEL=Omar      /mnt/Omar       auto    nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/sdc4       /mnt/sdc4       auto    nosuid,nodev,nofail,x-gvfs-show 0 0

blkid

/dev/sdb5: UUID="c0fc479f-b1cc-4e85-962b-43a72eec9e91" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a2f6a2d2-f40f-cd41-b4a7-61b12759b403"
/dev/loop1: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sdd2: SEC_TYPE="msdos" LABEL_FATBOOT="ESP" LABEL="ESP" UUID="6F54-CACE" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="Appended2" PARTUUID="2a585014-a55f-4771-aef0-695c6f9e0059"
/dev/sdd1: BLOCK_SIZE="2048" UUID="2023-10-16-11-29-57-00" LABEL="Ubuntu 23.10.1 amd64" TYPE="iso9660" PARTLABEL="ISO9660" PARTUUID="2a585014-a55f-4771-aef3-695c6f9e0059"
/dev/sdd4: LABEL="writable" UUID="10e8c979-c7d9-4177-8fc4-d35e6e07519e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ab5ae46b-1d76-4bc4-89aa-bfdce9a78047"
/dev/loop8: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sdb4: BLOCK_SIZE="512" UUID="01D9D8E852906F70" TYPE="ntfs" PARTUUID="4be8ef1d-c5da-4121-b27e-7d2b3503538b"
/dev/sdb3: BLOCK_SIZE="512" UUID="01D9D8E850480610" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="64b110ca-af78-4621-80d3-4f19c7181db2"
/dev/sdb1: UUID="1292-A439" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="684257cf-73a2-482d-a9e1-11ce37103972"
/dev/loop6: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop4: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop11: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop2: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop0: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop9: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sdc1: BLOCK_SIZE="512" UUID="01D9E9BD38CA67E0" TYPE="ntfs" PARTUUID="209e706a-01"
/dev/loop7: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sda2: UUID="C5B4-CDD0" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="000fa007-bb10-5095-3efd-db2d0e401f00"
/dev/sda1: LABEL="Omar" BLOCK_SIZE="512" UUID="01DA00F083D02BE0" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="f64af970-d8e4-01d9-b878-257b72ecec00"
/dev/loop5: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop12: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop3: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/loop10: BLOCK_SIZE="131072" TYPE="squashfs"
/dev/sdd3: PARTLABEL="Gap1" PARTUUID="2a585014-a55f-4771-aef1-695c6f9e0059"
/dev/sdb2: PARTLABEL="Microsoft reserved partition" PARTUUID="ffb570be-97c1-4b52-ae3a-59c8da2a3101"

fdisk -l

Disk /dev/loop0: 1.62 GiB, 1734254592 bytes, 3387216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop1: 412.77 MiB, 432820224 bytes, 845352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop2: 776.54 MiB, 814256128 bytes, 1590344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop3: 240.51 MiB, 252190720 bytes, 492560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop4: 73.9 MiB, 77492224 bytes, 151352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop5: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop6: 11.2 MiB, 11747328 bytes, 22944 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop7: 496.98 MiB, 521121792 bytes, 1017816 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM002-1BD14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: EC95E2E0-B1C9-03B3-B878-257B72ECEC00

Device         Start       End   Sectors   Size Type
/dev/sda1       4096 523642879 523638784 249.7G Microsoft basic data
/dev/sda2  523642880 976764927 453122048 216.1G Microsoft basic data


Disk /dev/sdb: 238.47 GiB, 256060514304 bytes, 500118192 sectors
Disk model: SAMSUNG MZ7LN256
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0E99A25E-4EAC-4265-964D-4D4FF9CF3DD0

Device         Start       End   Sectors   Size Type
/dev/sdb1       2048   4392959   4390912   2.1G EFI System
/dev/sdb2    4392960   4425727     32768    16M Microsoft reserved
/dev/sdb3    4425728 251897855 247472128   118G Microsoft basic data
/dev/sdb4  251897856 253358079   1460224   713M Windows recovery environment
/dev/sdb5  253358080 500117503 246759424 117.7G Linux filesystem


Disk /dev/sdc: 298.09 GiB, 320072933376 bytes, 625142448 sectors
Disk model: SAMSUNG HD322GJ 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x209e706a

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdc1        2048 625127423 625125376 298.1G  7 HPFS/NTFS/exFAT


Disk /dev/sdd: 28.82 GiB, 30943995904 bytes, 60437492 sectors
Disk model: DataTraveler 3.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2A585014-A55F-4771-AEF2-695C6F9E0059

Device        Start      End  Sectors  Size Type
/dev/sdd1        64 10094759 10094696  4.8G Microsoft basic data
/dev/sdd2  10094760 10104795    10036  4.9M EFI System
/dev/sdd3  10104796 10105395      600  300K Microsoft basic data
/dev/sdd4  10108928 60436479 50327552   24G Linux filesystem


Disk /dev/loop8: 91.69 MiB, 96141312 bytes, 187776 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop9: 10.52 MiB, 11026432 bytes, 21536 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop10: 40.86 MiB, 42840064 bytes, 83672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop11: 452 KiB, 462848 bytes, 904 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop12: 130.95 MiB, 137310208 bytes, 268184 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

SMART test results on sdb5 (where Ubuntu installed on)

smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.5.0-9-generic] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     SAMSUNG MZ7LN256HCHP-000L7
Serial Number:    S20HNXAH205538
LU WWN Device Id: 5 002538 d00000000
Firmware Version: EMT03L6Q
User Capacity:    256,060,514,304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
TRIM Command:     Available
Device is:        In smartctl database 7.3/5319
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri Nov 10 18:03:23 2023 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (    0) seconds.
Offline data collection
capabilities:            (0x53) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    ( 133) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   092   092   000    Old_age   Always       -       37035
 12 Power_Cycle_Count       0x0032   096   096   000    Old_age   Always       -       3629
170 Unused_Rsvd_Blk_Ct_Chip 0x0032   100   100   010    Old_age   Always       -       0
171 Program_Fail_Count_Chip 0x0032   100   100   010    Old_age   Always       -       0
172 Erase_Fail_Count_Chip   0x0032   100   100   010    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   087   087   005    Pre-fail  Always       -       268
174 Unexpect_Power_Loss_Ct  0x0032   099   099   000    Old_age   Always       -       416
178 Used_Rsvd_Blk_Cnt_Chip  0x0013   100   100   010    Pre-fail  Always       -       0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0013   100   100   010    Pre-fail  Always       -       723
184 End-to-End_Error        0x0033   100   100   097    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0032   070   035   000    Old_age   Always       -       30
199 CRC_Error_Count         0x003e   099   099   000    Old_age   Always       -       1
233 Media_Wearout_Indicator 0x0013   086   086   000    Pre-fail  Always       -       14529068
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       25725
242 Total_LBAs_Read         0x0032   099   099   000    Old_age   Always       -       40003
249 NAND_Writes_1GiB        0x0032   099   099   000    Old_age   Always       -       68640

syslog file

https://filetransfer.io/data-package/R92DQfAA#link

UPDATE:

I found that the grub.cfg file still have the UUID not /dev/sdb5 as I mentioned in the fstab file. I updated-grup after I changed fstab file

/boot/grub/grub.cfg

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; then
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; then
      set initrdfail=2
   fi
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd1,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
else
  search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root='hd1,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
else
  search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
fi
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/Vimix/dejavu_32.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/dejavu_sans_12.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/dejavu_sans_14.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/dejavu_sans_16.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/dejavu_sans_24.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/dejavu_sans_48.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/terminus-12.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/terminus-16.pf2
loadfont ($root)/usr/share/grub/themes/Vimix/terminus-18.pf2
insmod jpeg
insmod png
set theme=($root)/usr/share/grub/themes/Vimix/theme.txt
export theme
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=0
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 0 ; then
    set timeout=0
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if [ ${grub_platform} != pc ]; then
      set linux_gfx_mode=keep
    elif hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd1,gpt5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
    else
      search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
    fi
    linux   /boot/vmlinuz-6.5.0-10-generic root=UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 ro  quiet splash $vt_handoff
    initrd  /boot/initrd.img-6.5.0-10-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
    menuentry 'Ubuntu, with Linux 6.5.0-10-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-10-generic-advanced-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
        else
          search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
        fi
        echo    'Loading Linux 6.5.0-10-generic ...'
        linux   /boot/vmlinuz-6.5.0-10-generic root=UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 ro  quiet splash $vt_handoff
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-6.5.0-10-generic
    }
    menuentry 'Ubuntu, with Linux 6.5.0-10-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-10-generic-recovery-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
        else
          search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
        fi
        echo    'Loading Linux 6.5.0-10-generic ...'
        linux   /boot/vmlinuz-6.5.0-10-generic root=UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 ro single recovery nomodeset dis_ucode_ldr 
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-6.5.0-10-generic
    }
    menuentry 'Ubuntu, with Linux 6.5.0-9-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-9-generic-advanced-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
        else
          search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
        fi
        echo    'Loading Linux 6.5.0-9-generic ...'
        linux   /boot/vmlinuz-6.5.0-9-generic root=/dev/sdb5 ro  quiet splash $vt_handoff
    }
    menuentry 'Ubuntu, with Linux 6.5.0-9-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-9-generic-recovery-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
        else
          search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
        fi
        echo    'Loading Linux 6.5.0-9-generic ...'
        linux   /boot/vmlinuz-6.5.0-9-generic root=/dev/sdb5 ro single recovery nomodeset dis_ucode_ldr 
    }
    menuentry 'Ubuntu, with Linux 6.2.0-36-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.2.0-36-generic-advanced-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
        else
          search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
        fi
        echo    'Loading Linux 6.2.0-36-generic ...'
        linux   /boot/vmlinuz-6.2.0-36-generic root=UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 ro  quiet splash $vt_handoff
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-6.2.0-36-generic
    }
    menuentry 'Ubuntu, with Linux 6.2.0-36-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.2.0-36-generic-recovery-c0fc479f-b1cc-4e85-962b-43a72eec9e91' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt5'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt5 --hint-efi=hd1,gpt5 --hint-baremetal=ahci1,gpt5 --hint='hd1,gpt5'  c0fc479f-b1cc-4e85-962b-43a72eec9e91
        else
          search --no-floppy --fs-uuid --set=root c0fc479f-b1cc-4e85-962b-43a72eec9e91
        fi
        echo    'Loading Linux 6.2.0-36-generic ...'
        linux   /boot/vmlinuz-6.2.0-36-generic root=UUID=c0fc479f-b1cc-4e85-962b-43a72eec9e91 ro single recovery nomodeset dis_ucode_ldr 
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-6.2.0-36-generic
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
  insmod bli
fi
### END /etc/grub.d/25_bli ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
    fwsetup --is-supported
    if [ "$?" = 0 ]; then
        menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
            fwsetup
        }
    fi
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
Asked By: Omar_Hafez

||

OMG, I fixed it!!

First of all, I don’t really know what exactly the problem was. However, I found that the EFI partition might be corrupted. I followed these steps to fix this (And I think this can solve most boot problems like this).

Here is my recipe to solve most of the booting problems:

1) Create a boot-repair USB:

some Linux distros do not support boot-repair like Ubuntu 23 so it’s a good idea to create your boot-repair disk

2) Boot to the live boot-repair USB

It’s a modified Lubuntu distro that contains a boot-repair tool and some other tools fixing other booting problems.
Run the boot-repair tool and click recommended repair. This Can solve most of the problems. If this didn’t solve your problems please continue reading.

3) Clear everything

  • here you should format the EFI partition as it might be corrupted (like in my case) (you can use the GParted tool already installed in the boot-repair live USB.

  • Now You can recreate this EFI partition using this way Or you can regenerate it using Windows USB (If you have Windows dual booted with Ubuntu) for UFEI MBR

  • In case you restored it using the Windows USB method and restored the Windows EFI partition you will be able to boot to your Windows once you boot to it open the cmd and administrator and run these commands:

    bcdedit /set {bootmgr} displaybootmenu yes

    bcdedit /set {bootmgr} path EFIubuntugrubx64.efi

  • Delete these files (or take them as backups):
    etc/default/grub boot/grub/grub.cfg

  • Check the `etc/fstab’ file and make sure that no errors in it. You can take a look at this question here and there are a lot of topics online about how to fix the broken fstab file.

  • run these commands to mount and chroot your Ubuntu in the live USB terminal but replace the sdb5 with the partition where your Ubuntu is installed on.

    sudo mount /dev/sdb5 /mnt && mount --rbind /dev /mnt/dev && mount --rbind /proc /mnt/proc && mount --rbind /sys /mnt/sys && chroot /mnt bash

  • Now run this command to regenerate ‘etc/default/grub’ file:

    sudo apt-get remove --purge grub-pc && apt-get install grub-pc

  • and then update-grub

4) Run the boot-repair tool again

here everything should work very well.:)

Answered By: Omar_Hafez
Categories: Answers Tags: , , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.