{"id":144,"date":"2026-09-24T21:04:45","date_gmt":"2026-09-24T17:04:45","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/09\/24\/virtualbox-macos-arm-ubuntu-server\/"},"modified":"2026-09-24T21:04:45","modified_gmt":"2026-09-24T17:04:45","slug":"virtualbox-macos-arm-ubuntu-server","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/2026\/09\/24\/virtualbox-macos-arm-ubuntu-server\/","title":{"rendered":"Installing VirtualBox with Guest Additions on an ARM Mac"},"content":{"rendered":"<p>Instructions for installing Ubuntu Server in VirtualBox on a Mac with an ARM64 processor and connecting Guest Additions.<\/p>\n<h2>Installing VirtualBox<\/h2>\n<p>Download the ARM64 build of VirtualBox, mount the image and transfer VirtualBox.app to Applications.<\/p>\n<h2>Configuring a virtual machine<\/h2>\n<p>We create a new machine, specify the Linux type and the Ubuntu version (64-bit ARM). In the settings we set:<\/p>\n<ul>\n<li><b>TPM<\/b> &#8211; disable<\/li>\n<li><b>UEFI<\/b> &#8211; disable<\/li>\n<li><b>RAM<\/b> &#8211; 4096 MB.<\/li>\n<li><b>Graphics controller<\/b> &#8211; VMSVGA (for VBoxLinuxAdditions).<\/li>\n<li><b>Processor<\/b> &#8211; 4 cores.<\/li>\n<\/ul>\n<h2>Installing Ubuntu Server<\/h2>\n<p>Mount the Ubuntu Server ISO image for ARM64 into the CD-ROM drive. In the download section, put the optical drive first in the list. We start the machine and go through the installation of Ubuntu Server.<\/p>\n<h2>Installing xubuntu-desktop<\/h2>\n<p>Install the XFCE graphical environment:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>sudo apt update\nsudo apt install -y xubuntu-desktop\n<\/code><\/pre>\n<\/div>\n<p>In the login manager selection dialog, select lightdm.<\/p>\n<p>Reboot the guest system:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>sudo reboot\n<\/code><\/pre>\n<\/div>\n<h2>Guest Additions<\/h2>\n<p>After the first boot, install packages for building kernel modules:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>sudo apt update\nsudo apt install -y build-essential linux-headers-$(uname -r)\n<\/code><\/pre>\n<\/div>\n<p>We mount the disk with Guest Additions through the VirtualBox menu: Devices \u2192 Mount Guest Additions disk image. The disk will appear inside the guest in the \/media\/$USER directory.<\/p>\n<p>Open a terminal in Xubuntu, go to the directory of the mounted disk and run the installer:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>cd \/media\/$USER\/*\nsudo .\/VBoxLinuxAdditions-arm64.run\n<\/code><\/pre>\n<\/div>\n<p>Reboot the guest system:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>sudo reboot\n<\/code><\/pre>\n<\/div>\n<h2>What should work after installation<\/h2>\n<p>We check that the kernel modules are loaded:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>lsmod | grep vbox\n<\/code><\/pre>\n<\/div>\n<p>The output should include vboxguest and vboxsf.<\/p>\n<p>Add a shared folder in the machine properties and mount it inside the guest:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>sudo mkdir -p \/media\/sf_shared\nsudo mount -t vboxsf shared \/media\/sf_shared\n<\/code><\/pre>\n<\/div>\n<p>Working features:<\/p>\n<ul>\n<li><b>Shared folders<\/b> &#8211; the host directory is visible inside the guest via vboxsf.<\/li>\n<li><b>Shared clipboard<\/b> &#8211; copy text between host and guest.<\/li>\n<li><b>Mouse integration<\/b> &#8211; the cursor freely extends outside the machine window.<\/li>\n<li><b>Automatic resolution change<\/b> &#8211; the guest screen adjusts to the window size.<\/li>\n<li><b>Time synchronization<\/b> &#8211; the guest\u2019s time is adjusted to the host\u2019s time.<\/li>\n<\/ul>\n<h2>Sources<\/h2>\n<p><a href=\"https:\/\/www.virtualbox.org\/manual\/topics\/guestadditions.html\" rel=\"noopener\" target=\"_blank\">https:\/\/www.virtualbox.org\/manual\/topics\/guestadditions.html<\/a><br \/>\n<a href=\"https:\/\/forums.virtualbox.org\/viewtopic.php?t=112886\" rel=\"noopener\" target=\"_blank\">https:\/\/forums.virtualbox.org\/viewtopic.php?t=112886<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instructions for installing Ubuntu Server in VirtualBox on a Mac with an ARM64 processor and connecting Guest Additions. Installing VirtualBox Download the ARM64 build of VirtualBox, mount the image and transfer VirtualBox.app to Applications. Configuring a virtual machine We create a new machine, specify the Linux type and the Ubuntu version (64-bit ARM). In the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-notes"],"translation":{"provider":"WPGlobus","version":"3.0.5","language":"en","enabled_languages":["en","ru","zh","de","ja","fr","es","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"es":{"title":false,"content":false,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/comments?post=144"}],"version-history":[{"count":0,"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/posts\/144\/revisions"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/media?parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/categories?post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/wp-json\/wp\/v2\/tags?post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}