Skip to main content

Post Dual Boot Setup - Kali on Mac

So, one of the setups that I run with is a dual-boot enabled MacBook Air with Kali Linux. Why, you may ask... Well no one really expects a Mac to be running anything other than OSX. So it catches people off guard if they really pay attention to what I'm doing. So far, I've come across only a few issues (like I can't get the internal Wi-Fi card to work, but I'm usually using an Alfa anyways). One such issue was that, upon running updates on the Kali side, grub pushed an update. Normally that's not an issue. However, if your setup is similar to mine, where rEFInd is being used from the OSX side....Well let's just say that grub overwrote rEFInd and now only shows the Kali startup.

Now, I didn't really document how I got everything back to 'normal' (sorry, I'm out of luck now too if that happens again). But the basic steps were to bypass the grub boot, which allowed me to boot into the OSX partition, and re-install rEFInd. The question is, how do you avoid that in the first place? And I *think* I have the answer (I'll know for sure if updates kill my OSX partition again in the future).

Simply put, I *think* that by just putting grub updates on hold might prevent grub from overwriting rEFInd, and therefore allowing you to update both Kali and OSX without issues. How is this done? Well here's what I did:


  • Boot to Kali Linux
  • Log in and open a terminal
  • Enter the following to get a list of the grub packages that could be updated
    • dpkg --get-selections | grep grub
      • I had the following:
        • grub-common
        • grub-efi-amd64
        • grub-efi-amd64-bin
        • grub2-common
  • Next, lets put them on hold with the following:
    • apt-mark hold grub-common grub-efi-amd64 grub-efi-amd64-bin grub2-common
With any luck, we shouldn't have any future issues of grub overwriting rEFInd and breaking the overall setup.



Comments

Popular posts from this blog

Using Python for GPG/PGP File Encryption - Part 1

So, this will be the start of a series that will build a python script for GPG/PGP file encryption. In this post, we'll look at installing gnupg for python and using python to setup the keystore, create a private key, exporting the associated public key, and importing a public key. Now everything done here can be done with simple gnupg commands, but learning how to do this with python will help in understanding the script we'll be building to complete file encryption. I will be covering non-python gnupg commands in a future post. Additionally, the folks at the python-gnupg site over at pythonhosted.org have done a really great job at documenting everything (link to their site at the bottom). The stuff I'll be going over will be more of a start-to-finish for anyone that may get lost in the muck of doing stuff with python. Full Disclosure #1: Any key identifier throughout the series of posts is FICTITIOUS and DOES NOT represent any real key, either associated with myself or...

Windows Server 2008: Log on as batch job

From time to time, I have to set up some scheduled tasks that required a dedicated account to run. And when doing so, I'll usually forget that the dedicated account usually isn't given any more permissions than what it needs to complete the task at hand. So, after setting up the task, Windows will usually yell at me and say "The account needs batch job rights". So here's how to grant batch job permissions on your server. Go to your start menu, and start searching for Local Security Policy In the left pane of the MMC that opens up, expand Local Policies, and highlight User Rights Assignment. Now, in the left right pane, locate "Log on as a batch job" and double click it. In the properties window that opens up, add the user or group that needs this permission. I find that if you have multiple service accounts running different tasks on the same server, it's easier to just add a group verses the individual a...

Replacing rsyslog with syslog-ng on RHEL 6.5

So...I had a piece of monitoring software that didn't play nice with the RHEL default rsyslog for log collection. The software was developed to only work with syslog-ng. I'll be going over the steps that I took, that worked for me, in replacing rsyslog with syslog-ng. I would imagine that these same steps should work for any Linux system similar to RHEL (Fedora, CentOS, etc.). For others (like Debein based distributions), I would need to look into that (coming in a future update to this post). First, remove rsyslog. You will need to keep the dependencies as they will be needed for syslog-ng: sudo rpm -e --nodeps rsyslog Next we will need to add the EPEL repository (more info can be found HERE ): wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm sudo rpm -ivh epel-release-6-8.rpm sudo yum repolist That last command will list all the installed repositories. You are simply verifying that the EPEL package has been installed. Now that we fi...