[SOLVED] GNOME (18.0.2) fails to boot from an external HDD


Your sda is for UEFI (GPT) mode, while your sdb is for MSDOS/Legacy (MBR).

  1. Was the VM you used to install Manjaro inside Parrot?
  2. What mode was the VM booting, UEFI or MSDOS?
  3. When you choose Manjaro drive (sdb) from BIOS menu, do you select a UEFI entry, MSDOS (plain w/o UEFI) or what exactly?
  4. Do you want to have Manjaro working on “real” HW or VB?


Yes, my internal drive is GPT, while my external drive is MBR

  • VM I used is installed in Windows OS
  • VM uses MSDOS (BIOS) boot mode.
  • BIOS menu doesn’t include any UEFI texts when selecting to boot Manjaro drive.
  • I want to have Manjaro working on real HW both in my internal and external drive.

Sorry for the delay, I have to confirm everything from booting menu up to my VM.


Follow @gohlip 's instructions to boot to Manjaro and re-install grub to sdb (check actual name, it maybe different)

After that and any possible errors, we can assume why (maybe) there were problems.


This is just an addition, this is what my boot menu screen looks like


Is your UEFI BIOS set to “Only UEFI”, or mixed “UEFI/UEFI Legacy”?


I have tried it and still unable to boot Manjaro OS.

These commands executed successfully:

But resulting with this error:

I will try this again.


Wait, I’ll double check my BIOS settings.


Ok, so I tried booting again from GRUB prompt following @gohlip instructions, but still gives me the same error above. Seems like root and swap partitions are not found.

Also, I checked my BIOS settings and found CSM is enabled. Both UEFI and Legacy are supported.


Please try again and check if this command has output, or what error

grub> search.file /etc/manjaro-release

(it just searches, without assigning to $root)

From the reports you gave it seems grub cannot find the Manjaro partition, which happens IIRC when in different boot mode than it is installed.


I think you were right. Installing Manjaro from VM live was the actual problem :pensive:


It is a general statement…
From your posts, it sounds like it “could” be possible to use it, BUT the Grub image used to boot cannot find the properly identified with UUID partition. This sounds like a UEFI/MSDOS boot mode conflict. All these are not credible, until @gohlip confirms.

A last try, as I requested, (check what that grub command gives) might verify better…


The command outputs the root partition:


Can you check/post installed Manjaro /etc/fstab ? (mount the partition and find it)


Contents of my Manjaro /etc/fstab file (mounted from Parrot OS):

# /etc/fstab: static file system information.
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=e4a839d4-cea6-4eb4-bd70-44381795ad6f /              ext4    defaults,noatime 0 1
UUID=9cce0b51-e835-45f4-a8c6-479351ace79d swap           swap    defaults,noatime 0 2


It is OK.

Now, we can only wait for @gohlip to review and make a better assesment.

Note: This is a “Knowledge hunt”. The real solution is to install Manjaro normally, with a Live Manjaro media. …unless your hardware is not capable…

I go to sleep now. Be well!


Thank you very much :grin:

I was just assuming that installation from VM live will work just like what I did with Xubuntu (guess Arch-based distros have different installation config/procedures than Debian-based distros). But I guess I should just properly install it from a bootable USB.

Once again, thank you so much for the time spent here. I really appreciate it :slightly_smiling_face:

Just reply here whenever you like :slightly_smiling_face:


From you last screen shot, you got
hd0, msdos2

Correct! But why did you stop ??


But now we know your Parrot is uefi and your manjaro is bios-legacy (bad thing!!) so the grub-install command must be

Don’t stop, continue all the way and including to booting up to Parrot and adding the custom.cfg to it.

ps: now you see why we need all the information that we requested.
your narrative of the situation is (not intentional) misleading.
parted -l (all disks, do not omit)

ps: now we all can see why it is not easier to have separate disks for different OS’s.
it may not be harder for @petsam :laughing:, but it is not easier.
Sure, easiest to have only 1 OS, but profligate and a waste of resource.


He did not. I asked him that to verify. Check previous posts, this in particular
In summary,
he used a VM inside Windows and booted using plop to a Manjaro ISO and installed on external drive in MSDOS mode.
Installed grub (or not, but there was no error in installer) at external MBR.
Then on booting, select external drive, grub has correct UUID for Manjaro root but when actually running, says cannot find UUID, which was found just before… (confirmed with search file in grub prompt ).
The rest you can read in commands outputs provided.
Maybe he can try chroot with your guide, but I don’t know if it’s possible from inside VM. I suppose he can do manual chroot from Parrot… There is a tutorial and wiki on that.

Edit: this is copied from a tutorial
In Parrot terminal, assuming Manjaro installation root on sdb2
Use these commands as root (with sudo)

mount /dev/sdb2 /mnt
    mount -t proc proc /mnt/proc
    mount -t sysfs sys /mnt/sys
    mount -o bind /dev /mnt/dev
    mount -t devpts pts /mnt/dev/pts/
    mount -o bind /run /mnt/run
    cp /etc/resolv.conf /mnt/etc/resolv.conf

    chroot /mnt

I am not sure if it needs to create those folders in /mnt before using mounts… If there is a relevant error, then it should :wink:


All he needs to do is use the grub from Parrot or from a livecd. And there is way which is outlined for him to boot Manjaro from Parrot grub later on.

I do not really understand the fixation with using only VM for everything. He might as well use livecd for everything which makes more sense, less resources and more of a ‘actual’ OS…

I guess the OP main goal is to boot Manjaro in VM too.
I will take my leave here. There is no point when a party wishes to do differently and I have no intention to convince otherwise. And we’re talking past each other too.

Good luck and as usual, cheers.

ps: see partner, it would be boring and lonely for me here without your abetment. :grin:


Thank you so much @gohlip and everyone who helped me here. Y’all guys are awesome :grin:

The cause of the issue was the installation from a VM. @petsam was right that I should just install it properly from an “actual” live CD (or bootable USB), which I did just now, so now I got both drives with working Manjaro installed (and it’s pretty awesome :star_struck:).

Lesson learned: “Always install a distro from a proper live CD, or bootable USB pendrive.”

You see, I’m only using the virtual machine (VM) method cause I don’t have an extra flash drive to create a bootable USB or burn the ISO to a CD. Since the method worked for Xubuntu and elementary OS, I decided to try it as well with Manjaro, but it failed and lead me to create a post here. But now I found a way around to avoid this type of installation method after searching for a while.

I ended up using an app called DriveDroid. It allows a PC to boot from ISO/IMG files stored on the phone. This way, I am able to boot from my Android device and install Manjaro properly. My beloved savior :yum:

I’m still a noob in Linux, so thank you guys again for helping and guiding me here :grin: (and also, understanding my bad communication skill :pensive:)

It is still unclear to me why the method worked for the two distros I tried but not with Manjaro. Is it a thing between Debian and Arch installation? Anyway, I’ll leave this all here. But if anyone wants to debug and see through this, just notify me :slightly_smiling_face: