TOBI WAS HERE! // DEM TOBI IHM SEIN BLOG

8Okt/1735

VirtualBox: How to create a macOS High Sierra VM to run on a Mac host system

So I have a MacBook Pro running macOS Sierra (10.12) and I wanted to run a virtual machine (VM) of macOS High Sierra to try out the new operating system. It's always a struggle to get macOS as a guest system running on macOS as the host system, but today was my lucky day and after several failures I managed to get it running! So here is how I did it...

 

 

 

My environment

macOS Sierra 10.12.6, VirtualBox 5.1.28 with installed VirtualBox Extension Pack
You will need at least 4096 MB RAM of host memory, more is better. You also need ~20 GB disk space for the virtual machine, as well as ~18 GB free space temporarily for the creation of the install media.

 

Create a macOS install ISO file for VirtualBox

  • Download macOS High Sierra from the Mac App Store
    • Hint: if you have downloaded macOS High Sierra before the 5th of October, delete it and redownload it. Apple made some changes to the previous released version, especially to the installer, which are important to get this VM running. The version of the "Install macOS High Sierra.app" has to be 13.0.66 or above.
  • Open a Terminal window, create a "virtual USB flash drive"/disk image:
  • Mount it:
  • Put the installer files into this new disk image:
  • Unmount the disk image, so that the resource is not busy for the next step:
  • Convert the disk image into an ISO file (VirtualBox is not capable of booting from a .dmg or .sparseimage file):
  • Move it to the desktop folder and rename the extension of the file to .iso:
  • Delete the sparseimage in the tmp folder:

 

Create the VM

  • Create a new machine
    • Name: macOS (or whatever you want to call it)
    • Type: Mac OS X
    • Version: Mac OS X (64-bit) or macOS 10.13 High Sierra (64-bit)
    • Memory size: 4096 MB
    • Virtual hard disk size: ~20 GB (an empty installation of macOS High Sierra takes about 11,4 GB)
  • Edit the new machine
    • System -> Motherboard -> Boot Order: deactivate Floppy

    • System -> Processor -> change CPU to two, optional: set execution cap to 80% (this value is up to you and your host system configuration)
    • Display -> Screen -> Video Memory: increase it to 128 MB

    • Storage -> virtual hard disk -> don't activate "Solid-state Drive" (this is pretty important, because the macOS installer converts your virtual partition to APFS if it detects it as a solid state drive, unfortunately VirtualBox doesn't support APFS at this moment, so the boot process will fail while installing High Sierra. For non solid state drives, the installer is not going to convert the virtual disk to APFS and leave it untouched as a HFS+ volume)
    • Storage -> Optical Drive ("Empty") -> choose the HighSierra.iso from your desktop folder (to choose it, click on the CD icon next to "SATA Port 1")
    • Audio -> deactivate Enable Audio

    • stick with the default values of all the other options and apply the settings with the "OK" button

 

Installation of macOS High Sierra Part 1

  • Start the VM
  • wait until the language chooser appears and choose your language (optional: change the keyboard layout to your country keyboard layout in the top right corner with a click on the US flag icon)
  • Open Disk Utility
  • Click on "View" in the top left corner of the Disk Utility window and choose "Show All Devices"
  • Highlight "VBOX HARDDISK Me...", then click "Erase", choose a name for the virtual hard disk and click the "Erase" button to partition and format the virtual hard disk
  • When the erase process is done, close Disk Utility
  • Next choose "Install macOS"
  • Click Continue
  • Agree to the terms of the license agreement
  • Choose your previously created virtual hard disk and finally start the installation with a click on "Install"
  • The installer installs some files and after a while the machine will reboot automatically

 

