Black screen trying to boot into Kali Linux VM on macOS

tron_thomas

New Member
Joined
Feb 18, 2026
Messages
2
Reaction score
0
Credits
22
I use a program called UTM on macOS to run an ARM version of Kali Linux in a virtual machine. I’ve use the virtual machine for quite a while, would update it weekly, and everything was fine.

To perform the update I would use the following commands from a command prompt with super user privileges:

apt update
apt full-upgrade -y

A while back I performed an update, and now when I boot the machine, I get the usual graphical screen to select a login option and then the screen goes black. I can use Ctrl+Alt+F2 to get to a command prompt and login. I’ve been continuing to perform updates, only nothing has fixed the problem and I have not been able to run a graphical environment for quite a while.

What can be done to restore functionality so the graphical system will start working again?
 


When any Linux brakes after an update the usual cause is kernel bug, the simplest thing is to either run timeshift [if you have it installed] or just wind back to a previous Kernel
 
It appears I do not have timeshift installed. How is someone supposed to wind back to a previous Kernel?
 
You can install it with the Synaptic Package Manager if you have uninstalled it - if not then to boot into an older kernel on a Debian based OS, during boot now hold the Shift key down to access the GRUB menu. From there, select "Advanced options" to choose the older kernel version you want to boot
 
To perform the update I would use the following commands from a command prompt with super user privileges:

apt update
apt full-upgrade -y
If you are running apt full-upgrade -y straight after apt update, you may be inviting problems with the software installed on the system because of the processes involved.

Running the "full-upgrade" option, enables the apt package manager to remove programs. If the user does not stop and read the output on screen to identify what is to be removed, and then make a judicious decision about whether they should allow that to happen on the system, then apt will happily remove programs it thinks are no longer needed. Unfortunately, apt can remove programs the user still wants, requires or values.

The more robust approach to upgrading is to run: apt upgrade after apt update, because in a normal upgrade apt will not remove any packages. Rather, it may show the packages on screen that it thinks are not needed, and perhaps advise that running the command: apt autoremove can be used to remove them. That leaves the choice to the user.

After apt upgrade has been run, it leaves the system in the most upgraded condition so that it's in an optimal state if the user wishes to run the "full-upgrade" option which will take the installation to the next upgraded state, removing what it regards as old and no-longer-needed packages.

In normal functioning, one doesn't really need to run a "full-upgrade", "upgrade" is usually sufficient, and it's safer. When the point release increases, then it may become a more relevant consideration, but one needs to understand the consequences of having the proposed deletion of packages that "full-upgrade" will make.

As mentioned in post #2 by @Brickwizard, you can try to boot with an earlier kernel which presumably will work. One can do that by selecting an earlier kernel from the grub menu when it appears on screen. If the grub menu doesn't appear, or appears too briefly to make a selection, one can change the grub option GRUB_TIMEOUT=2, in /etc/default/grub to a larger number of seconds than "2" in this example, say change it to 10 which would bring up the grub menu for 10 seconds which is usually time enough to select from the grub menu. After a configuration change such as this, one needs to update grub.
 
Last edited:
Unfortunately, apt can remove programs the user still wants, requires or values.

For what it's worth, I've been running an iteration of this command for a long, long time.

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt clean -y && flatpak update -y

To date, it has yet to bite me in the butt. The Flatpak bit is a relatively recent addition, probably added within the past couple of years. Otherwise, I blindly use that command. In fact, I have it aliased to update.

At the same time, you're not wrong. I'm not sure I'd suggest this process to a new user. If something breaks, it'll be fairly easy for me to figure it out and effect repairs. It also helps that I'm comfortable in the terminal and not prone to panic.

So, you're not wrong. Some of us just like living on the edge!

Also, three of my computers don't require a password for sudo. I, or perhaps the missus, are the only people who would use said computers. If someone has physical access, they already 'own' the device. Well, unless I use encryption with a strong password.

I do not normally recommend doing that. Doing so involves accepting some risks. As I often have guests, those computers are in private areas of the house. They're in places where nobody should be unless they're with one of us. Also, none of my guests are going to know how to use Linux in the first place.
 
For what it's worth, I've been running an iteration of this command for a long, long time.
me too. prehaps he has unresolved packages and may need to first run

sudo dpkg --configure -a
 
For what it's worth, I've been running an iteration of this command for a long, long time.

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt clean -y && flatpak update -y
The difference between your useful composite command and the command used in post #1 is just the use of the "full-upgrade" option which is absent in your command. The "full-upgrade" option takes that extra step of removing packages. Basically it does so to keep the system's apt database consistent so that all dependencies are met for more major upgrades.

The "full-upgrade" option is the same as the "dist-upgrade" option about which the apt-get man page says:
Code:
dist-upgrade in addition to performing the function of upgrade, also intelligently
           handles changing dependencies with new versions of packages; apt-get has a "smart"
           conflict resolution system, and it will attempt to upgrade the most important packages
           at the expense of less important ones if necessary. The dist-upgrade command may
           therefore remove some packages.

The feature of the "dist-upgrade" option is sort of embedded in its name: "dist" which references the upgrade of the whole distribution. Hence it was used to upgrade from one point release to the next, which is like to the next distribution released. The term "full-upgrade" came later, but does the same thing as "dist-upgrade" so today the options are interchangeable.

There are some conditions under which it may be useful to run with "full-upgrade" without the distro having made a new release or major upgrading step in order to get to a new consistent state, but one needs to know what they can allow to be removed to avoid trouble.
 
Last edited:
The difference between your useful composite command and the command used in post #1 is just the use of the "full-upgrade" option which is absent in your command. The "full-upgrade" option takes that extra step of removing packages. Basically it does so to keep the system's apt database consistent so that all dependencies are met for more major upgrades.

Yeah, I saw that. I was alluding to how I wouldn't worry too much if it deletes stuff. We have people over on the Ubuntu side of things happily running that command without giving it any attention. I've just never 'upgraded' my command to do so. I suppose you really should only use it if there's a problem, a major upgrade, or if you're using a development version.

But it wouldn't worry me to do so (and I have done so, just not consistently). I'm not too worried if it removes something.

I'll change the alias to run it on one of my computers, just to see what happens. (It has made me curious.) LOL We'll see if it breaks anything, and then we'll see how much effort was required to fix it. I'll change it on my favorite laptop.

Wish me the best of luck! I'll do my best to remember to monitor the results closely, but I'll let the command run automatically.

(I have known good backups.)
 


Follow Linux.org

Members online


Top