Difficulty: ★★☆☆☆
Installation, USB and Shared folders
It is recommended to read the VirtualBox article on the Wiki or the VirtualBox End-user documentation.
Host Packages and Installation
Packages to be installed on a host system
- VirtualBox
- VirtualBox Host Modules
The following components are optional - it depends on your use-case
- VirtualBox Guest Additions ISO (non Arch(-based) Linux or Windows)
- Oracle VirtualBox Extension Pack (provides optional functionality)
System Firmware
Before you install - reboot to your system and ensure you have enabled virtual extensions in your systems firmware.
$ systemctl reboot --firmware-setup
Installation
Your current active kernel is found using the mhwd-kernel command
$ mhwd-kernel -li
Install virtualbox with the required kernel modules matching the output from your system.
$ pamac install virtualbox linux$VERSION-virtualbox-host-modules
You need remember to install kernel modules for every kernel installed on which you intend to use VirtualBox.
host modules vs. dkms
If you choose to make the host modules available using dkms - remember to install the headers for every kernel on your system.
Load kernel modules
Prior to using VirtualBox kernel modules must be loaded. Either restart your system or load it manually.
The command to (re)load VirtualBox kernel modules on Manjaro is
$ sudo vboxreload
If you fail to load the kernel modules VirtualBox will open a window prompting you to run either
/sbin/rcvbox
/sbin/vboxconfig
These commands are for other operating systems and does not exist on Manjaro.
Basic VM configuration
For the amount of RAM need - look at the size of the ISO you intend to boot from.
If the ISO is 3GB you will need minimum 4GB RAM
The chosen default display type for any Linux is VMSVGA and this will be good for most distributions including Manjaro.
General
- Advanced
- Shared Clipboard (handy)
- Drag’n’Drop (don’t work)
- System
- Motherboard
- Base Memory 4 GB
- Untick Floppy
- Tick Enable EFI
- Hardware Clock UTC
- Linux guest - ticked
- Windows guest - unticked
- Motherboard
- Processor and Disk
- 2 processors
- 30G virtual disk
Display
- VMSVGA
- optional select 3D
- 128MB
MANJARO GUEST
installation
Graphic drivers are included with the kernel and Manjaro installer will use mhwd to install the kernel modules.
Install the guest utilities
$ sudo pacman -Syu virtualbox-guest-utils
Configuration
In the running guest - add the user to vboxsf group. This group membership is required to be able to access folders shared using the VirtualBox shared folder utility. The environment variable $USER translates to the current logged in user.
$ sudo gpasswd -a $USER vboxsf
Enable the vboxservice. The service loads the required modules when run.
$ sudo systemctl enable --now vboxservice
LINUX Shared folders
Shared folders requires extra configuration of host and guest. What needs to be done in the guest is a little different depending on the guest operation system. The following works for Manjaro.
Transient folders only persist in this VM session. Your Vbox VMM session runs under your credentials so it is your credentials that are used for access control from the guest VM to the shared folders. If you are running guest applications that you don’t trust then don’t use shared folders
– forum.virtualbox.org
Follow the link to read more about shared folders in the VirtualBox manual.
Host Configuration
- On the host locate the Settings section in VirtualBox GUI
- Shared Folders tab
- Add a shared folder
- Select the Automount option
Set the folders to Read-only if you plan to use Windows and want to browse insecure websites and other insecure activities. Doing so will prevent an eventual malware/ransomware from spreading to your host.
Guest mounting
Ensure your guest system user is member of vboxsf
group.
$ groups
sys network power lp wheel $USER
$ sudo gpasswd -a $USER vboxsf
Log out or restart the guest to activate the group membership.
Previously on Arch based distributions the shared folder feature could be a hit or miss and thus we have had various tips on how to use shared folders - the obsolete tips has been removed.
The current state of VirtualBox shared folders is pretty good as a share (without a defined mountpoint) is mounted at
/media/sf_sharename
It is possible to mount the folders manually should it be necessary
$ sudo VBoxControl sharedfolder list --automount
The folders can be accessed using /media/sf_sharename
VirtualBox extensions
The extension pack is a proprietary set of extensions providing extra functionality to VirtualBox like USB2 and USB3 passthrough.
To use this extended functionality your host user must be member of the group vboxusers.
The variable $USER below translates to - on the host - the current logged in username.
$ sudo gpasswd -a $USER vboxusers
Log off to register the change.
Functionality provided by the extension pack
- Oracle Cloud Infrastructure integration
- USB 2.0 and USB 3.0 Host Controller
- Host Webcam
- VirtualBox RDP
- PXE ROM
- Disk Encryption
- NVMe
You only need this if you are going to use the above functionality provided and it is not required for VirtualBox to function.
As noted by VirtualBox it important you are using the extension pack matching your installed version of VirtualBox
Please install the same version extension pack as your installed version of VirtualBox.
– Downloads – Oracle VM VirtualBox
As suggested in a comment below (thank you @j77h) - check your version - as of 2024-03-12T23:00:00Z
$ vboxmanage --version
7.0.14r161095
Install using AUR
The extension pack’s PKGBUILD is provided from AUR so we use Pamac to build and install it. Remember to match your VirtualBox version
$ pamac search virtualbox-ext-oracle
Locate the needed extension pack
$ pamac build virtualbox-ext-<your-decision>
If you cannot locate the correct version then download the extension using below link.
Download from VirtualBox
Download the extensions package from below link - remember to match your VirtualBox version.
Sometimes the stable branch of Manjaro is not in line with AUR - in this case you need locate the matching extension pack manually.
The extension .vbox-extpack
is a registered mime extension so just open the file and VirtualBox will install the extension pack. Provide your password when asked.
Using USB passthroug
Advanced configuration requires the extension pack to be installed. You can configure USB passthrough for USB-2 and USB-3. You need to configure your guest system to use USB-3 if you have such controller. This is done in the USB Settings menu item. Do not attach any devices on this tab unless you are doing something advanced.
Attach a device
Access the Devices → USB menu in VirtualBox Machine Window or USB menu item in the status bar. Select the USB device to mount in the virtual machine.
USB devices
- To prevent data corruption on USB devices always sync and unmount USB devices safely.
- Do not transfer your mouse or keyboard.
- Do not add filters for your USB devices.
OTHER GUEST installation
Manjaro host installation
Sync the package virtualbox-guest-iso
sudo pacman -Syu virtualbox-guest-iso
For best results, Linux as well as Windows guests needs the guest utilities installed. Prefer to use the ISO image provided as other Linux distributions might not have the most recent version of the utilities.
When you have installed the packages continue with Linux Guest Configuration or Windows Guest Configuration.
LINUX GUEST Configuration
From the Devices menu of the VirtualBox Guest Window choose Insert Guest Additions CD Image…
On some Linux systems it is required to open a terminal and execute the installer from CLI. Open a file manager, browse to the mounted ISO, use the file manager to launch a terminal then start the installer.
$ ./runasroot.sh
WINDOWS GUEST Configuration
From the Devices menu of the VirtualBox Guest Window choose Insert Guest Additions CD Image…
Insert the guest additions and run the installer in your Windows system.
Restart the guest to make the shared folders available using the Windows Explorer.
Troubleshooting screen issues
If you get issues setting the guest screen resolution, pay attention to the graphics driver selected for the virtual machine.
Opaque windows
Open Kvantum Manager, select Configure Active Theme and navigate to Compositing & General Look.
Either activate the Disable composite effects or activate Translucent windows. Chosing the latter option please ensure VirtualBox and VirtualBoxVM is included in the list of Opaque apps.
Fullscreen
Changing to fullscreen using the hotkeys - default Right Ctrlf depends on
- graphics driver - VBoxSVGA
- Manjaro guest needs vboxservice enabled and running
The resize of the screen sometimes takes 5-10 seconds to adapt but if it don’t adapt - use the hotkey to switch back and forth one (1) time.
Blurred - Distorted - Unreadable dialogs on Windows
If you use Windows and you have unreadable/blank dialogs - disable 3D/2D in the virtual machine graphics section.
If your virtual machine display does not resize correct
- Your guest is Manjaro
- Ensure your graphics driver is VBoxSVGA before installing Manjaro
- Ensure you have enabled the vboxservice
- Your guest is Ubuntu
- Ensure you have the latest available drivers installed in the guest.
- Your guest is Windows
- Try reinstalling the guest utils using the ISO image provided.
The following is not consistent but may depend on your graphics driver.
- If you click on the vm window’s maximize button or drag using the lower right corner, the vm may not recieve notification on the change in window size. You can expand the window by dragging a border in either direction to have the vm resize correct. Your window size will remembered so you don’t have to do it every time.