How do I include snapshot bootloader option in boot parameters

I have read the snapper documentation and also that for using Yast 2 to set boot loader options but I have not been able to find out how to do this.
As far as I am aware my installation is a new one with btrfs and incudes snapper with default configuration which the documents tell me should include this capability. Not in my installation it seems. Please could somebody help me figure this out and enable the Start Bootloader from a read-only snapshot option…

Show full output of

lsblk -f
grep -Ev '^$|^#' /etc/default/grub
zypper se -i snapper

Hi and thanks for the reply. I think this is what you need:-

alastair@HP-Z640-1:~> lsblk -f
NAME        FSTYPE      FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                                     
├─sda1      xfs                     99e823f1-e3aa-406a-88bc-e37897318ec2  460.1G     0% /srv
└─sda2      crypto_LUKS 1           47032f1d-4c01-4817-9ee6-1bb9d7a18565                
sdb                                                                                     
├─sdb1      vfat        FAT32       226A-AA59                                           
├─sdb2                                                                                  
├─sdb3      ntfs                    08686B55686B4094                                    
└─sdb4      ntfs                    761CEE841CEE3EAD                                    
sdc                                                                                     
sdd                                                                                     
sde                                                                                     
sr0                                                                                     
nvme0n1                                                                                 
├─nvme0n1p1                                                                             
├─nvme0n1p2 vfat        FAT32       1CE1-6E9C                             431.9M    15% /boot/efi
├─nvme0n1p3 swap        1           b1696969-7ce5-4ed5-b762-fc5df3e35373                [SWAP]
└─nvme0n1p4 btrfs                   6426a5c3-e7d1-4c54-9c71-45055b9b672d    1.4T    22% /var
                                                                                        /tmp
                                                                                        /usr/local
                                                                                        /root
                                                                                        /boot/grub2/i386-pc
                                                                                        /home
                                                                                        /opt
                                                                                        /boot/grub2/x86_64-efi
                                                                                        /
alastair@HP-Z640-1:~> grep -Ev '^$|^#' /etc/default/grub
GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=8
GRUB_CMDLINE_LINUX_DEFAULT="preempt=full security=apparmor mitigations=auto"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL="gfxterm"
GRUB_GFXMODE="auto"
GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_USE_LINUXEFI="true"
GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"
alastair@HP-Z640-1:~> sudo zypper se -i snapper
[sudo] password for root: 
Loading repository data...
Reading installed packages...

S | Name                 | Summary                                    | Type
--+----------------------+--------------------------------------------+--------
i | grub2-snapper-plugin | Grub2's snapper plugin                     | package
i | libsnapper5          | Library for filesystem snapshot management | package
i | snapper              | Tool for filesystem snapshot management    | package
i | snapper-zypp-plugin  | A zypp commit plugin for calling snapper   | package
i | yast2-snapper        | YaST - file system snapshots review        | package
alastair@HP-Z640-1:~> 

Hi Budge,

GRUB is not to blame: SUSE_BTRFS_SNAPSHOT_BOOTING="true"
But you don’t have the hidden folder /.snapshots. If it isn’t there, snapper can’t write the snapshots. You may also check

btrfs subvolume list -t /

Here is mine:

pluto:~ # btrfs subvolume list -t /
ID      gen     top level       path
--      ---     ---------       ----
257     75547   5               @
258     237086  257             @/var
259     236860  257             @/usr/local
260     237073  257             @/tmp
261     231531  257             @/srv
262     236991  257             @/root
263     236839  257             @/opt
264     222972  257             @/boot/grub2/x86_64-efi
265     228747  257             @/boot/grub2/i386-pc
266     236857  257             @/.snapshots
2582    237067  266             @/.snapshots/1887/snapshot
3496    236249  266             @/.snapshots/2566/snapshot
3498    234757  266             @/.snapshots/2567/snapshot
3499    235161  266             @/.snapshots/2568/snapshot
3500    235218  266             @/.snapshots/2569/snapshot
3501    235741  266             @/.snapshots/2570/snapshot
3502    236260  266             @/.snapshots/2571/snapshot
3505    236531  266             @/.snapshots/2574/snapshot
3507    236544  266             @/.snapshots/2575/snapshot
3508    236558  266             @/.snapshots/2576/snapshot
3509    236561  266             @/.snapshots/2577/snapshot
3510    236832  266             @/.snapshots/2578/snapshot
3511    236841  266             @/.snapshots/2579/snapshot
3512    236847  266             @/.snapshots/2580/snapshot
3513    236853  266             @/.snapshots/2581/snapshot
3514    236855  266             @/.snapshots/2582/snapshot
3515    236856  266             @/.snapshots/2583/snapshot

The snapshots should be in their own subvolume. If ithat doesn’t exist I think something went wrong during your initial installation. AFAIK this can’t be corrected unless by a fresh install. But others may know better.

Yes, as was pointed out, /.snapshots is missing. Show output of

btrfs subvolume list /

Thanks, here is result:-

