How to Install VirtualBox on Fedora 44

Install VirtualBox on Fedora 44 with RPM Fusion. Covers akmods setup, Extension Pack, guest additions, and driver

Last updatedAuthorJoshua JamesRead time7 minGuide typeFedora

Running another operating system on the same Fedora machine is still one of the easiest ways to test software, build disposable lab environments, or keep a second desktop around for one Windows-only task. If you need to install VirtualBox on Fedora, RPM Fusion Free is the host package source to use because Fedora’s default repositories ship guest additions only, not the VirtualBox host application.

The package installs from a terminal on Workstation, Server, and minimal Fedora systems, but the VirtualBox Manager still needs an active graphical session when you want to open the GUI. This workflow configures Fedora as the VirtualBox host, builds the matching kernel modules, adds your account to vboxusers, and covers the optional Extension Pack plus guest additions for Fedora guests.

Install VirtualBox on Fedora

Fedora’s default repositories do not ship the VirtualBox host package. They do ship virtualbox-guest-additions for Fedora guest systems, which is a different package role covered later. Keep the host workflow on one source: use RPM Fusion Free for these commands, and do not mix it with Oracle repository packages unless you deliberately remove one source before switching to the other.

Update Fedora Before You Install VirtualBox

Refresh Fedora packages first so the kernel, the matching build files, and the later RPM Fusion module build start from a current baseline.

sudo dnf upgrade --refresh

These commands use sudo for package and module changes. If your account is not in the sudoers file yet, follow the guide to add a user to sudoers on Fedora before continuing.

If the upgrade installs a new kernel, reboot before continuing so the running kernel, the matching kernel-devel package, and the VirtualBox module build all line up.

Enable RPM Fusion for VirtualBox on Fedora

RPM Fusion Free carries the Fedora RPM package plus the akmod-VirtualBox module source. On Fedora 44, this package set resolves to VirtualBox 7.2.8 and builds against the active Fedora kernel when the matching kernel-devel package is installed. The rpm -E %fedora command prints your installed Fedora release so the release package matches your system.

FEDORA_VERSION=$(rpm -E %fedora)
sudo dnf install "https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VERSION}.noarch.rpm"

Confirm that the RPM Fusion Free repositories are enabled before you install the package.

dnf repo list --enabled | grep -i '^rpmfusion'

Relevant output includes the Free and Free Updates repositories for your Fedora release.

rpmfusion-free         RPM Fusion for Fedora 44 - Free
rpmfusion-free-updates RPM Fusion for Fedora 44 - Free - Updates

If you want the broader repository background as well, see how to install RPM Fusion on Fedora.

Install VirtualBox and Build Fedora Kernel Modules

Install the host package and its akmod companion together. The akmod-VirtualBox package pulls in akmods, which in turn requires gcc, make, and the matching kernel-devel package for the running kernel.

sudo dnf install VirtualBox akmod-VirtualBox

The first module build can take a minute or two on a slower VM. Running the build once right away keeps the first launch from racing the background akmods job.

sudo akmods --kernels "$(uname -r)"
sudo systemctl restart vboxdrv

Finish by checking that the loader service brought in the host modules cleanly.

sudo systemctl status vboxdrv --no-pager

Relevant output includes:

* vboxdrv.service - Linux kernel module init script
     Loaded: loaded (/usr/lib/systemd/system/vboxdrv.service; enabled; preset: enabled)
     Active: active (exited)

RPM Fusion appends its own suffix to the version string, which matters later when you build the Extension Pack download URL.

vboxmanage --version

Relevant output includes the base VirtualBox version followed by the RPM Fusion suffix.

7.2.8_RPMFUSIONr173730

Add Your User to the vboxusers Group on Fedora

VirtualBox uses the vboxusers group for USB access and similar passthrough features. The -aG flags append your account to the new group instead of replacing every supplementary group you already have.

sudo usermod -aG vboxusers "$USER"

Start a new login session after that change, then confirm that vboxusers appears in your group list.

groups "$USER"

Your username and other groups will differ. The important check is that vboxusers appears somewhere in the output.

Launch VirtualBox on Fedora

RPM Fusion installs both the GUI launchers (VirtualBox and virtualbox) and the CLI helpers (VBoxManage and vboxmanage). Search for VirtualBox in Activities, or start the Manager from a graphical terminal session:

VirtualBox

If you are connected over plain SSH or working on a Server/minimal Fedora install without a desktop session, the package can still be installed and updated there, but the Manager window will not open until a graphical session is available.

Install the VirtualBox Extension Pack on Fedora

The Oracle Extension Pack is optional, but it adds USB 2.0 and 3.0 passthrough, PXE ROM support, and a few host integrations the base RPM does not ship. The Extension Pack version must match the base VirtualBox version exactly, so strip the RPM Fusion suffix before you build the download URL.