Installation of macOS High Sierra Part 2

  • After the reboot, the VM will display an error message: "Boot Failed. Mac OS X"
  • Because of this error, after 10 seconds, the machine will then do a "fallback boot" into the "Part 1" installation process. Why? VirtualBox doesn't recognize that there is a new disk, containing a second EFI, in which we need to boot into. So we have to do this manually.
  • To do this, restart the machine (CMD+R will hard reset it, or, if the "Part 1"-Installer is already running, click on the Apple logo in the menu bar and choose "Restart").
  • Now you have to be very fast: while the VM restarts, press the fn+F12 keys a few times, so that it gets into the VirtualBox boot manager. You have to be very quick! If the machine is already displaying "Boot Failed. Mac OS X", hit CMD+R to reset it and try again.
  • If you were fast enough, choose "Boot Maintenance Manager" and hit the Enter key.
  • Go to "Boot from File" and hit Enter again.
  • Choose the entry with ...HD(2,GPT)...
  • Choose <macOS Install Data>

  • Choose <Locked Files>

  • Choose <Boot Files>

  • Choose boot.efi, this will boot the machine into the "Part 2" installation process of macOS
  • macOS High Sierra will then continue to install itself.
  • Click through the steps of the "first run wizard"
  • ...and you are done! 🙂
  • Finally shutdown the virtual machine and create a snapshot of it in the Virtual Box main interface, just in case... it's always nice to have a backup 😉

 

Have fun with your newly created virtual machine running macOS High Sierra 10.13!

12Mrz/170

macOS: welche Dateien legt ein pkg-Installer an?

Im Grunde gibt es zwei Arten von Installationen eines Programms unter macOS.

  1. Man lädt ein Disk Image (.dmg) herunter, welches per Doppelklick ins System eingebunden wird, anschließend zieht man das Programm (xyz.app) in den Programme-Ordner.
  2. Die Anwendung kommt mit einem Installer. Hier gibt es jetzt noch mal zwei Unterscheidungen: ein eigener entwickelter Installer (das ist z.B. beim Adobe Flash Player der Fall) oder ein Installer im pkg-Format, der den macOS internen Installer nutzt (ähnlich MSI unter Windows). Dieser Kurztipp bezieht sich auf den macOS internen Installer.

Möchte man bspw. für eine Deinstallation wissen, welche Dateien bzw. wo der Installationsprozess Dateien ab- und angelegt hat, geht das wie folgt:

  1. Man startet den Installer ganz gewohnt per Doppelklick.
  2. Man wählt über die macOS Menüleiste Ablage > Zeige Dateien (geht auch alternativ per Tastenkombination: cmd+I)

Und schon öffnet sich ein neues Fenster mit einer Übersicht aller Dateien, die angelegt werden (hier am Beispiel der TeamViewer Installation):

TeamViewer Installer Dateien

Was manchmal bei Fehlern auch ganz hilfreich sein kann: Über die Menüleiste lässt sich ein Logfenster zur aktuellen Installation anzeigen => Fenster > Installer Log (cmd+L)

25Feb/173

macOS: nicht automatisch zu (Audio-) Bluetooth Geräten verbinden

Ich habe bei meinem MacBook Pro immer Bluetooth an, damit es sich bspw. automatisch per Apple Watch entsperrt und diverse iCloud Funktionen, wie die allgemeine Zwischenablage oder Handoff, nutzbar sind.
Ab und zu möchte ich vom MacBook Musik über meinen AV-Receiver ausgeben. Da dieser leider noch keine WLAN- oder Bluetooth-Konnektivität besitzt, habe ich ihn mit einem Audio Bluetooth Receiver (Philips AEA2700, empfehlenswertes Produkt!) nachgerüstet. Einziger Nachteil: Einmal gekoppelt, verbindet sich das MacBook gerne mal automatisch und ohne Nachfrage mit dem Bluetooth Receiver und gibt die Musik über diesen wieder. Das wollte ich unterbinden, da es ziemlich nervig sein kann und ich selber manuell bestimmen möchte, über welchen Ausgang mein MacBook die Musik ausgibt.

Man kann diese Funktionalität, zumindest für Audio Empfänger, unter macOS abstellen.

Dazu öffnet man einfach das Terminal und gibt folgenden Befehl ein:

Da der Befehl per sudo mit Systemrechten ausgeführt wird, ist noch die Eingabe eines Administrator Passwortes notwendig. Die Einstellung wird anschließend sofort übernommen und ist aktiv, ein Neustart o.ä. ist nicht von Nöten.

Damit verbindet sich macOS zu gekoppelten Audio Bluetooth Empfängern ab sofort nicht mehr automatisch.

Möchte man die Einstellung wieder rückgängig machen, ersetzt man einfach am Ende der Befehlszeile die "1" durch eine "0".