alastair@HP-Z640-1:~> sudo btrfs subvolume list /
[sudo] password for root: 
ID 256 gen 258053 top level 5 path @
ID 257 gen 258055 top level 256 path var
ID 258 gen 257617 top level 256 path usr/local
ID 259 gen 258054 top level 256 path tmp
ID 260 gen 256538 top level 256 path srv
ID 261 gen 256994 top level 256 path root
ID 262 gen 256924 top level 256 path opt
ID 263 gen 258055 top level 256 path home
ID 264 gen 256538 top level 256 path boot/grub2/x86_64-efi
ID 265 gen 256538 top level 256 path boot/grub2/i386-pc
ID 309 gen 108176 top level 257 path var/lib/machines
ID 652 gen 256994 top level 256 path .snapshots
ID 654 gen 232023 top level 652 path .snapshots/2/snapshot
ID 655 gen 232024 top level 652 path .snapshots/3/snapshot
ID 664 gen 234315 top level 263 path home/.snapshots
ID 665 gen 232385 top level 664 path home/.snapshots/1/snapshot
ID 667 gen 232417 top level 664 path home/.snapshots/2/snapshot
ID 670 gen 232453 top level 664 path home/.snapshots/3/snapshot
ID 672 gen 232601 top level 664 path home/.snapshots/5/snapshot
ID 677 gen 232772 top level 664 path home/.snapshots/8/snapshot
ID 688 gen 233476 top level 664 path home/.snapshots/19/snapshot
ID 689 gen 233541 top level 664 path home/.snapshots/20/snapshot
ID 690 gen 233604 top level 664 path home/.snapshots/21/snapshot
ID 691 gen 233665 top level 664 path home/.snapshots/22/snapshot
ID 692 gen 233726 top level 664 path home/.snapshots/23/snapshot
ID 693 gen 233793 top level 664 path home/.snapshots/24/snapshot
ID 694 gen 233881 top level 664 path home/.snapshots/25/snapshot
ID 695 gen 233986 top level 664 path home/.snapshots/26/snapshot
ID 696 gen 234094 top level 664 path home/.snapshots/27/snapshot
ID 697 gen 234104 top level 652 path .snapshots/13/snapshot
ID 698 gen 234112 top level 652 path .snapshots/14/snapshot
ID 699 gen 234201 top level 664 path home/.snapshots/28/snapshot
ID 700 gen 234217 top level 652 path .snapshots/15/snapshot
ID 701 gen 234223 top level 652 path .snapshots/16/snapshot
ID 702 gen 234225 top level 652 path .snapshots/17/snapshot
ID 706 gen 234315 top level 664 path home/.snapshots/29/snapshot
ID 766 gen 244087 top level 652 path .snapshots/72/snapshot
ID 767 gen 244096 top level 652 path .snapshots/73/snapshot
ID 944 gen 251022 top level 652 path .snapshots/94/snapshot
ID 945 gen 251028 top level 652 path .snapshots/95/snapshot
ID 948 gen 253218 top level 652 path .snapshots/98/snapshot
ID 949 gen 253223 top level 652 path .snapshots/99/snapshot
ID 950 gen 253230 top level 652 path .snapshots/100/snapshot
ID 951 gen 253232 top level 652 path .snapshots/101/snapshot
ID 972 gen 254937 top level 652 path .snapshots/122/snapshot
ID 975 gen 254956 top level 652 path .snapshots/125/snapshot
ID 980 gen 255136 top level 652 path .snapshots/130/snapshot
ID 981 gen 255138 top level 652 path .snapshots/131/snapshot
ID 982 gen 255139 top level 652 path .snapshots/132/snapshot
ID 983 gen 255141 top level 652 path .snapshots/133/snapshot
ID 984 gen 256559 top level 652 path .snapshots/134/snapshot
ID 985 gen 256561 top level 652 path .snapshots/135/snapshot
ID 986 gen 256605 top level 652 path .snapshots/136/snapshot
ID 987 gen 256607 top level 652 path .snapshots/137/snapshot
ID 988 gen 256609 top level 652 path .snapshots/138/snapshot
ID 989 gen 256611 top level 652 path .snapshots/139/snapshot
ID 990 gen 256789 top level 652 path .snapshots/140/snapshot
ID 991 gen 256793 top level 652 path .snapshots/141/snapshot
ID 994 gen 256799 top level 652 path .snapshots/144/snapshot
ID 995 gen 256800 top level 652 path .snapshots/145/snapshot
ID 998 gen 256803 top level 652 path .snapshots/148/snapshot
ID 999 gen 256806 top level 652 path .snapshots/149/snapshot
ID 1000 gen 256809 top level 652 path .snapshots/150/snapshot
ID 1001 gen 256813 top level 652 path .snapshots/151/snapshot
ID 1002 gen 256894 top level 652 path .snapshots/152/snapshot
ID 1003 gen 256896 top level 652 path .snapshots/153/snapshot
ID 1004 gen 256897 top level 652 path .snapshots/154/snapshot
ID 1005 gen 256899 top level 652 path .snapshots/155/snapshot
ID 1006 gen 256901 top level 652 path .snapshots/156/snapshot
ID 1007 gen 256902 top level 652 path .snapshots/157/snapshot
ID 1008 gen 256937 top level 652 path .snapshots/158/snapshot
ID 1009 gen 256958 top level 652 path .snapshots/159/snapshot
ID 1010 gen 256961 top level 652 path .snapshots/160/snapshot
ID 1011 gen 256964 top level 652 path .snapshots/161/snapshot
ID 1012 gen 256988 top level 652 path .snapshots/162/snapshot
ID 1013 gen 256989 top level 652 path .snapshots/163/snapshot
ID 1014 gen 256990 top level 652 path .snapshots/164/snapshot
ID 1015 gen 256993 top level 652 path .snapshots/165/snapshot
alastair@HP-Z640-1:~> sudo btrfs subvolume list -t /
ID      gen     top level       path
--      ---     ---------       ----
256     258056  5               @
257     258056  256             var
258     257617  256             usr/local
259     258056  256             tmp
260     256538  256             srv
261     256994  256             root
262     256924  256             opt
263     258056  256             home
264     256538  256             boot/grub2/x86_64-efi
265     256538  256             boot/grub2/i386-pc
309     108176  257             var/lib/machines
652     256994  256             .snapshots
654     232023  652             .snapshots/2/snapshot
655     232024  652             .snapshots/3/snapshot
664     234315  263             home/.snapshots
665     232385  664             home/.snapshots/1/snapshot
667     232417  664             home/.snapshots/2/snapshot
670     232453  664             home/.snapshots/3/snapshot
672     232601  664             home/.snapshots/5/snapshot
677     232772  664             home/.snapshots/8/snapshot
688     233476  664             home/.snapshots/19/snapshot
689     233541  664             home/.snapshots/20/snapshot
690     233604  664             home/.snapshots/21/snapshot
691     233665  664             home/.snapshots/22/snapshot
692     233726  664             home/.snapshots/23/snapshot
693     233793  664             home/.snapshots/24/snapshot
694     233881  664             home/.snapshots/25/snapshot
695     233986  664             home/.snapshots/26/snapshot
696     234094  664             home/.snapshots/27/snapshot
697     234104  652             .snapshots/13/snapshot
698     234112  652             .snapshots/14/snapshot
699     234201  664             home/.snapshots/28/snapshot
700     234217  652             .snapshots/15/snapshot
701     234223  652             .snapshots/16/snapshot
702     234225  652             .snapshots/17/snapshot
706     234315  664             home/.snapshots/29/snapshot
766     244087  652             .snapshots/72/snapshot
767     244096  652             .snapshots/73/snapshot
944     251022  652             .snapshots/94/snapshot
945     251028  652             .snapshots/95/snapshot
948     253218  652             .snapshots/98/snapshot
949     253223  652             .snapshots/99/snapshot
950     253230  652             .snapshots/100/snapshot
951     253232  652             .snapshots/101/snapshot
972     254937  652             .snapshots/122/snapshot
975     254956  652             .snapshots/125/snapshot
980     255136  652             .snapshots/130/snapshot
981     255138  652             .snapshots/131/snapshot
982     255139  652             .snapshots/132/snapshot
983     255141  652             .snapshots/133/snapshot
984     256559  652             .snapshots/134/snapshot
985     256561  652             .snapshots/135/snapshot
986     256605  652             .snapshots/136/snapshot
987     256607  652             .snapshots/137/snapshot
988     256609  652             .snapshots/138/snapshot
989     256611  652             .snapshots/139/snapshot
990     256789  652             .snapshots/140/snapshot
991     256793  652             .snapshots/141/snapshot
994     256799  652             .snapshots/144/snapshot
995     256800  652             .snapshots/145/snapshot
998     256803  652             .snapshots/148/snapshot
999     256806  652             .snapshots/149/snapshot
1000    256809  652             .snapshots/150/snapshot
1001    256813  652             .snapshots/151/snapshot
1002    256894  652             .snapshots/152/snapshot
1003    256896  652             .snapshots/153/snapshot
1004    256897  652             .snapshots/154/snapshot
1005    256899  652             .snapshots/155/snapshot
1006    256901  652             .snapshots/156/snapshot
1007    256902  652             .snapshots/157/snapshot
1008    256937  652             .snapshots/158/snapshot
1009    256958  652             .snapshots/159/snapshot
1010    256961  652             .snapshots/160/snapshot
1011    256964  652             .snapshots/161/snapshot
1012    256988  652             .snapshots/162/snapshot
1013    256989  652             .snapshots/163/snapshot
1014    256990  652             .snapshots/164/snapshot
1015    256993  652             .snapshots/165/snapshot
alastair@HP-Z640-1:~> 