Keep the same terminal open for the next commands so the VERSION, FILE, and URL variables stay available.

RAW_VERSION=$(vboxmanage --version)
VERSION=${RAW_VERSION%%_*}
VERSION=${VERSION%%r*}
FILE=Oracle_VirtualBox_Extension_Pack-${VERSION}.vbox-extpack
URL=https://download.virtualbox.org/virtualbox/${VERSION}/${FILE}

printf "Version: %s\nURL: %s\n" "$VERSION" "$URL"

Expected output:

Version: 7.2.8
URL: https://download.virtualbox.org/virtualbox/7.2.8/Oracle_VirtualBox_Extension_Pack-7.2.8.vbox-extpack

Download the matching Extension Pack and confirm that the file landed where you expect.

curl -fsSLO "$URL"
ls -lh "$FILE"

Relevant output includes the matching Extension Pack filename and a size around 20M. Your username and timestamp will differ.

-rw-r--r--. 1 joshua joshua 20M May 17 10:09 Oracle_VirtualBox_Extension_Pack-7.2.8.vbox-extpack

VBoxManage can accept the license non-interactively if you feed it the SHA-256 of the extracted license text. That keeps the install copy-and-pasteable in a standard shell session.

LICENSE_HASH=$(tar -xOf "$FILE" ./ExtPack-license.txt | sha256sum | awk '{print $1}')
sudo vboxmanage extpack install --replace --accept-license="$LICENSE_HASH" "$FILE"

Expected output includes:

License accepted.
Successfully installed "Oracle VirtualBox Extension Pack".

Verify the system-wide Extension Pack state with sudo vboxmanage, not the unprivileged wrapper, so you do not read stale per-user cache data.

sudo vboxmanage list extpacks

Expected output:

Extension Packs: 1
Pack no. 0:   Oracle VirtualBox Extension Pack
Version:        7.2.8
Revision:       173730
Edition:
Description:    Oracle Cloud Infrastructure integration, PXE ROM.
VRDE Module:
Crypto Module:
Usable:         true
Why unusable:

Remove the downloaded archive once the Extension Pack is in place.

rm -f "$FILE"

Install VirtualBox Guest Additions in Your VMs

Guest Additions are installed inside the guest operating system, not on the Fedora host. Use the guest’s native package when it exists, and fall back to the ISO installer when the guest distro does not package its own additions.

Install VirtualBox Guest Additions in Fedora Guests

Fedora guests can install the packaged additions directly with DNF, which is cleaner than mounting the ISO every time.

sudo dnf install virtualbox-guest-additions
sudo reboot

After the guest comes back, confirm that the additions package is present.

rpm -q virtualbox-guest-additions

Expected output:

virtualbox-guest-additions-7.2.8-1.fc44.x86_64

Install VirtualBox Guest Additions in Other Linux Guests

If the guest distro does not ship its own additions package, install that guest’s compiler toolchain and matching kernel headers first, then mount the Guest Additions ISO from the VirtualBox menu and run the installer.

sudo mkdir -p /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
sudo /mnt/cdrom/VBoxLinuxAdditions.run
sudo reboot

Install VirtualBox Guest Additions in Windows Guests

For Windows guests, choose Devices > Insert Guest Additions CD Image from the VirtualBox menu, then run VBoxWindowsAdditions.exe from the mounted drive if the installer does not start automatically. Reboot the Windows guest after the wizard finishes so display resizing, clipboard sync, and shared-folder support all pick up the new drivers.

Fix VirtualBox Problems on Fedora

Most Fedora VirtualBox failures fall into three buckets: the host modules did not finish building, Secure Boot blocked the modules, or a kernel update landed before akmods rebuilt the current tree. Start with the module build first, because it fixes the common rc=-1908 and missing-vboxdrv errors.

Fix VirtualBox Driver Build Failures on Fedora

If VirtualBox or vboxmanage reports Kernel driver not installed (rc=-1908), rebuild the host modules for the running kernel and reload the service.

Some upstream error text mentions virtualbox-dkms, but this Fedora RPM Fusion workflow uses akmod-VirtualBox to rebuild the host modules.

sudo akmods --kernels "$(uname -r)"
sudo systemctl restart vboxdrv

If the rebuild complains about missing kernel build files, check the exact kernel-devel package for the running kernel. For the broader background on Fedora’s split between userspace headers and module build trees, see how to install Linux kernel headers on Fedora.

rpm -q "kernel-devel-$(uname -r)"

Expected output:

kernel-devel-7.0.8-200.fc44.x86_64

Finish by checking the loader service again. If it still is not active, the build log usually tells you whether the problem is a missing kernel package or a Secure Boot signature rejection.

sudo systemctl status vboxdrv --no-pager

Relevant output includes:

