Skip Navigation

Has anyone ever cloned a disk with the GPT partition scheme?

So, I'm trying to clone an SSD to an NVME drive and I'm bumping into this "dev-disk-by" error when I boot from the NVME (the SSD is unplugged).

I can't find anyone talking about this in this context. It seems like what I've done here should be fine and should work, but there's clearly something I and the arch wiki are missing.

32

You're viewing a single thread.

32 comments
  • You need to make sure both /etc/fstab and the boot cfg are pointing to the new partitions. Since they are using uuid, if the uuid changes due to the method used to clone, it won't find the disk partition.

    • They're identical to what they were in the original drive, I've verified it in gparted on a live image.

      It's driving me crazy because I can literally find this drive by that UUID in a live image, but when I go to boot the system has no idea what that is.

      • I'm confused. You say that you're booting off that drive that it can't find. Like, this is your root drive?

        But I believe that the kernel finding the root drive should happen much earlier than this. Like, you've got systemd stuff there on the screen. For that to happen, I'd think that you'd need to have your root drive already up and mounted. Grub hands that off to the kernel, believe that it's specified in /etc/default/grub on my Debian system, then gets written out when you run sudo update-grub.

        If I'm not misunderstanding that you are saying that the drive in question is your root drive, are you sure that this isn't happening because there's a reference to the drive -- maybe another partition or something -- in /etc/fstab is failing to find something?

        Or maybe I'm just misunderstanding what you're saying.

        EDIT: if you just want to get it working, unless you've got some kind of exotic setup, I expect that you can probably boot into a very raw mode by, from grub, passing init=/bin/sh on the kernel command line. A lot of stuff won't be functional if you do that, since you'll just be running a shell and the kernel, but as long as you have a root filesystem, it'll probably come up. Then I'd mount -o remount,rw / so that you can modify your root drive, and then fiddle your /etc/fstab into shape. Probably a live distro is more comfortable to work in, but if all you need is to get the regular system up, I'd think that fiddling with /etc/fstab is likely all you need to do that.

        EDIT2: and then I'd probably compare the output of blkid to your fstab, from within the boot in your regular system, if that isn't what you already did.

        • I'm giving up on my dd attempt and trying clonezilla (a highly regarded option it seems).

          But yeah, welcome to exactly what's driving me crazy. The dd "worked", grub loads, it starts loading Linux ... and then it gets caught trying to find... itself (?)

          Like the exact drive that's missing is the drive it would have to find to even be partially operational. The other drives weren't touched and the original drive is unplugged.

          There is a btrfs subvolume and they're both part of the same drive ... but it was also copied bit for bit.

          IDK... We'll see whether clonezilla works. I've been using Linux over ten years, it's been a long time since I've been this confused.

32 comments