• 2 Posts
  • 9 Comments
Joined 4 months ago
cake
Cake day: January 14th, 2025

help-circle
  • Yeah sorry I’ve not come across that error before so I have no idea how to fix it without copying the partitions again. I don’t think its anything to do with you not using an Opensuse image, other distros should be just as capable of handling Btrfs. I understand if you’ve had enough by now and would rather just do a fresh install! However if you would still like to try cloning it I’ve tested and it should be possible using gparted (assuming you can shrink the existing partition small enough to begin with). Small disclaimer, its possible to lose data if shrinking the partition goes wrong so don’t do this if you don’t have an existing backup or you’re not comfortable potentially losing the data!

    First boot into the live USB with your old HDD connected. use gparted to shrink the main root partition and apply the changes. Just pick a size thats below the space available on the new drive but a bit bigger than the minimum size you can shrink it to, you can resize it properly once its copied over. Then reboot and check that the HDD is still bootable. Then boot back into the live USB with both drives connected, and delete all the existing partitions off of the new SSD and apply the changes. Open the terminal and run lsblk to check if the swap partition is mounted, you’ll probably see /dev/sda3 is listed as swap, if it is run sudo swapoff /dev/sda3 otherwise it won’t let you copy it.

    You should then be able to use gparted to copy/paste the partitions between the 2 disks. When you copy the swap partition make sure it goes at the end of the disk so you can grow the main partition afterwards. For some reason when testing in a VM I also found I had to increase the size of the swap partition by 1MiB or the copy process kept failing. Apply the changes, then grow the main partition to fill the remaining empty space and apply the changes once again. After that you should be able to reboot and disconnect the HDD and you should have a usable system! If you want to use the existing HDD as a data drive I would just delete all the partitions after plugging it in and create a new one, that will ensure it has a new UUID. However I would wait a couple of days to make sure you’re happy everything cloned properly!


  • Well that sounds promising! In that case I suspect it is just that the new partitions have different UUIDs so you probably just need to fix the fstab and regenerate the grub.cfg. Definitely check the UUIDs with sudo blkid and let me know if they are different. Also its probably worth checking the default Btrfs subvolume hasn’t changed. If you mount both drives and run sudo btrfs subvolume get-default /mountpath for both of them and check that the outputs match. If they don’t paste both outputs here and we should be able to fix it.

    You are almost certainly booting UEFI as your system looks to be quite new, probably the easiest way to check is to look at your fstab, on Opensuse I believe there should be a volume mounted to /boot/efi if you’re UEFI booting.

    Also just to help with the next part could you let me know which distro you’re using to boot from USB? From one of your other comments I think its Mint isn’t it?


  • Sorry I’m a little unfamiliar with how Opensuse does things so that wasnt as useful as i was hoping lol. Did you have the HDD and SSD connected at the same time when you booted? If you did then you’ll want to disconnect the HDD first.

    Also when you get to the grub boot menu if you press e it will show you the config for the selected boot option, can you post a screenshot of that? You may also be able to tell if the root UUID listed there matches the one you expect from fstab. You can also remove splash=silent and quiet from the line beginning with linux and that may give you an actual error message, although it’s possible the boot process is failing before it even gets to that point. If you post the outputs here I can take a look

    Edit: looking at your screenshot again I may have misunderstood what was happening, is it failing to even load the boot menu? Also do you know if it’s booting from BIOS or UEFI?

    Edit 2: I’ve thought about this some more and its looking like it might be a grub error rather than anything to do with subvolumes. There’s a few things which are probably worth checking before going any further. First boot from your USB with both drives connected and run sudo blkid, assuming your SSD is /dev/sda and your HDD is /dev/sdb, do the UUIDs for the partitions on /dev/sda and /dev/sdb match?

    Again assuming /dev/sda is the new SSD run sudo mount /dev/sda2 /mnt and sudo mount /dev/sda1 /mnt/boot/efi then check if the following 2 files exist: /mnt/boot/grub2/grub.cfg /mnt/boot/efi/EFI/opensuse/grub.cfg