29Nov/152

IE Kompatibilitätsansicht-Liste per GPO verteilen

Im Internet Explorer kann man beliebige URLs in die Liste der Kompatibilitätsansicht aufnehmen. Werden dann Seiten aus dieser Liste im IE aufgerufen, sendet der Internet Explorer als User-Agent nicht seine eigentlichte Versionsnummer, sondern eine IE7 Version, da mit dieser die großtmögliche Kompatibilität zu Webseiten erwartet wird.

Als Anwender kann man selber URLs in diese Liste aufnehmen und entfernen (Zahnradsymbol > Einstellungen der Kompatibilitätsansicht). Als Admin möchte man bestimmte URLs ggf. zentral vorgeben und an die Anwender verteilen.

Dafür kann man eine Gruppenrichtlinieneinstellung verwenden: Benutzerkonfiguration > Administrative Vorlagen > Windows-Komponenten > Internet Explorer > Kompatibilitätsansicht > Richtlinienliste von Internet Explorer 7-Sites verwenden
(kleine Randnotiz: Einträge gelten immer für die ganze Toplevel Domain. Man kann keine Einträge nur für Subdomains festlegen. Bsp.: trägt man sub.domain.de ein, wird auch test.domain.de, sowie domain.de selbst in der Kompatibilitätsansicht geladen.)

Wenn man die Einstellung gesetzt hat, sieht man als Benutzer (nach Neuanmeldung oder einem gpupdate)... nichts!
Einstellungen der Kompatibilitätsansicht
... und das ist von Microsoft anscheinend auch so gewünscht. Der Anwender kann nun noch zusätzlich eigene Seiten in die Liste aufnehmen und diese auch wieder entfernen. Die URLs, die per GPO vorgegeben werden, kann der Anwender aber nicht entfernen. Im entsprechenden Fenster werden sie ja schließlich auch nicht angezeigt.

Also: wie findet man nun heraus, ob die GPO Einstellung beim Benutzer auch erfolgreich angewandt wurde?

  1. die eingetragene URL aufrufen
  2. Entwicklertools über F12 öffnen
  3. auf den Tab Konsole wechseln
  4. die Seite neu laden
  5. und siehe da, die Konsole gibt Aufschluss:
    IE Konsole
26Nov/150

W2k12: Dateiinhalte beliebiger Dateitypen durchsuchen

Über das Suchfeld des Windows Explorers kann man nicht nur nach Dateinamen suchen, sondern auch nach Dateiinhalten. Das geht schon seit Server 2003 bzw. XP so.

In Server 2008 wurde die Suche etwas abgeändert, Stichwort Indizierung.

Unter Server 2012 hat es sich wieder etwas geändert, wenn auch nicht so umfangreich wie von 2003 auf 2008.

Um die Dateiinhaltsuche nutzen zu können, muss das Feature "Windows Search" auf dem Server aktiviert sein. Standardmäßig werden dann erstmal nur der Internet Explorer Verlauf, das Startmenü und das Benutzerprofil (bis auf den AppData Ordner) indiziert.

Es gibt nun zwei Möglichkeiten nach Dateiinhalten zu suchen.

  1. Erweiterte Optionen > (An nicht indizierten Orten) Dateininhalte
  2. In das Suchfeld "inhalt: xxx" eingeben

Bei "bekannten" Dateitypen, wie bspw. .txt funktioniert das auch auf Anhieb. Was aber, wenn man eine exotischere Dateiendung hat, deren Dateiinhalte man auch durchsuchen möchte? Nun, Dateitypen die Windows erstmal nicht kennt, werden auch nicht inhaltlich durchsucht.

Man kann Windows aber beibringen dies trotzdem für frei definierbare Dateitypen zu tun. Das funktioniert wie folgt:

  1. Indizierungsoptionen über die Systemsteuerung aufrufen
  2. Erweitert auswählen
  3. Auf den Tab Dateitypen wechseln
  4. Unter Neue Erweiterung in die Liste aufnehmen den gewünschten Dateitypen hinzufügen
  5. Eigenschaften und Dateiinhalte indizieren für den neu hinzugefügten Dateityp auswählen