Install Fedora 29 on VirtualBox with Working Guest Additions and Gnome Shell Inside Virtual Machine

Do you want to have the new Linux OS on your Windows 10 computer without switching between Operating Systems? Virtualization is one of the best options for that. In this post, let me show how to install the latest Fedora 29 on Windows 10 (also applicable for Windows 8.1 and Windows 7) using Oracle VirtualBox. Though VMware workstation also supports Linux guest Operating Systems as VM, I feel VirtualBox is the preferable option since it is free and have many capabilities.

As VirtualBox keeps updating and supporting the latest Linux versions, installing the Linux OS like Fedora 29 has become easy nowadays. I’m updating this post which was initially written for Fedora 16 back in the year 2011. You will find the same old content and screenshots in some places, but this latest post is mainly focusing Fedora 29 on VirtualBox with Windows 10 host computer. The following step by step guide shows how to install Fedora 29 on the local virtual hard disk (instead of running it as live), guest additions and get working Gnome-shell inside VM.

How to Install Fedora 29 on VirtualBox with Guest Additions

1)  Download the latest Fedora 29 version from the official site here. I hope most of you would have 64-bit of hardware since it is Windows 10 host hardware. There are several downloads available at this page which may confuse you. Our main intention is here to install Fedora permanently inside the Virtual machine, that means we are not going to modify or install anything in our host Operating System Windows 10. Hence, download the live image of the appropriate version. Here we select the 64-bit version.

Download 64 Bit

2) Create a new virtual machine in Oracle VirtualBox. Select the proper OS type and version. You can set RAM as you like based on the host computer RAM size, create a new disk and set minimum 20GB.

Create New VM

3) To get the better performance inside the VM, modify few hardware parameters before power on the virtual machine.

Add more processor cores (if your physical computer has multi-cores)

Add More Processors

Increase the video memory size (based on the physical memory of your video card) and enable 3D Acceleration.

Display Settings For Improvement

3) Mount the downloaded ISO and start the virtual machine. Press Enter to start the installation.

Attach The ISO

4) Here we have the option to try (live run without installing to hard disk) or install Fedora on the hard disk. Select Install option as shown below.

Install To Hard Disk

5) The installation is simple and straight forward. Read the instructions and select appropriate options to install. Set automatic partition creation to make life easy. Make sure to set up the password.

Disk Selection And Partition

Once the installation completed, remove the ISO file from the CD drive, otherwise, the VM will keep booting from the ISO like a new installation.

6) Now you will land on a beautiful Fedora 29 on the VirtualBox as a virtual machine. If you set up enough resources such as processor cores, RAM, video display RAM, and your physical computer is capable to handle all requests, you can have a smooth Fedora 29 OS on your Windows 10 computer.

7) Take a snapshot of VM before proceeding anything further.

Let’s update the OS for patches and updates.

Run the following commands.

dnf check-update
dnf upgrade

You may need to run above commands as root, so, type with sudo as shown below.

Sudo Login

Find more information about setting up sudo password from this website (look under Fedora)

Install VirtualBox Guest Additions in Fedora 29

Technically, VirtualBox guest additions and kernel support are already included in Fedora 29, you do not need to install manually. The smooth display, full-screen options, network, and mouse integration work automatically once you have installed and upgraded the Fedora 29 on VirtualBox.

Working Guest Additions In Fedora 29

For some reasons, if you need to install the guest additions on Fedora 29 manually, here is the best guide you will find.

Even the below guide to install VB guest additions on previous versions of Fedora still applicable and you can follow them as well.

VirtualBox Shared Folders in Fedora 29 and Windows 10

Though the guest additions are included and working fine without any manual work, the shared folders functions do not work by default. vboxsf driver kernel module which required to mount the shared folder and also allows access between host and guest is not included in guest additions package. Few additional steps required to set up the VB Shared folders function between Windows 10 host and Fedora 29 guest. To be honest, those steps did not work for me. So, I can’t produce any screenshots and confirm the steps here. Still, you can check below guides to set up the shared folder function.

From the Fedora forum

From RedHat – Similar to Fedora 29

For the Previous version of Fedora 16 – GNOME 3 Error and Installing Guest Additions

Here is the content which was written for Fedora 16. If you need to try the older versions of Fedora in VirtualBox, then you can follow the below steps.

  1. While starting the installation you may get GNOME 3 error (based on the version of Oracle VirtualBox you have).

Since this is a ‘Live CD’, the OS will start automatically (without installing into hard drive) from CD. The ‘GNOME 3 Failed’ message will appear at the first time. Do not worry, just close it.

gnome 3 failed error

