VirtualBox error after last (Ubuntu) Software Update
Solution 1:
The easy answer, for now - use the testbuild provided by Vbox while we wait for a kernel patch.
You can find the build here. You will need to use the current links provided on that page because the ones used here in the example have changed.
Make sure you uninstall your current version:
sudo apt remove virtualbox*
sudo dpkg -r virtualbox
# the tab key will autocomplete the version if there's one for dpkg to remove
Install the test build (change the url to match the latest test build provided by virtualbox using the above link - https://www.virtualbox.org/wiki/Testbuilds):
wget https://www.virtualbox.org/download/testcase/VirtualBox-6.0.5-129423-Linux_amd64.run
chmod +x VirtualBox-6.0.5-129423-Linux_amd64.run
sudo ./VirtualBox-6.0.5-129423-Linux_amd64.run
If you need the extension pack (change the url to match the latest test build provided by virtualbox using the above link - https://www.virtualbox.org/wiki/Testbuilds):
wget https://www.virtualbox.org/download/testcase/Oracle_VM_VirtualBox_Extension_Pack-6.0.5-129380.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.5-129380.vbox-extpack
Solution 2:
I have the same problems.
I switched back to previous kernel. See this: http://karlcode.owtelse.com/blog/2017/03/13/reverting-to-a-previous-kernel/
after that reinstall virtual box and it's working again.
Regards Alex
Solution 3:
This looks very similar to known bug 1818049 named "virtualbox dkms modules fail to build with linux 4.4.0-143.169 [error: too many arguments to function ‘get_user_pages’]".
The real working solution would be the same as for TTY problem - remove latest kernels and install previous good one (4.4.0-138-generic looks best for me - USB 3.0 safely remove will work, getty problem will be absent):
sudo apt-get purge linux-image-generic linux-headers-generic
sudo apt-get purge linux-image-4.4.0-139-generic linux-headers-4.4.0-139-generic \
linux-image-4.4.0-140-generic linux-headers-4.4.0-140-generic \
linux-image-4.4.0-141-generic linux-headers-4.4.0-141-generic \
linux-image-4.4.0-142-generic linux-headers-4.4.0-142-generic \
linux-image-4.4.0-143-generic linux-headers-4.4.0-143-generic
sudo apt-get install amd64-microcode intel-microcode thermald
sudo apt-get autoremove
sudo apt-get install linux-image-4.4.0-138-generic linux-image-extra-4.4.0-138-generic
sudo apt-get install linux-headers-4.4.0-138 linux-headers-4.4.0-138-generic
and reboot afterwards. So we need to wait for normal stable well-tested kernel.
Warning: do not upgrade kernel to 4.4.0-143-generic if you need VirtualBox on guests and hosts. Subscribe to the bug 1818049 and after the confirmation of the fix - install newest kernel back with sudo apt-get install linux-image-generic linux-headers-generic
.