More complicated than I expected but possibly needs trimming?

Add /etc/fstab entry to mount @/.snapshots subvolume onto /.snapshots mount point.

Here is what I have now for /etc/fstab

alastair@HP-Z640-1:~> cat /etc/fstab
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /                       btrfs  defaults                      0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /var                    btrfs  subvol=/@/var                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /tmp                    btrfs  subvol=/@/tmp                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /root                   btrfs  subvol=/@/root                0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /home                   btrfs  subvol=/@/home                0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=1CE1-6E9C                             /boot/efi               vfat   utf8                          0  2
UUID=b1696969-7ce5-4ed5-b762-fc5df3e35373  swap                    swap   defaults                      0  0
UUID=99e823f1-e3aa-406a-88bc-e37897318ec2  /srv                    xfs    defaults                      0  0
UUID=7bd21373-3218-423e-9d84-86d738ef259d  /test                   xfs    noauto                        0  0
192.168.169.134:/multimedia/AV_multimedia  /home/alastair/NFS_link_to_Mastermedia  nfs    defaults                      0  0
192.168.169.131:/Photo_database            /home/alastair/NAS_photo_database  nfs    defaults                      0  0
192.168.169.131:/New_X3400_Home_Backup     /home/alastair/NFS_Link_to_NAS_131  nfs    defaults                      0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /.snapshots              btrfs  subvol=@/.snapshots          0  0
alastair@HP-Z640-1:~> 

I think this is what is required. I have run sudo mount -a and this is what I now have in system

alastair@HP-Z640-1:~> sudo btrfs subvolume list /
ID 256 gen 258174 top level 5 path @
ID 257 gen 258182 top level 256 path var
ID 258 gen 258068 top level 256 path usr/local
ID 259 gen 258177 top level 256 path tmp
ID 260 gen 256538 top level 256 path srv
ID 261 gen 256994 top level 256 path root
ID 262 gen 256924 top level 256 path opt
ID 263 gen 258182 top level 256 path home
ID 264 gen 256538 top level 256 path boot/grub2/x86_64-efi
ID 265 gen 256538 top level 256 path boot/grub2/i386-pc
ID 309 gen 108176 top level 257 path var/lib/machines
ID 652 gen 256994 top level 256 path .snapshots
ID 654 gen 232023 top level 652 path .snapshots/2/snapshot
ID 655 gen 232024 top level 652 path .snapshots/3/snapshot
ID 664 gen 234315 top level 263 path home/.snapshots
ID 665 gen 232385 top level 664 path home/.snapshots/1/snapshot
ID 667 gen 232417 top level 664 path home/.snapshots/2/snapshot
ID 670 gen 232453 top level 664 path home/.snapshots/3/snapshot
ID 672 gen 232601 top level 664 path home/.snapshots/5/snapshot
ID 677 gen 232772 top level 664 path home/.snapshots/8/snapshot
ID 688 gen 233476 top level 664 path home/.snapshots/19/snapshot
ID 689 gen 233541 top level 664 path home/.snapshots/20/snapshot
ID 690 gen 233604 top level 664 path home/.snapshots/21/snapshot
ID 691 gen 233665 top level 664 path home/.snapshots/22/snapshot
ID 692 gen 233726 top level 664 path home/.snapshots/23/snapshot
ID 693 gen 233793 top level 664 path home/.snapshots/24/snapshot
ID 694 gen 233881 top level 664 path home/.snapshots/25/snapshot
ID 695 gen 233986 top level 664 path home/.snapshots/26/snapshot
ID 696 gen 234094 top level 664 path home/.snapshots/27/snapshot
ID 697 gen 234104 top level 652 path .snapshots/13/snapshot
ID 698 gen 234112 top level 652 path .snapshots/14/snapshot
ID 699 gen 234201 top level 664 path home/.snapshots/28/snapshot
ID 700 gen 234217 top level 652 path .snapshots/15/snapshot
ID 701 gen 234223 top level 652 path .snapshots/16/snapshot
ID 702 gen 234225 top level 652 path .snapshots/17/snapshot
ID 706 gen 234315 top level 664 path home/.snapshots/29/snapshot
ID 766 gen 244087 top level 652 path .snapshots/72/snapshot
ID 767 gen 244096 top level 652 path .snapshots/73/snapshot
ID 944 gen 251022 top level 652 path .snapshots/94/snapshot
ID 945 gen 251028 top level 652 path .snapshots/95/snapshot
ID 948 gen 253218 top level 652 path .snapshots/98/snapshot
ID 949 gen 253223 top level 652 path .snapshots/99/snapshot
ID 950 gen 253230 top level 652 path .snapshots/100/snapshot
ID 951 gen 253232 top level 652 path .snapshots/101/snapshot
ID 972 gen 254937 top level 652 path .snapshots/122/snapshot
ID 975 gen 254956 top level 652 path .snapshots/125/snapshot
ID 980 gen 255136 top level 652 path .snapshots/130/snapshot
ID 981 gen 255138 top level 652 path .snapshots/131/snapshot
ID 982 gen 255139 top level 652 path .snapshots/132/snapshot
ID 983 gen 255141 top level 652 path .snapshots/133/snapshot
ID 984 gen 256559 top level 652 path .snapshots/134/snapshot
ID 985 gen 256561 top level 652 path .snapshots/135/snapshot
ID 986 gen 256605 top level 652 path .snapshots/136/snapshot
ID 987 gen 256607 top level 652 path .snapshots/137/snapshot
ID 988 gen 256609 top level 652 path .snapshots/138/snapshot
ID 989 gen 256611 top level 652 path .snapshots/139/snapshot
ID 990 gen 256789 top level 652 path .snapshots/140/snapshot
ID 991 gen 256793 top level 652 path .snapshots/141/snapshot
ID 994 gen 256799 top level 652 path .snapshots/144/snapshot
ID 995 gen 256800 top level 652 path .snapshots/145/snapshot
ID 998 gen 256803 top level 652 path .snapshots/148/snapshot
ID 999 gen 256806 top level 652 path .snapshots/149/snapshot
ID 1000 gen 256809 top level 652 path .snapshots/150/snapshot
ID 1001 gen 256813 top level 652 path .snapshots/151/snapshot
ID 1002 gen 256894 top level 652 path .snapshots/152/snapshot
ID 1003 gen 256896 top level 652 path .snapshots/153/snapshot
ID 1004 gen 256897 top level 652 path .snapshots/154/snapshot
ID 1005 gen 256899 top level 652 path .snapshots/155/snapshot
ID 1006 gen 256901 top level 652 path .snapshots/156/snapshot
ID 1007 gen 256902 top level 652 path .snapshots/157/snapshot
ID 1008 gen 256937 top level 652 path .snapshots/158/snapshot
ID 1009 gen 256958 top level 652 path .snapshots/159/snapshot
ID 1010 gen 256961 top level 652 path .snapshots/160/snapshot
ID 1011 gen 256964 top level 652 path .snapshots/161/snapshot
ID 1012 gen 256988 top level 652 path .snapshots/162/snapshot
ID 1013 gen 256989 top level 652 path .snapshots/163/snapshot
ID 1014 gen 256990 top level 652 path .snapshots/164/snapshot
ID 1015 gen 256993 top level 652 path .snapshots/165/snapshot
alastair@HP-Z640-1:~> 