4) Install the OS permanently to local hard disk. To do it, select ‘Applications –> System Tools –> Install to Hard Drive’.

install to harddisk

Other steps are very simple and straightforward as installing most of the Linux Operating Systems. Complete the installation and remove ISO from DVD drive before the restart.

5) Once Fedora 16 Virtual machine is loaded from installed local hard disk, again ‘GNOME 3 Failed’ error may appear. No issues, just close it and proceed to the next steps to install guest additions.

How to Install VirtualBox Guest Additions on Fedora 16

6) Make sure the guest machine is having internet with download access, so, obviously the host machine should be connected to the internet. Configure the virtual machine’s network type to NAT or bridged mode. The default NAT mode worked without any settings or modifications for me. Better open a web browser from the virtual machine and double check the internet connection.

7) Go to Terminal ( Applications –> System Tools –> Terminal) and log in as root ( Type su and password). Issue the following command,

yum -y update kernel

If everything is fine (the typed command and internet download), here is the successful message.

installed kernel version after 1st yum update

8.) Again type,

yum -y install kernel-devel kernel-headers dkms gcc gcc-c++

It will return the successful installation message as below,

2nd yum update

Restart the virtual machine now.

9) It is time to install built-in guest additions. Go to Devices in Virtualbox console menu and select ‘Install Guest Additions’, it will mount the built-in ISO file. Open the terminal and log in as root. Browse the mounted drive ( cd /Media/VBOXADD……) and run the following command.

sh ./

sucessfull installation

Above screen shows the involved steps and successful installation of VB guest additions.

Before restart, run this command as root ( to get GNOME 3 Shell)

restorecon -R -v /opt 


Restart the virtual machine.

10) We successfully installed the guest additions. Check the additional features like full screen, Auto resize, seamless mode, mouse integration and shared folders.

more display options

To setup VirtualBox shared folder features between Fedora 16 and Windows host machine follow the previous guide mentioned here.


How to Get working GNOME 3 Shell in Fedora 16 with VirtualBox

Until this point, things will work fine on any host computers, but to get Gnome shell inside Fedora, your host computer must have good dedicated display card. I think because of Gnome requires some kind of direct 3D access in physical display card, this could be an issue with non-dedicated display card host computers. I faced this same issue with Fedora 15 which did not work on my office Dell Optiplex 755 machine whereas same VM worked at home PC which is having dedicated display.

I’m demonstrating these steps on my home PC with dedicated display card and display memory.

So, even though VirtualBox guest additions installed successfully on a good host computer (with dedicated display card), the Gnome 3 shell in Fedora 16 did not work properly or automatically in other words. This will be fixed in forthcoming VirtualBox versions (hopefully)

To get Gnome shell, type below command in terminal,

gnome-shell --replace &

Can you see the difference in desktop? are you getting the Gnome shell?

Unfortunately, this is not permanent. Also, if you close the terminal where you typed the above command, the desktop will return to the previous ordinary desktop. SELINUX error will appear on the top right message area. Restarting VM also will fall back to the ordinary desktop.

Here is the way to fix this and get Gnome permanently (UPDATED…)

To avoid SELinux error after the reboot, I suggested disabling the SELinux from startup. But, few users suggested that disabling SELinux is not recommended at all since it will put the Linux machine under less security. SELinux (Security Enhanced Linux) allows users and administrators more control over which users and applications can access which resources, such as a file. More information available here.


So, here are the workarounds,

1) Check the SELiunx error at top right corner and use troubleshooter to fix the issue.

2) After installing VirtualBox guest additions, issue the following in terminal as root,

restorecon -R -v /opt 

(Credits to)

3) If above two methods did not work for you, and security is not very important because you are running this in virtual machine environment(basically, this is just an experiment), then try the disabling method.

Edit the /etc/selinux/config file and set SELINUX=disabled

selinux default value

I’m not a Linux expert, so I do not know how to edit system (or protected) files in normal GUI editor. I logged in as root and used VI editor to change this value.

This article will give some basic ideas on VI editor.

Restart now.

Now the login screen should start with Gnome shell desktop.

gnome shell login screen

Here is the working Fedora 16 Gnome 3.2 shell in VirtualBox 4.1.6.

working gnome shell applications

Share your comments, issues and successful attempts in the comments area.

Have fun!

