Dual boot (Restart) problem

Hi everyone

My desktop is dual-boot between Win-7(x64) and openSUSE-13.2 (x64)

When I click and the hold the restart button it gives me a lot of options…, all starting with the words ‘Bootable Snapshot’.

What does this mean??

Previously (in versions prior to 13.2) it used to give me a nice list of all theOS I could boot into.

has it got something to do with ‘Snapper’? which they introduced in 13.2.

BTW, I am too lazy and haven’t bothered to look into/configure ‘Snapper’ yet :slight_smile:

My root partition is in BrtFS and my /home is in EXT4; lines from my /etc/fstab…

UUID=ceb34777-721c-4840-837e-f6e132a28140 / btrfs defaults 0 0

UUID=ceb34777-721c-4840-837e-f6e132a28140 /boot/grub2/i386-pc btrfs subvol=boot/grub2/i386-pc 0 0

UUID=ceb34777-721c-4840-837e-f6e132a28140 /boot/grub2/x86_64-efi btrfs subvol=boot/grub2/x86_64-efi 0 0
UUID=16f49832-8001-4144-90fb-c34cc77a5846 /home ext4 noacl 1 2
UUID=ceb34777-721c-4840-837e-f6e132a28140 /opt btrfs subvol=opt 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /srv btrfs subvol=srv 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /tmp btrfs subvol=tmp 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /usr/local btrfs subvol=usr/local 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/crash btrfs subvol=var/crash 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/lib/mailman btrfs subvol=var/lib/mailman 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/lib/named btrfs subvol=var/lib/named 0 0

UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/lib/pgsql btrfs subvol=var/lib/pgsql 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/log btrfs subvol=var/log 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/opt btrfs subvol=var/opt 0 0
UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/spool btrfs subvol=var/spool 0 0

UUID=ceb34777-721c-4840-837e-f6e132a28140 /var/tmp btrfs subvol=var/tmp 0 0
UUID=41e4e82d-eac7-4b29-a3d9-c25b8540ce20 swap swap defaults 0 0
UUID=E60648E40648B6F9 /mnt/HDD-1/C-DRIVE/ ntfs-3g ro,users,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8 0 0
UUID=0566319B40C7027D /mnt/HDD-1/D-RIVE/ ntfs-3g user,users,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8 0 0
UUID=18d19eee-2c5c-4a71-9681-371412c08809 /mnt/HDD-1/EXTRA/ ext4 user,noacl 1 2
UUID=8b313650-ea3d-471d-aaf0-835a8f3c4517 /mnt/HDD-2/STORAGE ext4 user,noacl 1 2

I have attached an image of the problem in the hope of making things more clear
https://drive.google.com/open?id=0B-Fe1hFb-YbITHh4OWZaaUo1ajg
Thanks again everyone
Emon

Btrfs creates snapshots of the system hourly, and allows to boot from an older snapshot directly.
You should also have an option to “Boot from an older Snapshot” (or similar) in the Bootmenu.

You could get rid of those “Bootable Snapshot” entries by setting “SUSE_BTRFS_SNAPSHOT_BOOTING=false” in /etc/default/grub.

But: Do NOT use KDE’s Restart menu to select a boot entry to boot with btrfs!
You WILL lose your boot menu.

If you want to use that menu, reinstall with a different root filesystem (ext4 e.g.), or create a separate /boot partition.
But in either case you will lose the ability to boot snapshots.

BTW, I am too lazy and haven’t bothered to look into/configure ‘Snapper’ yet :slight_smile:

Snapper is enabled by default, and creates a snapshot every hour (they are cleaned up daily), and before/after you install/update packages.

Thanks for the quick response wolfi323

But: Do NOT use KDE’s Restart menu to select a boot entry to boot with btrfs!
You WILL lose your boot menu.

Thanks for the warning, learned it the hard way a couple of weeks back :-p

If you want to use that menu, reinstall with a different root filesystem (ext4 e.g.), or create a separate /boot partition.
But in either case you will lose the ability to boot snapshots.

I am not sure if I got this right, you are saying although I have a separate (ext4) /home partition I can still boot snapshots; but if I get a separate (ext4) /boot partition then I won’t able to boot snapshots???

If so, then can you please explain why this is the case?? I might ditch BrtFS altogether, as I am not a developer/tester, and have found very little use for it myself.

Thanks
Emon

Yes.
Because the Kernel and the initrd are on /boot, so they are not contained in any snapshot if you use a separate /boot.
If you boot a snapshot, the kernel and initrd would not match your system (in particular the kernel modules in /lib/modules/), and the system might probably even fail to boot. So this is not supported at all and the option to boot from a snapshot is even disabled in that case.

You can still revert files to previous snapshots though.

Humm…, that makes a lot of sense.

Thanks wolfi323

Emon

It should be possible to install grub2 from Base:System/openSUSE_13.2; it includes patches from mchang for storing grubenv in unused space on btrfs member disk. At least in case of single disk (which is the only one officially supported by YaST anyway) I expect it to work.

I do not really follow snapper patches so I cannot say if there is any dependency on factory snapper.

Ok. Good to hear that this has been implemented meanwhile… :slight_smile:

Still, with “SUSE_BTRFS_SNAPSHOT_BOOTING=true”, KDE4 fails to parse the grub.conf properly and will show those bogus “Bootable Snapshot” entries in the Restart menu, which don’t even work.
At least with the Grub2 from included in 13.2. I don’t think that the generated grub.conf has been changed too to make this work again.

I’m not sure at the moment whether it will also show working options for the standard boot entries though.

FYI, as I “played” with this over the weekend:
Unfortunately, Base:System is not built for 13.2 at all any more.

But grub2 packages with those patches are also available in mchang’s home repo:
https://build.opensuse.org/package/show/home:michael-chang:sle-12-merge/grub2
(they are not published, but you can download them via the web interface or osc)

I also patched kdm to ignore the “Bootable snapshot” submenu, and this function works great again now, exactly like it does with a different filesystem.
If you want to try them, my patched packages are available here for 13.2:
http://download.opensuse.org/repositories/home:/wolfi323:/branches:/openSUSE:/13.2:/Update/standard/
(only kdm is necessary)

You can’t choose a specific snapshot in KDE of course, just the standard boot entries.
I don’t think it would be feasible to show all snapshots in this small popup menu, and I also don’t think it’s even possible to tell grub2-once/grub2-reboot to boot a specific snapshot.

It could be possible if every menu entry for every snapshot had unique menu ID (menuentry --id XXX). I think every subvolume in btrfs has unique UUID which could be used as part of menu entry ID.

grub2-once needs some love anyway.