* vboxdrv.service - Linux kernel module init script
        Loaded: loaded (/usr/lib/systemd/system/vboxdrv.service; enabled; preset: enabled)
        Active: active (exited)

Fix Secure Boot Errors with VirtualBox on Fedora

On UEFI systems, a successful akmods build can still leave vboxdrv unloaded if Secure Boot rejects the module signature. Install mokutil if you do not already have it, then check the current Secure Boot state.

sudo dnf install mokutil
mokutil --sb-state

Relevant output usually looks like one of these lines:

SecureBoot enabled
SecureBoot disabled
EFI variables are not supported on this system

The third line means the machine was not booted with UEFI support, so Secure Boot is not active there. If the command reports SecureBoot disabled or the EFI-variables message above, go back to the module rebuild steps instead.

If the command reports SecureBoot enabled, check the kernel log for a module-signing rejection before enrolling a key.

sudo journalctl -k --no-pager | grep -E 'vboxdrv|Key was rejected'

If the log mentions Key was rejected by service, enroll the akmods public key with MOK, reboot, complete the firmware enrollment prompts, then rebuild and reload the VirtualBox modules.

sudo /usr/sbin/kmodgenca -a
sudo mokutil --import /etc/pki/akmods/certs/public_key.der

mokutil asks you to create a one-time enrollment password. After the reboot, choose Enroll MOK, continue through the prompts, enter that password, and reboot again. Then rebuild the failed module and restart the loader service.

sudo akmods --force --kernels "$(uname -r)"
sudo systemctl restart vboxdrv

Update or Remove VirtualBox on Fedora

Update VirtualBox on Fedora

VirtualBox and its akmod package update through standard DNF maintenance. After a package update, return to the driver rebuild section if Fedora also pulled in a new kernel and the modules are still rebuilding in the background.

sudo dnf upgrade --refresh

Remove VirtualBox on Fedora

Remove the Extension Pack first if you installed it, because the pack is managed outside DNF.

sudo vboxmanage extpack uninstall "Oracle VirtualBox Extension Pack"

Verify the system-wide Extension Pack state with the same elevated wrapper.

sudo vboxmanage list extpacks

Expected output:

Extension Packs: 0

Then remove the host package and the akmod source package together.

sudo dnf remove VirtualBox akmod-VirtualBox

Confirm that DNF removed both packages.

rpm -q VirtualBox akmod-VirtualBox

Expected output:

package VirtualBox is not installed
package akmod-VirtualBox is not installed

VirtualBox removal does not delete the optional vboxusers group. If no account on this Fedora system still needs USB passthrough through VirtualBox, remove your membership and then delete the unused group.

sudo gpasswd -d "$USER" vboxusers
sudo groupdel vboxusers
getent group vboxusers || echo none

Expected output after cleanup:

none

Package removal leaves per-user data behind. Check which VirtualBox paths exist in your home directory before deleting anything, then remove only the paths you no longer need.

find "$HOME" -maxdepth 3 \( -path "$HOME/.config/VirtualBox" -o -path "$HOME/VirtualBox VMs" \)

If that command prints nothing, there is no per-user VirtualBox data left for that account. The default configuration path is usually ~/.config/VirtualBox, and the default machine folder stays ~/VirtualBox VMs if you created VMs. Delete the VM directory only after you confirm that you no longer need those disk images.

If RPM Fusion was only there for VirtualBox and you do not use it for codecs, drivers, Steam, or any other package, remove the release package and check the effective repository state.

sudo dnf remove rpmfusion-free-release
if rpm -q rpmfusion-free-release >/dev/null 2>&1; then
    rpm -q rpmfusion-free-release
else
    echo "rpmfusion-free-release is not installed"
fi
dnf repo list --enabled | grep -i '^rpmfusion' || echo "RPM Fusion repositories are not enabled"
find /etc/yum.repos.d -maxdepth 1 \( -name 'rpmfusion-free*.repo' -o -name 'rpmfusion-nonfree*.repo' \) -print

The package check should report that rpmfusion-free-release is not installed, and DNF should report no enabled RPM Fusion repositories. The find command can still show repo files from other RPM Fusion branches you enabled earlier on the system, so review those separately instead of assuming the VirtualBox workflow created them.

Conclusion

VirtualBox is running on Fedora through RPM Fusion, with the host modules built for the current kernel and a clean path to the Extension Pack or Fedora guest additions when you need them. If full desktop VMs feel heavier than the job at hand, install Docker on Fedora for container workloads instead.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show our tutorials more often in Top Stories and mark them as preferred in AI Mode and AI Overviews when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<a href="https://example.com">link</a> link
<blockquote>quote</blockquote> quote block

Add to the discussion

Questions, fixes, command output, and version notes help keep this guide current.

Verify before posting: