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 ./VBoxLinuxAdditions.run

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!

Leave a Comment