Migrating Manjaro to new drive (old drive is sata, new is nvme)

Hello!

I bought a new laptop recently, and i wanted to migrate my manjaro install that i have been using for the past 2 years or so to it. My old device had a sata ssd, while the new drive is nvme.

I have used clonezilla to succesfully clone my entire drive to a remote samba share. I have read other threads on this topic but was not able to make it work.

The threads i have found to be relevant:

This thread above does not explicitly state the issue was solved by the described method, but im assuming that that is the case as there was no follow up by OP

The situations described in the two threads above are nearly identical to mine, except for the presence of a windows install, and in the second thread the fact that only a partition is cloned. What i am getting out of these posts is that it basically comes down to restoring the image of the drive, and after that correcting the fstab file and reinstalling GRUB.

As i have installed and used arch linux by the arch wiki before, i tried to follow the relevant steps for doing this from there. (Installation guide - ArchWiki) (GRUB - ArchWiki)

I am operating from a manjaro live usb (if relevant it is a ventoy usb).
Exactly what i tried:

  1. Mounting all the partitions
sudo mount /dev/nvme0n1p2 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo swapon /dev/nvme0n1p3 
  1. I skipped the installation part of the guide, and went on to generate the fstab file. The command
    sudo genfstab -U /mnt >> /mnt/etc/fstab mentioned in the guide did not work on its own, as i got an error permission denied, so i used the following command from this thread on the arch forum.
sudo genfstab -U /mnt | sudo tee /mnt/etc/fstab
  1. After this i chrooted into my manjaro install with sudo arch-chroot /mnt and then installed GRUB according to the arch guide.
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro
grub-mkconfig -o /boot/grub/grub.cfg

Now i would expect to be able to exit the live iso and boot into my original manjaro install, yet it does not boot properly. It tries to, i can see some of the green initilization text show up.

I hope i have been as clear as i can, and if there is any need for more information do ask!

2 Likes

I have managed to grab this picture of my screen, where the first line jumps out to me;

It reads:
ERROR: resume hibernation device 'UUID= ... ' not found

I am not sure exactly what this means or if this is relevant.
The uuid’s in the fstab match the ones that i see in gparted on the live usb.

Maybe a stupid answer but why not simple do a fresh install and then migrate all your private files to the new system. All your programs and so on is easy to install again. And you could easily do a backup on all your files you want on the new system.

Something’s wrong here: in order to exit the liveUSB, you need to shutdown or reboot, not hibernate…
Have you tried starting your system with the liveUSB plugged in?

I have thought about this, but id like to mess around as little as i can with the “actual install” itself. If this way of going about proves to be too convoluted or too much work for little gain ill probably end up with a solution like you suggested. For now id like to see if this does lead anywhere.

I always just shutdown the liveUSB, either by terminal or the gnome menu in the top right so i am just as confused as to why it would try to resume from a hibernated state. Maybe the original installs last state was a hibernated one? I have never used hibernation on it so it seems unlikely just spitballing.

Rebooting with the usb drive still in the machine does not change anything, and shows the same first line noted in my comment with the image.

There might be something wrong with the boot configuration.
For instance, i see in the below documentation a device shall be defined as swap device. You could try checking your configuration through the liveUSB.
https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Required_kernel_parameters

I have no experience with modifying kernel parameters, so it is not entirely obvious to me what i should do.

In the link you shared i see this mentioned:

The kernel parameter resume=swap_device must be used.

And the page about kernel parameters mentions three ways of passing these parameters, is this largely preference which way i should do this? I am going to try to pass them through GRUB, this seems like the best choice now, will update if it worked out. This is new territory for me, so ill be figuring things out.

I also noticed that according to the wiki, Power management/Suspend and hibernate - ArchWiki id have to configure the initramfs for hibernation, which is something that i am quiet sure of i have never done, would i have to do that aswell?

Rather than setting that kind of configuration, my point was about finding an existing one in your system, that would be responsible for your issue.

Oh yes, that makes sense. I have found something that is likely causing the issue. (Im not sure what the right terminology is, correct me if i say anything weird / wrong) In the menu where i can see / edit the kernel parameters, the resume parameter with the faulty uuid is indeed passed. How would i go about removing this parameter from GRUB permanently?

Disappointingly when removing this faulty parameter on boot i basically get the same behaviour, but without the error of the missing hibernation device.

What could be a next step in identifying the problem?

Following this guide i have managed to boot into the install, with the kernel parameter rw 3 enabled. So the issue is not in booting into the install, it is in loading my DE in my case gnome. I am working on identifying the problem, currently looking to try and run sudo systemctl gdm (which just halts and displays only a cursor) and then checking for errors in a different tty2. Ill post an update tomorrow!

If there is any better way to identify the problem with starting gdm feel free to let me know, and already huge thanks for helping!

