this post was submitted on 16 Sep 2023
34 points (97.2% liked)

Linux

47337 readers
1180 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Hi everyone!

I'm a happy Gnome user on Fedora 38 on my Surface Go 1. Still, as I'm not an experienced Linux user, I'd want to discover some other distros and some other DE like KDE.

I'm planning on installing a distro with KDE on Gnome Boxes, but I wanted to know if there was a way to export it and make it a real OS (no VM) at one point.

To get to the point where I had my perfect workstation installation, it took me quite some time and I wouldn't want to waste my time creating my perfect VM and not make it real at one point.

I don't know if it could be done by cloning my virtual disk with Clonezilla for instance.

I'm sorry if my question ain't clear, it's just that I may not have the right vocabulary to talk about such things.

you are viewing a single comment's thread
view the rest of the comments
[–] d3Xt3r@lemmy.nz 29 points 1 year ago* (last edited 1 year ago) (1 children)

It's not that difficult do virtual > physical migrations in Linux. Linux is inherently portable, thanks to the kernel, you don't need to worry about stuff like drivers, at least for drivers which are part of the kernel (so not counting proprietary nVidia drivers - which you wouldn't be using in a VM anyways.)

Roughly, the process would go like this:

  1. Use qemu-img convert to convert your virtual disk to a raw image format
  2. Use dd to write the image to your physical disk
  3. Use gparted to resize/expand partitions on the disk as required
  4. Examine the disk using fdisk/blkid to see which device node your disk is using (eg /dev/nvme0n2 etc), then mount the new root volume and edit the fstab to the correct disk paths if required
  5. Chroot into the disk and reinstall your bootloader (GRUB or systemd-boot etc). The process for this will vary based on your bootloader, and your distro. Usually most distros should have some wiki or documentation on how to repair GRUB or w/e from chroot.
  6. Boot from the new disk and test. You may need to manually add an entry to your UEFI boot entries, if it's not showing up as an option in your UEFI boot menu.
  7. You may need to potentially install some extra stuff, for instance, you may need to install the Vulkan driver package for your GPU, maybe the CPU microcode package etc.

This is all of course, assuming you're migrating to a dedicated hard drive and you're only going to be using a single OS. On the other hand, if you're migrating on to an existing disk (dual-booting) the process would be a bit different - instead of dding the entire image, you'd use losetup and mount your raw disk image as a loop device, then use something like clonezilla or GParted to copy over only specific partitions excluding the ESP. After that, the rest of the process should be similar to the above, except you won't need to reinstall your bootloader - but you may need to update it's config to detect the new OS.

I've not accounted for complex setups btw, such as using LUKS or LVM. But the process still remains roughly the same, you'll just need a few additional commands to decrypt the partition before you copy them over.

In saying that, it may be easier to just reinstall the distro fresh on your real hardware. There are scripts out there to export your dotfiles and package lists, to make the migration easier.

Thanks for the detailed answer.

It sounds way too complicated for me so I’ll probably give it a try in a VM and then install everything from scratch if I want use it as a daily.