Not what I expected as there is no @/.snapshots showing. Before I reboot is my /etc/fstab now correct?

My bad, here is /etc/fstab now:-

  GNU nano 7.2                                           /etc/fstab                                                      
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /                       btrfs  defaults                      0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /var                    btrfs  subvol=/@/var                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /tmp                    btrfs  subvol=/@/tmp                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /root                   btrfs  subvol=/@/root                0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /home                   btrfs  subvol=/@/home                0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=1CE1-6E9C                             /boot/efi               vfat   utf8                          0  2
UUID=b1696969-7ce5-4ed5-b762-fc5df3e35373  swap                    swap   defaults                      0  0
UUID=99e823f1-e3aa-406a-88bc-e37897318ec2  /srv                    xfs    defaults                      0  0
UUID=7bd21373-3218-423e-9d84-86d738ef259d  /test                   xfs    noauto                        0  0
192.168.169.134:/multimedia/AV_multimedia  /home/alastair/NFS_link_to_Mastermedia  nfs    defaults                      >
192.168.169.131:/Photo_database            /home/alastair/NAS_photo_database  nfs    defaults                      0  0
192.168.169.131:/New_X3400_Home_Backup     /home/alastair/NFS_Link_to_NAS_131  nfs    defaults                      0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  @/.snapshots              btrfs  subvol=/@/.snapshots          0  0

Hope this is right but I still have something wrong:-

alastair@HP-Z640-1:~> sudo mount -a
mount: @/.snapshots: mount point does not exist.
alastair@HP-Z640-1:~> 

I said /.snapshots mount point, not @/.snapshots.

Yes, I was right first time but it wasn’t working and thought I had misread your post. I had reverted it as soon as I saw the mount problem. Here is my /etc/fstab:-

