marvin.im

Bootcamp Partition mit VirtualBox parallel starten

Auf diese weise sollten sich die unterschiedlichsten Hosts virtuell starten lassen. Also nicht nur Windows 7 sondern auch Windows XP, Linux, weiter Mac OS X installationen etc.

Gerade mit Mac OS X Paritionen hatte ich so meine Probleme, ich konnte zwar problemlos meine Snow Leopard Partition innerhalb von Yosemite starten, umgekehrt wollte Yosemite dann aber nicht booten.

Einen kleinen Nachteil hat das ganze, Ihr könnt dann nicht mehr mittel Finder auf die Laufwerke der betroffenen Systeme zugreifen um Dateien zu lesen oder zu bearbeiten. Diese sind dann nämlich nicht mehr gemounted, weil man ja die Virtuelle Maschine gestarted haben könnte.

Los gehts

Öffnet den Terminal (Applications / Dienstprogramme) und gebt folgendes ein:

diskutil list

Ausgabe:

/dev/disk0
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:      GUID_partition_scheme                        *2.0 TB     disk0
1:                        EFI                         209.7 MB   disk0s1
2:                  Apple_HFS Snow Leopard            466.6 GB   disk0s2
3:                  Apple_HFS Yosemite                150.9 GB   disk0s3
4:       Microsoft Basic Data Windows                 773.4 GB   disk0s4

Hier seht ihr die einzelnen Paritionen, nehmen wir an wir möchten unser Windows in Zukunft innerhalb von VirtualBox nutzen, dann merken wir uns disk0s4 als die Partition auf der Windows installiert ist.

export VM2VB=disk0s4

Ab jetzt könnt Ihr mit dem folgenden fortfahren:

sudo diskutil unmount force /dev/$VM2VB
sudo chmod 777 /dev/$VM2VB
sudo echo '# Bootcamp: ' /dev/$VM2VB >> /etc/rc.local
sudo echo diskutil unmount force /dev/$VM2VB >> /etc/rc.local
sudo echo chmod 777 /dev/$VM2VB >> /etc/rc.local
sudo chown root:wheel /etc/rc.local
sudo chmod 755 /etc/rc.local
sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/${VM2VB:0:5} -filename partition_${VM2VB:6:7}_raw.vmdk -partitions ${VM2VB:6:7}
sudo chown $USER partition*.vmdk

Alternativ in einer Zeile für einfaches Copy & Paste

sudo /bin/bash -c "diskutil unmount /dev/$VM2VB ; chmod 777 /dev/$VM2VB && VBoxManage internalcommands createrawvmdk -rawdisk /dev/${VM2VB:0:5} -filename partition_${VM2VB:6:7}_raw.vmdk -partitions ${VM2VB:6:7} && chown $USER partition*.vmdk; echo '# Bootcamp: ' /dev/$VM2VB >> /etc/rc.local; echo diskutil unmount force /dev/$VM2VB >> /etc/rc.local; echo chmod 777 /dev/$VM2VB >> /etc/rc.local; chown root:wheel /etc/rc.local; chmod 755 /etc/rc.local"

Wenn ihr das soweit hinter euch habt, solltet Ihr in eurem Benutzerverzeichnis 2 Dateien finden:

  • partition_?_raw-pt.vmdk
  • partition_?_raw.vmdk (diese wird die Festplatte der VM)

Geht nun in VirtualBox und erstellt eine neue Virtuelle Maschine für euer zu startendes System (evtl. 3D Beschleunigung aktivieren und Grafikspeicher erhöhen).

Es empfiehlt sich bei der Auswahl des Names etwas einzubauen, an dem Ihr erkennt, das es sich um “echte” Partitionen statt Festplatten Images handelt. Ich persönlich setzte dann ein Prefix wie z.B. Bootcamp - Windows 7

Wenn Ihr an dem Punkt seit, an dem man die Festplatte erstellen oder auswählen soll, wechselt ihr in den Finder und verschiebt die beiden Festplatten Dateien aus eurem Homelaufwerk, in den Ordner VirtualBox VMs / %NameEurerVM%

Ihr könnt auch einfach eine VM ohne Festplatten hinzufügen und später dann einfach hinzufügen. Zur Installation der Guest Additions, kann es sein, dass man diese erst als IDE Festplatte hinzufügen und anschließend dann auf SATA neu hinzufügen muss.

Bei dem SATA Controller muss seit VirtualBox Version 5 Use Host I/O Cache aktiviert werden!

Jetzt habt ihr alles sauber aufgeräumt und seit bereit die Maschine zu starten.

Gerade für Windows 7 ist es hier notwendig, das erste mal mittels F8 Taste im abgesicherten Modus zu starten und dort dann die VirtualBox Guest Tools (Treiber und co.) zu installieren. Anderenfalls gerät man schnell in Bluescreens. Auch bei anderen Systemen empfiehlt sich dort die Guest Tools von VirtualBox zu installieren, sofern Sie dafür verfügbar sind, damit Ihr angenehm und wie mit einer “echten” Virtuellen Maschine damit arbeiten könnt.

Wichtig

Es kann zu Problemen mit den Softwarelizenz Prüfungstools geben, falls Ihr das System plötzlich als virtuellen Gast startet.

Troubleshooting

Bluescreen boot

Solltet Ihr mit eurem Windows in eine Bluescreen Bootschleife geraten, könnt Ihr probieren die virtuelle Festplatte von SATA auf IDE zu setzen. Danach sollte die Maschine Problemlos booten.

Yosemite / El Capitan / Sierra Fix for Disk rights

Yosemite ignores /etc/rc.local - so we need to setup a LaunchDaemon http://launchd.info/

sudo vim /Library/LaunchDaemons/im.marvin.rclocalfix.plist

My Launchd fix for /etc/rc.local

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>im.marvin.rclocalfix</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/sh</string>
        <string>/etc/rc.local</string>
    </array>
    <key>StartOnMount</key>
    <true/>
</dict>
</plist>

Set the right rights

sudo chmod 600 /Library/LaunchDaemons/im.marvin.rclocalfix.plist
sudo chown root /Library/LaunchDaemons/im.marvin.rclocalfix.plist