Highly portable Manjaro installation on USB drive

Hello everyone!
I’m planning to create highly portable installation of Manjaro on external USB drive (NVME enclosure). My main system is Intel laptop with UEFI but I would like to make this installation as portable as possible. Default EFI installation doesn’t boot on CSM and secure boot systems, so I have few questions:

  1. I’ve read that Shim binary is updated more slowly than standard GRUB. Is it a serious problem? In my understanding having standard GRUB as a main bootloader and Shim for secure boot is pointless in terms of security. Should I just install Shim instead of GRUB for EFI booting?

  2. Is it possible to have multiple bootloaders upgrading automatically (system updates) with no need of tinkering when upgrading kernel?

  3. How should I make dual bootloader setup (as I understand it’s the only option) for booting both in BIOS and EFI systems. Should I use MBR o GPT? I suppose MBR and secure boot are mutually exclusive. I would be very grateful for exact setup in terms of partitioning or small tutorial.

My focus is to make installation which works on my Intel laptop with EFI and supports most of modern hardware (so I suppose secure boot is the main objective here). Nevertheless it would be great if older hardware with BIOS worked as well (I don’t mean ancient hardware but something like Phenum II systems).

Thanks in advance for your answers. Any other suggestions on how to make installation more portable and support wide variety of hardware will be much appreciated. :slight_smile:

Be aware of the :dragon:

1 Like

Thanks for the response. It’s very informative but it doesn’t provide answers for questions 1 and 2. I’m a bit skeptic about installing desktop environment manually. I would like to install a default system with default drivers and packages as I believe it will be better for compatibility with different hardware. I’m not convinced by my skills about maintaining system built by myself and I worry about self inflicted errors, so I would prefer to construct boot environment, make default install and eventually make some amendments post install. I don’t want to sound demanding but I’m not that tech savvy jet.

Nevertheless thanks again for the help! :smiley:

What does the " :dragon: " mean?

The topic referenced contains the instructions for making the device bootable from both BIOS based and EFI based systems.

:dragon: means - you cannot install to a portable device using the graphical installer - when you install the system manually there is pitfalls when generating the fstab - as it may insclude reference to e.g. swap which will be non existing when you move the device.

If you try to install to a removable device - using Calamares graphical installer - you will find it is not supported. If for some reason Calamares thinks your device is not removable - then you may - probably will - get boot problems when you remove the device.

As for your question on which partition layout to use - you should use GPT.

When you want to make a truly portable system - only one bootloader will ever work - GRUB.

And the reason I point you in the direction - is because it is the only viable method to create a portable system.

You could take a look at the experimental Xfce USB project at Downloading File /xfce-usb - Manjarolinux Community - OSDN


I have successfully installed Manjaro on USB HDD using Calamares default “Erase disk” option. Everything is contained on the drive and installation did not modify other OSes. I didn’t use swap so I can’t tell if it works but it boots properly on at least 4 systems using EFI and I don’t see a reason for swap file/partition to make problems. If you want to make portable Manjaro install and don’t need to boot in legacy environments graphical installer can deliver.

For my use case I needed legacy boot support so I would like to thank @linux-aarhus for tutorial he provided. I used it partially to create partition table and then installed default Manjaro KDE using Calamares. Installer failed to prepare boot environment so I formatted /boot and /boot/efi partitions and installed grub for EFI and BIOS. To install kernel I had to chroot from live system to installed one and install new kernel (/etc/resolv.conf does not contain nameservers by default so it needs to be taken care of if you want to download packages from internet using chroot). Then I updated-grub and it works flawlessly both in BIOS and EFI environments.


This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.