alastair@HP-Z640-1:~> sudo cat /etc/fstab
[sudo] password for root: 
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /                       btrfs  defaults                      0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /var                    btrfs  subvol=/@/var                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /tmp                    btrfs  subvol=/@/tmp                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /root                   btrfs  subvol=/@/root                0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /home                   btrfs  subvol=/@/home                0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=1CE1-6E9C                             /boot/efi               vfat   utf8                          0  2
UUID=b1696969-7ce5-4ed5-b762-fc5df3e35373  swap                    swap   defaults                      0  0
UUID=99e823f1-e3aa-406a-88bc-e37897318ec2  /srv                    xfs    defaults                      0  0
UUID=7bd21373-3218-423e-9d84-86d738ef259d  /test                   xfs    noauto                        0  0
192.168.169.134:/multimedia/AV_multimedia  /home/alastair/NFS_link_to_Mastermedia  nfs    defaults                      0  0
192.168.169.131:/Photo_database            /home/alastair/NAS_photo_database  nfs    defaults                      0  0
192.168.169.131:/New_X3400_Home_Backup     /home/alastair/NFS_Link_to_NAS_131  nfs    defaults                      0  0
UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d  /.snapshots              btrfs  subvol=/@/.snapshots          0  0
alastair@HP-Z640-1:~>
``` and here is my subvolume list:-

alastair@HP-Z640-1:~> sudo btrfs subvolume list /
ID 256 gen 258370 top level 5 path @
ID 257 gen 258378 top level 256 path var
ID 258 gen 258068 top level 256 path usr/local
ID 259 gen 258378 top level 256 path tmp
ID 260 gen 256538 top level 256 path srv
ID 261 gen 258369 top level 256 path root
ID 262 gen 258260 top level 256 path opt
ID 263 gen 258379 top level 256 path home
ID 264 gen 256538 top level 256 path boot/grub2/x86_64-efi
ID 265 gen 256538 top level 256 path boot/grub2/i386-pc
ID 309 gen 108176 top level 257 path var/lib/machines
ID 652 gen 258369 top level 256 path .snapshots
ID 654 gen 232023 top level 652 path .snapshots/2/snapshot
ID 655 gen 232024 top level 652 path .snapshots/3/snapshot
ID 664 gen 234315 top level 263 path home/.snapshots
ID 665 gen 232385 top level 664 path home/.snapshots/1/snapshot
ID 667 gen 232417 top level 664 path home/.snapshots/2/snapshot
ID 670 gen 232453 top level 664 path home/.snapshots/3/snapshot
ID 672 gen 232601 top level 664 path home/.snapshots/5/snapshot
ID 677 gen 232772 top level 664 path home/.snapshots/8/snapshot
ID 688 gen 233476 top level 664 path home/.snapshots/19/snapshot
ID 689 gen 233541 top level 664 path home/.snapshots/20/snapshot
ID 690 gen 233604 top level 664 path home/.snapshots/21/snapshot
ID 691 gen 233665 top level 664 path home/.snapshots/22/snapshot
ID 692 gen 233726 top level 664 path home/.snapshots/23/snapshot
ID 693 gen 233793 top level 664 path home/.snapshots/24/snapshot
ID 694 gen 233881 top level 664 path home/.snapshots/25/snapshot
ID 695 gen 233986 top level 664 path home/.snapshots/26/snapshot
ID 696 gen 234094 top level 664 path home/.snapshots/27/snapshot
ID 697 gen 234104 top level 652 path .snapshots/13/snapshot
ID 698 gen 234112 top level 652 path .snapshots/14/snapshot
ID 699 gen 234201 top level 664 path home/.snapshots/28/snapshot
ID 700 gen 234217 top level 652 path .snapshots/15/snapshot
ID 701 gen 234223 top level 652 path .snapshots/16/snapshot
ID 702 gen 234225 top level 652 path .snapshots/17/snapshot
ID 706 gen 234315 top level 664 path home/.snapshots/29/snapshot
ID 766 gen 244087 top level 652 path .snapshots/72/snapshot
ID 767 gen 244096 top level 652 path .snapshots/73/snapshot
ID 944 gen 251022 top level 652 path .snapshots/94/snapshot
ID 945 gen 251028 top level 652 path .snapshots/95/snapshot
ID 948 gen 253218 top level 652 path .snapshots/98/snapshot
ID 949 gen 253223 top level 652 path .snapshots/99/snapshot
ID 950 gen 253230 top level 652 path .snapshots/100/snapshot
ID 951 gen 253232 top level 652 path .snapshots/101/snapshot
ID 972 gen 254937 top level 652 path .snapshots/122/snapshot
ID 975 gen 254956 top level 652 path .snapshots/125/snapshot
ID 980 gen 255136 top level 652 path .snapshots/130/snapshot
ID 981 gen 255138 top level 652 path .snapshots/131/snapshot
ID 982 gen 255139 top level 652 path .snapshots/132/snapshot
ID 983 gen 255141 top level 652 path .snapshots/133/snapshot
ID 984 gen 256559 top level 652 path .snapshots/134/snapshot
ID 985 gen 256561 top level 652 path .snapshots/135/snapshot
ID 986 gen 256605 top level 652 path .snapshots/136/snapshot
ID 987 gen 256607 top level 652 path .snapshots/137/snapshot
ID 988 gen 256609 top level 652 path .snapshots/138/snapshot
ID 989 gen 256611 top level 652 path .snapshots/139/snapshot
ID 990 gen 256789 top level 652 path .snapshots/140/snapshot
ID 991 gen 256793 top level 652 path .snapshots/141/snapshot
ID 994 gen 256799 top level 652 path .snapshots/144/snapshot
ID 995 gen 256800 top level 652 path .snapshots/145/snapshot
ID 998 gen 256803 top level 652 path .snapshots/148/snapshot
ID 999 gen 256806 top level 652 path .snapshots/149/snapshot
ID 1000 gen 256809 top level 652 path .snapshots/150/snapshot
ID 1001 gen 256813 top level 652 path .snapshots/151/snapshot
ID 1002 gen 256894 top level 652 path .snapshots/152/snapshot
ID 1003 gen 256896 top level 652 path .snapshots/153/snapshot
ID 1004 gen 256897 top level 652 path .snapshots/154/snapshot
ID 1005 gen 256899 top level 652 path .snapshots/155/snapshot
ID 1006 gen 256901 top level 652 path .snapshots/156/snapshot
ID 1007 gen 256902 top level 652 path .snapshots/157/snapshot
ID 1008 gen 256937 top level 652 path .snapshots/158/snapshot
ID 1009 gen 256958 top level 652 path .snapshots/159/snapshot
ID 1010 gen 256961 top level 652 path .snapshots/160/snapshot
ID 1011 gen 256964 top level 652 path .snapshots/161/snapshot
ID 1012 gen 256988 top level 652 path .snapshots/162/snapshot
ID 1013 gen 256989 top level 652 path .snapshots/163/snapshot
ID 1014 gen 256990 top level 652 path .snapshots/164/snapshot
ID 1015 gen 256993 top level 652 path .snapshots/165/snapshot
alastair@HP-Z640-1:~>

When I check by trying to mount the /.snapshot I have :-

alastair@HP-Z640-1:~> sudo mount -o subvol=@/.snapshots UUID=6426a5c3-e7d1-4c54-9c71-45055b9b672d
mount: /: /dev/nvme0n1p4 already mounted on /.
alastair@HP-Z640-1:~>

As all looked OK I tried re-booting but I still do not have the list as required.

Show

ls -l /.snapshots
ls -l /.snapshots/*/*.cfg
snapper list

Ok as requested:-

alastair@HP-Z640-1:~> sudo ls -l /.snapshots
[sudo] password for root: 
total 8
drwxr-xr-x 1 root root   66 Aug  3 18:04 100
drwxr-xr-x 1 root root   98 Aug  3 18:04 101
drwxr-xr-x 1 root root   66 Jul 23 19:06 13
drwxr-xr-x 1 root root   66 Aug  4 18:32 130
drwxr-xr-x 1 root root   66 Aug  4 18:33 131
drwxr-xr-x 1 root root   98 Aug  4 18:33 132
drwxr-xr-x 1 root root   98 Aug  4 18:33 133
drwxr-xr-x 1 root root   66 Aug  5 14:37 134
drwxr-xr-x 1 root root   98 Aug  5 14:37 135
drwxr-xr-x 1 root root   66 Aug  5 15:02 136
drwxr-xr-x 1 root root   66 Aug  5 15:03 137
drwxr-xr-x 1 root root   98 Aug  5 15:03 138
drwxr-xr-x 1 root root   98 Aug  5 15:03 139
drwxr-xr-x 1 root root   66 Jul 23 20:07 14
drwxr-xr-x 1 root root   66 Aug  5 16:45 140
drwxr-xr-x 1 root root   98 Aug  5 16:45 141
drwxr-xr-x 1 root root   66 Aug  5 16:47 144
drwxr-xr-x 1 root root   98 Aug  5 16:48 145
drwxr-xr-x 1 root root   66 Aug  5 16:48 148
drwxr-xr-x 1 root root   66 Aug  5 16:50 149
drwxr-xr-x 1 root root   96 Jul 23 20:08 15
drwxr-xr-x 1 root root   98 Aug  5 16:51 150
drwxr-xr-x 1 root root   98 Aug  5 16:53 151
drwxr-xr-x 1 root root   66 Aug  5 18:03 152
drwxr-xr-x 1 root root   66 Aug  5 18:04 153
drwxr-xr-x 1 root root   98 Aug  5 18:04 154
drwxr-xr-x 1 root root   98 Aug  5 18:04 155
drwxr-xr-x 1 root root   66 Jul 23 20:09 16
drwxr-xr-x 1 root root   96 Jul 23 20:09 17
drwxr-xr-x 1 root root   66 Jul 22 16:00 2
drwxr-xr-x 1 root root   66 Jul 22 16:00 3
drwxr-xr-x 1 root root   66 Jul 29 19:29 72
drwxr-xr-x 1 root root   96 Jul 29 19:29 73
drwxr-xr-x 1 root root   66 Aug  2 12:13 94
drwxr-xr-x 1 root root   96 Aug  2 12:13 95
drwxr-xr-x 1 root root   66 Aug  3 18:00 98
drwxr-xr-x 1 root root   96 Aug  3 18:00 99
-rw-r----- 1 root root 4298 Aug  6 13:44 grub-snapshot.cfg
alastair@HP-Z640-1:~> sudo ls -l /.snapshots/*/*.cfg
ls: cannot access '/.snapshots/*/*.cfg': No such file or directory
alastair@HP-Z640-1:~> sudo snapper list
   # | Type   | Pre # | Date                         | User | Cleanup  | Description        | Userdata     
-----+--------+-------+------------------------------+------+----------+--------------------+--------------
  0  | single |       |                              | root |          | current            |              
  2  | single |       | Sat 22 Jul 2023 16:00:37 BST | root | timeline | timeline           |              
  3  | single |       | Sat 22 Jul 2023 16:00:37 BST | root | timeline | timeline           |              
 13  | pre    |       | Sun 23 Jul 2023 19:06:59 BST | root | number   | zypp(zypper)       | important=yes
 14  | pre    |       | Sun 23 Jul 2023 19:13:10 BST | root | number   | zypp(zypper)       | important=yes
 15  | post   |    14 | Sun 23 Jul 2023 20:07:30 BST | root | number   |                    | important=yes
 16  | pre    |       | Sun 23 Jul 2023 20:09:01 BST | root | number   | zypp(zypper)       | important=yes
 17  | post   |    16 | Sun 23 Jul 2023 20:09:33 BST | root | number   |                    | important=yes
 72  | pre    |       | Sat 29 Jul 2023 19:24:52 BST | root | number   | zypp(zypper)       | important=yes
 73  | post   |    72 | Sat 29 Jul 2023 19:29:14 BST | root | number   |                    | important=yes
 94  | pre    |       | Wed 02 Aug 2023 12:10:55 BST | root | number   | zypp(zypper)       | important=yes
 95  | post   |    94 | Wed 02 Aug 2023 12:13:09 BST | root | number   |                    | important=yes
 98  | pre    |       | Thu 03 Aug 2023 17:58:38 BST | root | number   | zypp(zypper)       | important=yes
 99  | post   |    98 | Thu 03 Aug 2023 18:00:47 BST | root | number   |                    | important=yes
100  | pre    |       | Thu 03 Aug 2023 18:03:30 BST | root | number   | zypp(zypper)       | important=yes
101  | post   |   100 | Thu 03 Aug 2023 18:04:05 BST | root | number   |                    | important=yes
130  | pre    |       | Fri 04 Aug 2023 18:32:30 BST | root | number   | yast sw_single     |              
131  | pre    |       | Fri 04 Aug 2023 18:33:16 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
132  | post   |   131 | Fri 04 Aug 2023 18:33:19 BST | root | number   |                    | important=no 
133  | post   |   130 | Fri 04 Aug 2023 18:33:26 BST | root | number   |                    |              
134  | pre    |       | Sat 05 Aug 2023 14:36:38 BST | root | number   | zypp(zypper)       | important=no 
135  | post   |   134 | Sat 05 Aug 2023 14:37:25 BST | root | number   |                    | important=no 
136  | pre    |       | Sat 05 Aug 2023 15:02:53 BST | root | number   | yast sw_single     |              
137  | pre    |       | Sat 05 Aug 2023 15:03:27 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
138  | post   |   137 | Sat 05 Aug 2023 15:03:48 BST | root | number   |                    | important=no 
139  | post   |   136 | Sat 05 Aug 2023 15:03:51 BST | root | number   |                    |              
140  | pre    |       | Sat 05 Aug 2023 16:44:23 BST | root | number   | zypp(zypper)       | important=no 
141  | post   |   140 | Sat 05 Aug 2023 16:45:33 BST | root | number   |                    | important=no 
144  | pre    |       | Sat 05 Aug 2023 16:47:49 BST | root | number   | yast repositories  |              
145  | post   |   144 | Sat 05 Aug 2023 16:48:03 BST | root | number   |                    |              
148  | pre    |       | Sat 05 Aug 2023 16:48:46 BST | root | number   | yast sw_single     |              
149  | pre    |       | Sat 05 Aug 2023 16:50:12 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
150  | post   |   149 | Sat 05 Aug 2023 16:51:01 BST | root | number   |                    | important=no 
151  | post   |   148 | Sat 05 Aug 2023 16:53:02 BST | root | number   |                    |              
152  | pre    |       | Sat 05 Aug 2023 18:03:43 BST | root | number   | yast sw_single     |              
153  | pre    |       | Sat 05 Aug 2023 18:04:31 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
154  | post   |   153 | Sat 05 Aug 2023 18:04:35 BST | root | number   |                    | important=no 
155  | post   |   152 | Sat 05 Aug 2023 18:04:51 BST | root | number   |                    |              
alastair@HP-Z640-1:~> 

That is the reason why no snapshots are offered at boot time. Menu entry for each snapshot is created statically when snapshot itself is created. If they are missing, nothing is shown. Try creating new snapshot now, when /.snapshots is mounted. Do you see this new snapshot in grub menu?

Hi arvidjaar, I have created a snapshopt and can see it listed:-

alastair@HP-Z640-1:~> sudo snapper create --description 'Test_snapshot'
[sudo] password for root: 
alastair@HP-Z640-1:~> sudo snapper list
   # | Type   | Pre # | Date                         | User | Cleanup  | Description        | Userdata     
-----+--------+-------+------------------------------+------+----------+--------------------+--------------
  0  | single |       |                              | root |          | current            |              
  2  | single |       | Sat 22 Jul 2023 16:00:37 BST | root | timeline | timeline           |              
  3  | single |       | Sat 22 Jul 2023 16:00:37 BST | root | timeline | timeline           |              
 13  | pre    |       | Sun 23 Jul 2023 19:06:59 BST | root | number   | zypp(zypper)       | important=yes
 14  | pre    |       | Sun 23 Jul 2023 19:13:10 BST | root | number   | zypp(zypper)       | important=yes
 15  | post   |    14 | Sun 23 Jul 2023 20:07:30 BST | root | number   |                    | important=yes
 16  | pre    |       | Sun 23 Jul 2023 20:09:01 BST | root | number   | zypp(zypper)       | important=yes
 17  | post   |    16 | Sun 23 Jul 2023 20:09:33 BST | root | number   |                    | important=yes
 72  | pre    |       | Sat 29 Jul 2023 19:24:52 BST | root | number   | zypp(zypper)       | important=yes
 73  | post   |    72 | Sat 29 Jul 2023 19:29:14 BST | root | number   |                    | important=yes
 94  | pre    |       | Wed 02 Aug 2023 12:10:55 BST | root | number   | zypp(zypper)       | important=yes
 95  | post   |    94 | Wed 02 Aug 2023 12:13:09 BST | root | number   |                    | important=yes
 98  | pre    |       | Thu 03 Aug 2023 17:58:38 BST | root | number   | zypp(zypper)       | important=yes
 99  | post   |    98 | Thu 03 Aug 2023 18:00:47 BST | root | number   |                    | important=yes
100  | pre    |       | Thu 03 Aug 2023 18:03:30 BST | root | number   | zypp(zypper)       | important=yes
101  | post   |   100 | Thu 03 Aug 2023 18:04:05 BST | root | number   |                    | important=yes
130  | pre    |       | Fri 04 Aug 2023 18:32:30 BST | root | number   | yast sw_single     |              
131  | pre    |       | Fri 04 Aug 2023 18:33:16 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
132  | post   |   131 | Fri 04 Aug 2023 18:33:19 BST | root | number   |                    | important=no 
133  | post   |   130 | Fri 04 Aug 2023 18:33:26 BST | root | number   |                    |              
134  | pre    |       | Sat 05 Aug 2023 14:36:38 BST | root | number   | zypp(zypper)       | important=no 
135  | post   |   134 | Sat 05 Aug 2023 14:37:25 BST | root | number   |                    | important=no 
136  | pre    |       | Sat 05 Aug 2023 15:02:53 BST | root | number   | yast sw_single     |              
137  | pre    |       | Sat 05 Aug 2023 15:03:27 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
138  | post   |   137 | Sat 05 Aug 2023 15:03:48 BST | root | number   |                    | important=no 
139  | post   |   136 | Sat 05 Aug 2023 15:03:51 BST | root | number   |                    |              
140  | pre    |       | Sat 05 Aug 2023 16:44:23 BST | root | number   | zypp(zypper)       | important=no 
141  | post   |   140 | Sat 05 Aug 2023 16:45:33 BST | root | number   |                    | important=no 
144  | pre    |       | Sat 05 Aug 2023 16:47:49 BST | root | number   | yast repositories  |              
145  | post   |   144 | Sat 05 Aug 2023 16:48:03 BST | root | number   |                    |              
148  | pre    |       | Sat 05 Aug 2023 16:48:46 BST | root | number   | yast sw_single     |              
149  | pre    |       | Sat 05 Aug 2023 16:50:12 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
150  | post   |   149 | Sat 05 Aug 2023 16:51:01 BST | root | number   |                    | important=no 
151  | post   |   148 | Sat 05 Aug 2023 16:53:02 BST | root | number   |                    |              
152  | pre    |       | Sat 05 Aug 2023 18:03:43 BST | root | number   | yast sw_single     |              
153  | pre    |       | Sat 05 Aug 2023 18:04:31 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
154  | post   |   153 | Sat 05 Aug 2023 18:04:35 BST | root | number   |                    | important=no 
155  | post   |   152 | Sat 05 Aug 2023 18:04:51 BST | root | number   |                    |              
156  | single |       | Sun 06 Aug 2023 17:31:32 BST | root |          | Test snapshot      |              
158  | pre    |       | Sun 06 Aug 2023 21:26:14 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
160  | pre    |       | Sun 06 Aug 2023 21:29:31 BST | root | number   | yast sw_single     |              
161  | pre    |       | Sun 06 Aug 2023 21:29:45 BST | root | number   | zypp(ruby.ruby2.5) | important=no 
162  | post   |   161 | Sun 06 Aug 2023 21:32:12 BST | root | number   |                    | important=no 
163  | post   |   160 | Sun 06 Aug 2023 21:32:17 BST | root | number   |                    |              
164  | single |       | Mon 07 Aug 2023 09:24:02 BST | root |          | Test_snapshot      |              
alastair@HP-Z640-1:~> 

Should I reboot to see if it is in the grub menu or where else can I look for it? It is not where you last suggested I look:-

alastair@HP-Z640-1:~> sudo ls -l /.snapshots/*/*.cfg
ls: cannot access '/.snapshots/*/*.cfg': No such file or directory
alastair@HP-Z640-1:~> 

You could look in /.snapshots/grub-snapshot.cfg whether it had line referring to the new snapshot. But at the end you want it in the grub menu, so this is the ultimate check.

OK, I have looked at the ./snapshots/grub-snapshot.cfg and it is not as expected but my test was numbered 164 and reference to it is listed:-

HP-Z640-1:/.snapshots # cat grub-snapshot.cfg
if [ -z "$extra_cmdline" ]; then
  submenu  "Start bootloader from a read-only snapshot" {
    if [ -f "/.snapshots/164/grub-snapshot.cfg" ]; then
      source "/.snapshots/164/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/163/grub-snapshot.cfg" ]; then
      source "/.snapshots/163/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/162/grub-snapshot.cfg" ]; then
      source "/.snapshots/162/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/161/grub-snapshot.cfg" ]; then
      source "/.snapshots/161/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/160/grub-snapshot.cfg" ]; then
      source "/.snapshots/160/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/158/grub-snapshot.cfg" ]; then
      source "/.snapshots/158/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/156/grub-snapshot.cfg" ]; then
      source "/.snapshots/156/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/155/grub-snapshot.cfg" ]; then
      source "/.snapshots/155/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/154/grub-snapshot.cfg" ]; then
      source "/.snapshots/154/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/153/grub-snapshot.cfg" ]; then
      source "/.snapshots/153/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/152/grub-snapshot.cfg" ]; then
      source "/.snapshots/152/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/151/grub-snapshot.cfg" ]; then
      source "/.snapshots/151/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/150/grub-snapshot.cfg" ]; then
      source "/.snapshots/150/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/149/grub-snapshot.cfg" ]; then
      source "/.snapshots/149/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/148/grub-snapshot.cfg" ]; then
      source "/.snapshots/148/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/145/grub-snapshot.cfg" ]; then
      source "/.snapshots/145/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/144/grub-snapshot.cfg" ]; then
      source "/.snapshots/144/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/141/grub-snapshot.cfg" ]; then
      source "/.snapshots/141/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/140/grub-snapshot.cfg" ]; then
      source "/.snapshots/140/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/139/grub-snapshot.cfg" ]; then
      source "/.snapshots/139/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/138/grub-snapshot.cfg" ]; then
      source "/.snapshots/138/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/137/grub-snapshot.cfg" ]; then
      source "/.snapshots/137/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/136/grub-snapshot.cfg" ]; then
      source "/.snapshots/136/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/135/grub-snapshot.cfg" ]; then
      source "/.snapshots/135/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/134/grub-snapshot.cfg" ]; then
      source "/.snapshots/134/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/133/grub-snapshot.cfg" ]; then
      source "/.snapshots/133/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/132/grub-snapshot.cfg" ]; then
      source "/.snapshots/132/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/131/grub-snapshot.cfg" ]; then
      source "/.snapshots/131/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/130/grub-snapshot.cfg" ]; then
      source "/.snapshots/130/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/101/grub-snapshot.cfg" ]; then
      source "/.snapshots/101/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/100/grub-snapshot.cfg" ]; then
      source "/.snapshots/100/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/99/grub-snapshot.cfg" ]; then
      source "/.snapshots/99/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/98/grub-snapshot.cfg" ]; then
      source "/.snapshots/98/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/95/grub-snapshot.cfg" ]; then
      source "/.snapshots/95/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/94/grub-snapshot.cfg" ]; then
      source "/.snapshots/94/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/73/grub-snapshot.cfg" ]; then
      source "/.snapshots/73/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/72/grub-snapshot.cfg" ]; then
      source "/.snapshots/72/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/17/grub-snapshot.cfg" ]; then
      source "/.snapshots/17/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/16/grub-snapshot.cfg" ]; then
      source "/.snapshots/16/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/15/grub-snapshot.cfg" ]; then
      source "/.snapshots/15/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/14/grub-snapshot.cfg" ]; then
      source "/.snapshots/14/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/13/grub-snapshot.cfg" ]; then
      source "/.snapshots/13/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/3/grub-snapshot.cfg" ]; then
      source "/.snapshots/3/grub-snapshot.cfg"
    fi
    if [ -f "/.snapshots/2/grub-snapshot.cfg" ]; then
      source "/.snapshots/2/grub-snapshot.cfg"
    fi
    if [ x$snapshot_found != xtrue ]; then
      submenu "Not Found" { true; }
    fi
  }
fi
HP-Z640-1:/.snapshots # 

So I shall re-boot now.

Does this file exist?

It does:-

HP-Z640-1:/.snapshots/164 # cat grub-snapshot.cfg

  if [ -f "/.snapshots/164/snapshot/boot/grub2/grub.cfg" ]; then
    snapshot_found=true
    saved_subvol=$btrfs_subvol
    menuentry  " openSUSE Leap 15.5 (5.14.21-150500.55.12,2023-08-07T08:24,Test_snapshot)" "/.snapshots/164/snapshot" "/@/.snapshots/164/snapshot" {
        btrfs_subvol="$3"
        extra_cmdline="rootflags=subvol=$3"
        export extra_cmdline
        snapshot_num=164
        export snapshot_num
        configfile "$2/boot/grub2/grub.cfg"
        btrfs_subvol=$saved_subvol
      }
  fi

HP-Z640-1:/.snapshots/164 # 

I am puzzled by the earlier command:-

alastair@HP-Z640-1:~> sudo ls -l /.snapshots/*/*.cfg
[sudo] password for root: 
ls: cannot access '/.snapshots/*/*.cfg': No such file or directory
alastair@HP-Z640-1:~> 

I had used sudo before as suggested but if I log in as root the command works OK. Usually if sudo does not work I get an error message but this time the message is different as I only get cannot access, which on reflection, comes to the same thing. Logging in as root I get the expected result:-

alastair@HP-Z640-1:~> su -
Password: 
HP-Z640-1:~ # ls -l /.snapshots/*/*.cfg
-rw-r----- 1 root root 518 Aug  7 09:24 /.snapshots/100/grub-snapshot.cfg
-rw-r----- 1 root root 519 Aug  7 09:24 /.snapshots/101/grub-snapshot.cfg
-rw-r----- 1 root root 514 Aug  7 09:24 /.snapshots/13/grub-snapshot.cfg
-rw-r----- 1 root root 520 Aug  7 09:24 /.snapshots/130/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/131/grub-snapshot.cfg
-rw-r----- 1 root root 525 Aug  7 09:24 /.snapshots/132/grub-snapshot.cfg
-rw-r----- 1 root root 521 Aug  7 09:24 /.snapshots/133/grub-snapshot.cfg
-rw-r----- 1 root root 518 Aug  7 09:24 /.snapshots/134/grub-snapshot.cfg
-rw-r----- 1 root root 519 Aug  7 09:24 /.snapshots/135/grub-snapshot.cfg
-rw-r----- 1 root root 520 Aug  7 09:24 /.snapshots/136/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/137/grub-snapshot.cfg
-rw-r----- 1 root root 525 Aug  7 09:24 /.snapshots/138/grub-snapshot.cfg
-rw-r----- 1 root root 521 Aug  7 09:24 /.snapshots/139/grub-snapshot.cfg
-rw-r----- 1 root root 514 Aug  7 09:24 /.snapshots/14/grub-snapshot.cfg
-rw-r----- 1 root root 518 Aug  7 09:24 /.snapshots/140/grub-snapshot.cfg
-rw-r----- 1 root root 519 Aug  7 09:24 /.snapshots/141/grub-snapshot.cfg
-rw-r----- 1 root root 523 Aug  7 09:24 /.snapshots/144/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/145/grub-snapshot.cfg
-rw-r----- 1 root root 520 Aug  7 09:24 /.snapshots/148/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/149/grub-snapshot.cfg
-rw-r----- 1 root root 514 Aug  7 09:24 /.snapshots/15/grub-snapshot.cfg
-rw-r----- 1 root root 525 Aug  7 09:24 /.snapshots/150/grub-snapshot.cfg
-rw-r----- 1 root root 521 Aug  7 09:24 /.snapshots/151/grub-snapshot.cfg
-rw-r----- 1 root root 520 Aug  7 09:24 /.snapshots/152/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/153/grub-snapshot.cfg
-rw-r----- 1 root root 525 Aug  7 09:24 /.snapshots/154/grub-snapshot.cfg
-rw-r----- 1 root root 521 Aug  7 09:24 /.snapshots/155/grub-snapshot.cfg
-rw-r----- 1 root root 515 Aug  7 09:24 /.snapshots/156/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/158/grub-snapshot.cfg
-rw-r----- 1 root root 513 Aug  7 09:24 /.snapshots/16/grub-snapshot.cfg
-rw-r----- 1 root root 520 Aug  7 09:24 /.snapshots/160/grub-snapshot.cfg
-rw-r----- 1 root root 524 Aug  7 09:24 /.snapshots/161/grub-snapshot.cfg
-rw-r----- 1 root root 525 Aug  7 09:24 /.snapshots/162/grub-snapshot.cfg
-rw-r----- 1 root root 521 Aug  7 09:24 /.snapshots/163/grub-snapshot.cfg
-rw-r----- 1 root root 515 Aug  7 09:24 /.snapshots/164/grub-snapshot.cfg
-rw-r----- 1 root root 514 Aug  7 09:24 /.snapshots/17/grub-snapshot.cfg
-rw-r----- 1 root root 502 Aug  7 09:24 /.snapshots/2/grub-snapshot.cfg
-rw-r----- 1 root root 502 Aug  7 09:24 /.snapshots/3/grub-snapshot.cfg
-rw-r----- 1 root root 513 Aug  7 09:24 /.snapshots/72/grub-snapshot.cfg
-rw-r----- 1 root root 514 Aug  7 09:24 /.snapshots/73/grub-snapshot.cfg
-rw-r----- 1 root root 513 Aug  7 09:24 /.snapshots/94/grub-snapshot.cfg
-rw-r----- 1 root root 514 Aug  7 09:24 /.snapshots/95/grub-snapshot.cfg
-rw-r----- 1 root root 513 Aug  7 09:24 /.snapshots/98/grub-snapshot.cfg
-rw-r----- 1 root root 515 Aug  7 09:24 /.snapshots/99/grub-snapshot.cfg
HP-Z640-1:~ # 

My bad once again but this still does not explain why I see nothing on the boot menu.