29 thoughts on “Install Fedora 29 on VirtualBox with Working Guest Additions and Gnome Shell Inside Virtual Machine”

  1. Generally speaking, I would not disable SELinux.
    Instead : Start the SELinux Troubleshooter, and you’ll see related alerts. Click troubleshoot and follow instructions. Reboot. That’s it.

    • I Totally agree with David. For me it worked to make a policy for the gnome shell checker to have access to the VBOX files. (3rd option SE troubleshoot)

      Please update this in your tutorial. Disabling SELINUX is to fire your security officer because he is just warned you just can allow.

  2. correction: Disabling SELINUX is to fire your security officer because he just warned you about something you could have allowed.

  3. I agree that disabling SELinux is a terrible work-around, but how are you guys thinking people will use SELinux Troubleshooter to diagnose a SIGABRT in gnome-shell that occurs during the login process?

  4. Excellent, thanks for updating the article.

    Not sure it’s worth another update, but perhaps frustrated users will read this far in the comments.

    I have multiple Fedora 16 x86_64 guests running on VirtualBox 4.1.6 on Windows 7 hosts, and they all occasionally hang during login. The mouse cursor twirls, you see the desktop wallpaper, and that is all.

    I suspect it’ll take an xorg or virtualbox udpate to fix this.

    In the meantime, my work-around is:

    * Press Ctrl-Alt-F2
    * Log in as root
    * systemctl start
    * Wait a few seconds
    * systemctl start

    I have had to repeat this process as many as 6 times in a row to get a working login prompt on one box.

  5. It’s just fine to disable SELinux ! I also use rsh instead of ssh inside my DMZ. Security can be
    overated ! Just look at Big Brother and his grand idea that you must be protected from yourself !

    Learning can itself be bound by security.

  6. Hello,
    there’s a problem in downloading fedora 16, it keeps showing me a box to enter username and password to enter into ftp
    is there anything that i can do?

  7. yum -y install kernel-devel kernel-headers dkms gcc gcc-c++

    the command above is really help…
    without that i won’t be able to install guest additions..
    thx so much .

  8. even after increasing display memory size to 128 MB and enabling 3D acceleration, my guest OS doesnt show the login screen…It simply hangs showing the wallpaper and a round shaped icon revolving

    • I have the same exact problem as Soumyorup Dey.

      Now it will not login me in at all. I rebooted the OS inside the VM, and it brings up the desktop screen (with the submarine), then I see the icon spinning and nothing else happens ! It hanged. Now what to do? Can’t login in at all. Wasted 3 hrs on this thanks to these instructions. I am using the latest VM (just updated it before I started all of this (4.1.12) and using fedora 16 on windows 7.

      • I’m having the same exact problem, I’d appreciate any more light shed on this problem, I’m on a MacBook pro so it is impossible for me to press Ctrl+alt+F2 at the same time

  9. when i write command : yum -y update kernel then it gives error: cannot retrieve repository metadata (repomd.xml)
    and same error given when next command is used..

    so what i there is any alternate?? or this not effect on next steps..please reply ..

  10. After doing this step mentioned by you

    Restart the virtual machine now.

    9) Its time to install built-in guest additions. Go to Devices in Virtualbox console menu and select ‘Install Guest Additions’, it will mount the built-in ISO file. Open the terminal and login as root. Browse the mounted drive ( cd /Media/VBOXADD……) and run the following command.

    I am getting an error as

    Unable to mount the CD/DVD C:\Program Files\Oracle\VirtualBox\VirtualBoxGuestAdditions.iso but I see that the file VirtualBoxGuest Additions.iso is present in the path.Can you tell me what can be the cause of the error.I am stuck and cannot proceed furhter.

    • Make sure that you have nothing mounted under the CD/DVD devices menu of the virtual machine. Go to Devices –>CD/DVD Devices and make sure you don’t have any checkboxes beside any listed item. If you do, click on that item again to force an umount.

      The VboxGuestAdditions.iso automatically mounts when you click on Install Guest Additions, so there is no need to mount it by going to Devices->CD/DVD Devices->Choose a virtual CD/DVD Disk file.

      Hope this helps.

  11. I am getting an error as below when I tried your below command

    “gnome-shell –replace &”

    ** (gnome-shell:1771): CRITICAL **: dbus_g_proxy_new_for_name: assertion `connection != NULL’ failed

    ** (gnome-shell:1771): CRITICAL **: dbus_g_proxy_call: assertion `DBUS_IS_G_PROXY (proxy)’ failed
    Any idea how should I proceed.

  12. HI all any ide for this,
    Building the main Guest Additions module [FAILED]
    for this one VBOXADDITIONS_4.1.16_78094 VirtualBoxGuestAdditions

  13. Didn’t work for me. I get to the Live screen, click on Install to Hard Drive, and nothing happens. I’m in the GUI, but can’t on anything and nothing further happens. No install, nothing. I click on Activities – nothing. I click on the drop-down – nothing. I see no install screens or anything else.

    I’ve tried numerous ways with no results. Not sure what to try next.

Leave a Comment