Okay i tried some more things. As i mentioned i am able to boot into my cloned manjaro install, but the issue is now starting gnome. When i start gnome after i have booted, it will just hang, and when i try to start it on boot by sudo systemctl enable gdm, it also does not work. I am able to switch to a different tty however.

When looking at the journal, i noticed that the timestamps where incorrect, so i redid the timezones steps according to the arch install wiki to correct it, which did make the timestamps correct, but did not make gnome work.

sudo journalctl -u gdm -b gives the following:

Feb 11 01:31:29 appelsaus systemd[1]: Starting GNOME Display Manager...
Feb 11 01:31:29 appelsaus systemd[1]: Started GNOME Display Manager.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1250 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1250 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1256 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1256 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1262 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1262 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1268 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1268 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1274 was already dead.
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:39 appelsaus gdm[793]: Gdm: Child process -1274 was already dead.
Feb 11 01:31:40 appelsaus gdm[793]: Gdm: GdmDisplay: Session never registered, failing
Feb 11 01:31:40 appelsaus gdm[793]: Gdm: GdmLocalDisplayFactory: maximum number of X display failures reached: check X server log for errors
Feb 11 01:31:40 appelsaus gdm[793]: Gdm: Child process -1280 was already dead.

When i turn on debug mode in /etc/gdm/custom.conf it looks like this: (appelsaus is my devices name)

Feb 11 02:01:28 appelsaus systemd[1]: Starting GNOME Display Manager...
Feb 11 02:01:28 appelsaus systemd[1]: Started GNOME Display Manager.
Feb 11 02:03:26 appelsaus systemd[1]: Stopping GNOME Display Manager...
Feb 11 02:03:26 appelsaus systemd[1]: gdm.service: Deactivated successfully.
Feb 11 02:03:26 appelsaus systemd[1]: Stopped GNOME Display Manager.
Feb 11 02:03:26 appelsaus systemd[1]: Starting GNOME Display Manager...
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: Enabling debugging
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: Changing user:group to gdm:gdm
Feb 11 02:03:26 appelsaus systemd[1]: Started GNOME Display Manager.
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: Successfully connected to D-Bus
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmManager: GDM starting to manage displays
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: enumerating seats from logind
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: System doesn't currently support graphics
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: Getting session type (prefers wayland, falling back: no)
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: New displays on seat0 will use wayland
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: seat0 doesn't yet support graphics.  Waiting 10 seconds to try again.
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: received VT change event
Feb 11 02:03:26 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: VT is 2 at startup
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: received VT change event
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: VT changed from 2 to 1
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: creating new display on seat0 because of VT change
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: System doesn't currently support graphics
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: Getting session type (prefers wayland, falling back: no)
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: New displays on seat0 will use wayland
Feb 11 02:03:28 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: seat0 doesn't yet support graphics.  Waiting 10 seconds to try again.
Feb 11 02:03:30 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: received VT change event
Feb 11 02:03:30 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: VT changed from 1 to 2
Feb 11 02:03:30 appelsaus gdm[1772]: Gdm: GdmLocalDisplayFactory: active VT is not initial VT, so ignoring

Where the line Gdm: GdmLocalDisplayFactory: System doesn't currently support graphics jumps out to me the most. Maybe the issue is driver related? This manjaro install was originally installed with an intel chip and intel graphics, while my new device has amd graphics (vega 7). Though, shouldn’t there be amd drivers included in the kernel?

I have tried running gdm on X, by uncommenting the corresponding line in /etc/gdm/custom.conf, this did not change anything.

I don’t use GDM nor Wayland, so my skills are limited here.


I spotted this, it may be relevant:
https://wiki.archlinux.org/title/GDM#Black_screen_on_AMD_or_Intel_GPUs_when_an_NVidia_(e)GPU_is_present


I’ll forward you to this guide for handling your GPU drivers:
https://wiki.manjaro.org/index.php/Configure_Graphics_Cards/en

The first you send mentions /etc/lib/gdm-disable-wayland, but this file is not present on my machine. Neither is the folder /run that is mentioned.

Ill have a look at that! If i find anymore issues, will i be better off starting a new thread since i have deviated from the original topic quite alot or is it fine to keep posting here?

As long as it is related to your current issue – migrated installation does not boot (graphically) – you are fine proceeding here.

i have done the exact same a few months ago

  • i took an rsync timeshift backup of my current system including everything
  • i installed the exact same manjaro flavor on my nvme using the same user name ,host etc
  • i booted to a live usb end copied the nvme fstab, restored my timeshift backup to nvme
  • still from the live usb i edited the fstab of the nvme to replace the system uid with the previous one i copied before

everything went ok but i fixed permissions of the home folder just in case

sudo chown -Rv $(id -u):$(id -g) ~