MacOS a iOS jako Virtuální stroj

Z nejrůznějších důvodů můžete potřebovat otestovat něco na MacOS, ať už je to vaše HTML stránka nebo nastavení NAS jako TimeMachine.

Shánět kvůli tomu Mac se může trochu prodražit, zvláště pokud jde o jednorázový test. Jednodušší je vytvořit si virtuální stroj, do kterého nainstalujete MacOS.

Nastavení VirtualBox

Já používám Oracle VM VirtualBox, který je zdarma pro všechny systémy (Windows, Linux i MacOS), na rozdíl od jiných jako VMware nebo Parallels, které mají zdarma jen něco (zpravidla ořezané) a/nebo nejsou pro všechny platformy.

Až stáhnete (pokud již máte starší verzi, tak ji aktualizujte) a nainstalujete VirtualBox (dále jen Správce VM), doporučuji pod Soubor – Předvolby – Obecné změnit cestu, kam se budou ukládat virtuální stroje. Počítejte s tím, že jeden stroj potřebuje 20GB – 40GB, takže umístit ho na 60GB SSD disk, kde už máte váš systém, nemusí být úplně nejlepší. Na druhou stranu bude z disku bootovat OS, takže umístit ho na USB 2.0 disk, také není úplně nejlepší.

Vytvoření VM počítače

Nyní můžete zvolit Počítač – Nový a zadat nějaké příhodné jméno (např. „MacOS“). Dále zvolte typ Mac OS X a verzi zvolte tu nejnovější (nebo takovou, jakou chcete nainstalovat – viz dále). Od verze 10.6 jsou všechny pouze 64-bitové.

Velikost paměti zvolte podle toho, kolik paměti má váš počítač, pro MacOS byste měli použít minimálně 4GB (4096MB), což ale vyžaduje, aby váš počítač měl alespoň 8GB (16GB, pokud chce spouštět současně i další programy jako prohlížeč nebo IDE).

Následně zvolte Vytvořit nyní virtuální pevný disk a klikněte na Vytvořit. Nyní zadejte jméno disku (např. „MacOS disk„) a zvolte velikost. Čistá instalace potřebujete 8GB, takže disk by měl být alespoň 12GB. Myslete ale na to, co budete do počítače instalovat. Např. pro Xcode budete potřebovat dalších 10GB a aby šel MacOS upgradovat na další verzi potřebujete alespoň 6GB volného místa. Pro novější verze jako je Big Sur, Xcode 12 a iOS 14 budete potřebovat mnohem více místa. Pro instalaci OS potřebujete alespoň 35GB, takže doporučuji 64GB disk, aby šel OS upgradovat; pro Xcode dalších alespoň 30GB (plus 12GB pro stažení) a pro každou verzi iOS (14+) simulátoru počítejte dalších 5GB (starší mají méně, ale ne zas o moc). Navíc v Big Sur již není možno později disk zvětšit, takže jakmile OS nainstalujete, tak zůstanete omezeni na velikost disku, kterou jste před instalací zvolili. Proto dopočuji vytvořit dynamický disk o velikost alespoň 128GB (pokud máte místo, tak spíše 256GB a více).

Kvůli tomu, že novější MacOS vyžadují desítky GB, počítejte také s tím, že se budou mnohem déle instalovat, zvláště, pokud virtuální disk umístíte na velký, ale pomalý HDD (5400ot., 7400ot. apod.). Pokud potřebujete VM pro dlouhodobou práci (testování aplikací, webů, apod.), doporučuji investovat do 1TB SSD (který ve verzi SATA, M.2 SATA nebo PCI gen3 vyjde už jen na 2-3 tisíce (2021), takže nejde o nijak velkou investici).

Pokud zaškrtnete Dynamicky alokovat, bude soubor zabírat jen tolik místa, kolik je zabráno ve virtuálním disku, dejte ale pozor, aby na disku, kam se VM ukládají, bylo dost místa. Pokud místo dojde, VM se automaticky pozastaví a počká, než nějaké uvolníte.

Nastavení VM počítače

Až budete mít vytvořený nový počítač, klikněte na Počítač – Nastavení a upravte ho tak, aby se choval stejně jako Macbook nebo iMac. Pod System – Procesor nastavte 2 nebo 4 jádra, podle toho, kolik jader má váš počítač. Pomocí Omezení procesoru můžete zabránit VM, aby zabrala celý čas procesoru (doporučeno je 80%, pokud má VM stejně jader jako hostitelské PC). Pod Obrazovka – Obrazovka nastavte Video paměť na 128MB. Od verze Virtualbox 6.0 přepněte Graphics Controller na VMSVGA. Hodnoty Počet monitorů a Faktor změny zatím neměňte – popis změny rozlišení je popsán dále (během instalace poběží MacOS pouze v 1024×768 – pokud je to na vašem monitoru příliš malé, stiskněte HOST+C pro zvětšení).

Pro novější MacOS (10.15+ a 11.x+) je potřeba provést další změny popsané níže v příslušných kapitolách.

Pod Úložiště odeberte optickou mechaniku (zobrazena jako „Žádný“ s ikonou CD) z prvního SATA řadiče. Pak klikněte dole na „+“ a přidejte SATA nebo USB řadič (bude se chovat stejně jako když do PC připojíte disk přes SATA nebo USB kabel – lepší je tedy SATA pro DVD a USB pro bootovací instalační disk). Následně klikněte na „+“ vedle nového řadiče a zvolte buď DVD (kulatá ikona CD) nebo HDD (hranatá ikona disku). V dialogu klikněte na Vybrat disk a zvolte instalační ISO nebo virtuální USB disk. Pokud instalátor ještě nemáte (popíšu až dále), můžete kliknout na Nechat prázdné (u DVD) nebo Zrušit.

Nakonec pod Zvuk zrušte Povolit zvuk (VirtualBox nemá zvukovou kartu kompatibilní s MacOS a při zapnutí by VM jen zbytečně zkoušela načítat ovladače a zdržovala při bootování). Pokud budete k VM připojovat fyzické USB disky nebo jiná zařízení, můžete pod USB zvolit verzi portu.

Další nastavení již nelze provést přes program, takže bude muset použít příkazový řádek nebo přímo upravit soubor s VM (např. MacOS.vbox).

Doplnění přes příkazový řádek

V příkazovém řádku použijte tyto příkazy (nebo uložte jako setup.cmd a spusťte):

cd /d "C:\Program Files\Oracle\VirtualBox\"

VBoxManage.exe modifyvm "MacOS" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

Místo „MacOS“ zadejte skutečné jméno virtuálního stroje tak, jak je zobrazeno ve Správci VM (program, kde jste VM vytvořili). V příkazu CD zadejte cestu, kde máte VirtualBox nainstalován.

Úprava pro BigSur a novější

Pro instalaci Big Sur (MacOS 11) nebo jiných verzí může být potřeba změnit hodnoty DmiSystemProduct a DmiBoardProduct na „iMac19,1“ a „Mac-AA95B1DDAB278B95“.

cd /d "C:\Program Files\Oracle\VirtualBox\"

VBoxManage.exe modifyvm "MacOS" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac19,1"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-AA95B1DDAB278B95"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

Úprava pro Monterey a novější

Při instalaci Monterey a novejších je potřeba přidat ještě jeden příkaz, aby OS dokázal správně počítat systémový čas (jinak dojde každých cca 10 minut k restartu):

VBoxManage setextradata "MacOS" "VBoxInternal/TM/TSCMode" "RealTSCOffset"

Poznámka: chyba je způsobena tím, jak OS počítá systémový čas na vícejádrovém CPU. Alternativní metoda tedy je snížit počet CPU jader na jedno. To ale nedoporučuji, protože MacOS poběží velmi pomalu a můžete narazit na jiné problémy, protože MacOS předpokládá alespoň 2 procesorová jádra.

Alternativní konfigurace

Pokud vám ani jeden výše uvedených příkladů nefunguje, zkuste ještě tuhle alternativu, která emuluje MacBook:

cd /d "C:\Program Files\Oracle\VirtualBox\"

VBoxManage.exe modifyvm "MacOS" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"

VBoxManage setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

Problém s iOS emulátorem

Pokud později narazíte na problém se spuštěním Iphone Simulatoru (chyba „Springboard quit unexpectingly“), ukončete VM a přidejte ještě do její konfigurace:

cd "C:\Program Files\Oracle\VirtualBox\"

VBoxManage setextradata "MacOS" VBoxInternal/CPUM/IsaExts/AVX 0

VBoxManage setextradata "MacOS" VBoxInternal/CPUM/IsaExts/AVX2 0

Doplnění v editoru

Alternativně můžete soubor *.vbox otevřít např. v Poznámkovém bloku a najít položku VirtualBox\Machine\Hardware\CPU\CpuIdTree\CpuIdLeaf (soubor má XML formát). Tu změňte na:

<CpuIdLeaf id="1" eax="67301" ebx="1050624" ecx="10019837" edx="3219913727"/>

Pak do VirtualBox\Machine\ExtraData přidejte tyto položky:

<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" value="Iloveapple"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" value="iMac11,3"/>
<ExtraDataItem name="VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" value="1.0"/>
<ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/DeviceKey" value="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/>
<ExtraDataItem name="VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" value="1"/>

Pokud nebyla VM ještě spuštěna, může být potřeba sekci <ExtraData> vytvořit. Pro novější MacOS 11 upravte hodnoty (viz předchozí kapitola).

Stažení instalátorů

Pro instalaci MacOS budete potřebovat instalační ISO (DVD) nebo USB disk. Vzhledem ale k tomu, že MacOS se na DVD již nedodává, budete ho muset stáhnout z internetu nebo vytvořit na jiném MacOS (pravda, to trochu postrádá logiku, že potřebujete MacOS pro instalaci MacOS, ale u Apple není nic logické).

Stažení ISO

Instalační ISO můžete získat z nejrůznějších zdrojů nebo torrentů. Pro začátek zkuste Sierra nebo Mojave nebo MacOS 11.2 BigSur.

Poznámka: pokud je ISO uloženo na Google Drive a zobrazí se vám, že byl překročen limit stažení, zkuste následující: přihlaste se do svého Google Drive účtu, pak otevřete link s příslušným ISO a vlevo klikněte na Sdíleno se mnou. Soubor ISO by se měl zobrazit v seznamu a umožnit vám stažení přes váš účet (tedy bez limitu).

Vytvoření USB

Pokud se vám přeci jen podaří získat skutečný Mac, můžete si instalátor stáhnout a vytvořit instalační USB (potřebujete alespoň 16GB prázdný disk).

Stažení instalátoru

Na MacOS spusťte App store a do vyhledávacího pole zadejte jméno, které hledáte (např. „El capitan“ nebo „High Sierra“ – jméno najdete ve Správci VM pod Nastavení – Obecné – Verze). Z nalezených položek vyberte instalátor a otevřete ho. Nyní klikněte na Download a počkejte, až se stáhne. Je možné, že v App store najdete vždy jen nejnovější verzi, starší verze budete muset pomocí patcherů od dosdude1.

Oprava malého instalátoru

Instalátor musí mít přes 5GB (6,5GB pro Mojave, 8GB pro Catalina a dost možná víc pro novější OS). Pokud se vám stáhl jen soubor o několika MB, ukončete App store (+Q),  spusťte Finder (průzkumník souborů), otevřete Aplikace (Applications) a přetáhněte „Install macOS *.app“ do koše (může být potřeba zadat heslo správce). Následně znovu spusťte App store, najděte instalátor a klikněte na Download se stisknutým SHIFT. Pokud to nepomohlo, postup znovu opakujte, ale po smazání instalátoru ještě spusťte Terminál a zadejte příkaz:

> sudo softwareupdate --clear-catalog

Pokud se i tak stáhne jen malý soubor, pomůže ho spustit a nechat příslušný Mac updatovat – soubor updatuje Firmware počítače, který je potřeba pro instalátor.

Ruční vytvoření instalátoru

Alternativní metoda, pokud se vám stáhne jen malý instalátor, je spustit ho, projít instalačním průvodcem a nechat ho stáhnout zbylé instalační soubory. Je potřeba ale stahování sledovat, protože jakmile skončí, automaticky spustí restart OS. V tom okamžiku je potřeba kliknout na Storno (Cancel), aby OS zůstal spuštěný. Následně spusťte příkazový řádek (Terminal) a zadejte tyto příkazy (hvězdičku nahraďte za jméno instalátoru – viz dále):

> sudo -s
mkdir /Applications/Install\ macOS\ *.app/Contents/SharedSupport
cd /macOS\ Install\ Data
find . -mount | cpio -pvdm /Applications/Install\ macOS\ *.app/Contents/SharedSupport

Tím přesunete stažené soubory ze složky /macOS Install Data dovnitř instalátoru (program je složka, viz konec tohoto článku) a budete ho moci použít pro vytvoření USB disku. Je ale možné, že v okamžiku, kdy bude potřeba upgradovat firmware stroje, bude chtít instalátor nejprve restartovat a poté teprve stáhne soubory, což nemusíte chtít udělat.

Použití patcheru od DosDude1

Pro stažení verze Mojave (10.14) a novější můžete použít program od dosdude1. Jděte na stránku http://dosdude1.com/software.html a stáhněte si příslušný patcher. Program samozřejmě stahujte přímo přes MacOS, protože na Windows nebo Linux vám bude na nic.

Před spuštěním programu se přesvědčte, že máte připojený USB disk, na který chcete instalátor nakopírovat. Pokud chcete vytvořit instalátor ve VM na virtuální disk, podívejte se na kapitolu Vytvoření virtuálního USB instalátoru dále.

Program spusťte (pokud to nejde, klikněte na něj pravým tlačítkem a zvolte Open) a z hlavní lišty zvolte ToolsDownload MacOS... (nebo stiskněte MAC+D nebo WIN+D). Zadejte cestu, kam se má program stáhnout (doporučuji složku Applications) a počkejte na stažení. Program je schopen po přerušení pokračovat ve stahování. Data se budou stahovat do složky MacOS Install Data, ale nakonec z ní program vytvoří samostatný instalátor.

Až bude instalátor stažený, program vám automaticky nabídne vytvoření instalačního USB a tak klikněte na Yes a v hlavním okně zvolte váš USB disk. Pak klikněte na Start Operation a pak Yes. Možná také bude potřeba zadat heslo správce. Proces může vypadat zamrzle – klikněte na Verbouse output, kde získáte podrobnější a častěji aktualizovaný postup. Na pomalém disku nebo VM může vytvoření USB trvat několik desítek minut.

Instalátor vytvořený touto cestou je určený pro instalaci MacOS na starší iMac a MacBook, které nejsou oficiálně podporovány. Může tedy nainstalovat další aplikace (tím není myšlen AdWare apod. ale podpůrné aplikace a ovladače pro ovládání starších Maců) nebo fungovat trochu jinak. Pokud potřebujete originální OS, použijte oficiální postup.

Vytvoření USB disku

Až budete mít staženou „Install macOS *.app“ ve správné velikosti, můžete instalátor ukončit, připojit USB disk, a spustit terminál, kde zadejte:

sudo /Applications/Install\ macOS\ *.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --applicationpath /Applications/Install\ macOS\ *.app

Respektive pro MacOS 10.14 a novější (míněno systém, na němž příkaz spouštíte):

sudo /Applications/Install\ macOS\ *.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled --nointeraction

Do parametru volume zadejte místo Untitled (což je jméno pro neformátovaný USB disk) skutečné jméno disku – měli byste ho po připojení vidět na ploše. Stačí smazat Untitled a pak pomocí TAB projít všechny připojené disky. Stejně tak musíte „*“ nahradit skutečným jménem souboru (pozor, že je v příkazu dvakrát). Opět stačí smazat „*.app“ a stiskem TAB nechat jméno doplnit.

Na závěr se přesvědčte, že parametry volume a applicationpath nekončí lomítkem.

Příkaz odešlete stiskem ENTER, zadejte heslo správce a pak zadejte „Y“ pro potvrzení, že se USB disk naformátuje! Pokud formátování skončí s chybou, zkuste USB disk naformátovat přes Applications\Utilities\Disk Utility nebo v jiném PC.

Poznámka: Pokud vám následně nejde spustit VM z USB disku, podívejte se na kapitolu Instalace upgradu, jak spustit počítač s použitím *.efi souboru (který je na USB uložen pod System\Library\CoreServices\boot.efi.

Vytvoření ISO z PKG nebo APP

Pokud máte soubor PKG, APP nebo DMG s instalátorem, můžete použít nástroje MacOS k vytvoření ISO (resp. CDR, které je ale kompatibilní s ISO). Pozor na to, že to musíte dělat na MacOS (takže už musíte mít nějakou starší VM nebo fyzický Mac) a budete potřebovat 3x tolik volného místa, kolik zabírá instalace daného MacOS (např. pro Big Sur 12GB PKG + 12GB APP + 12 GB DMG + 12GB ISO – samozřejmě nepotřebné soubory můžete umazávat) a v případě VM jak uvnitř VM tak i na hostitelském disku (pokud je VM disk dynamický). Nicméně pro VM do ní můžete přidat dočasný nový disk o dostatečné velikosti a až ISO vytvoříte a stáhnete, můžete disk smazat.

Pokud máte jen PKG, je potřeba z něj nejprve získat APP soubor. Soubor PKG se dá na MacOS rozbalit stejně jako ZIP pomocí PKGutil přes Terminál (3. parametr je jméno složky, do které se PKG rozbalí):

pkgutil --expand InstallMacOS.pkg MacOSInstall

Pokud se vám nedaří PKG rozbalit tímto příkazem, zkuste ho prostě spustit a instalátor se sám vytvoří ve složce Applications.

Nyní máme APP, ze které můžeme vytvořit soubor vytvořit DMG. To uděláme tak, že vytvoříme prázdný DMG soubor. Hodnotu size volte podle toho, jak velký je PKG nebo APP, aby se na něj vešly všechny soubory:

hdiutil create -size 13g -type UDTO -layout SPUD -fs JHFS+ MacOSInstall.cdr

… připojíme ho tím, že ho otevřeme …

open MacOSInstall.cdr

… a soubory na něj nakopírujeme (pro sudo je potřeba zadat heslo administrátora):

sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MacOSInstall --nointeraction

Při zadávání příkazu pamatujte, že všechny soubory a složky z příkazu existují, takže stačí zadat první písmeno a stisknout TAB pro automatické doplnění (hlavně u jména APP, které musí mít escapované mezery).

Vytvoření ISO z DMG

Pokud máte instalátor v DMG formátu, stačí ho převést na CDR, který podle potřeby můžete přejmenovat na ISO:

hdiutil convert MacOSInstall.dmg -format UDTO -o MacOSInstall.cdr
mv MacOSInstall.cdr MacOSInstall.iso

Vytvoření virtuálního USB instalátoru

Tento postup přichází v úvahu jen pokud již máte MacOS nainstalovaný ve VM a snažíte se ho upgradovat.

Vypněte VM, jděte do Nastavení – Úložiště a dole klikněte na „+„. Zvolte Přidat USB řadič, pak u nového řadiče klikněte na ikonu „+“ pro přidání nového disku a zvolte Vytvořit disk. Zadejte velikost 16GB a zvolte Dynamicky alokovat.

Spusťte VM a po přihlášení se zobrazí informace o novém disku. Klikněte na Initialize (nebo spusťte Disk utility), vyberte External – VBOX HARDDISK a klikněte na Erase a znovu na Erase (ostatní hodnoty můžete nechat výchozí).

Nyní můžete postupovat stejně jako se skutečným Mac a USB diskem popsaným výše. Instalátor bude vytvořen na virtuálním disku, který pak můžete připojit k jiné VM a vytvořit novou instalaci MacOS.

Po té, co vytvoříte nový instalátor v MacOS, můžete nakonfigurovaný VM použít pro vytvoření nového. Ve Správci VM klikněte na Aktuální stav a Take (Vytvořit Snímek). Nazvěte ho třeba „Příprava na klon“. Nyní v nastavení odeberte disk, na kterém je nainstalován aktuální MacOS a přidejte nový disk pro nový systém. Nechte připojené USB s právě vytvořeným instalátorem. Následně klikněte na Aktuální stav v Klonovat. Přepněte na Expertní režim, zadejte jméno nového VM a zvolte Plný klon a Aktuální stav počítače a zašktrněte Reinicializovat MAC adresy (což označuje fyzické adresy síťových karet a nemá nic společného s MacOS). Až se klon dokončí, klikněte na vytvořený snímek a klikněte na Restore (Obnovit) a pak Smazat, abyste VM vrátili od původního stavu před smazáním disku. Novou VM pak můžete spustit a pomocí virtuálního USB disku nainstalovat MacOS.

Starší instalátory

Instalátory starších verzí MacOS můžete stáhnout na stránce os.dosdude1.com. Dosdude1 je známý vývojář zabývající se MacOS a jeho souborům můžete důvěřovat, že neobsahují škodlivý software.

Ze stránky stáhnete buď *.zip nebo *.dmg, což je archiv, který umí MacOS otevřít a pracovat s ním stejně jako s normální složkou. V ZIP nebo archivu pak bude aplikace „Install macOS *.app“ – viz popis výše pro vytvoření instalačního USB.

Instalace MacOS

Až budete mít instalátor, připojte do k VM. Jděte do Nastavení – Úložiště. Pokud máte ISO, klikněte na prázdnou DVD mechaniku („Žádný“) a klikněte na ikonu CD s malou šipkou a zvolte Vybrat soubor s obrazem. V případě virtuálního USB disku klikněte dole na „+“ a zvolte Přidat USB řadič. Pak klikněte na „+“ u řadiče a zvolte Vybrat existující disk. Následně jděte do Nastavení – Systém a pod Pořadí bootování nastavte potřebný typ jako první.

Pokud máte fyzický USB disk s instalátorem, můžete ho připojit po spuštění VM přes menu Zařízení – USB – <jméno disku>.

Pro instalaci MacOS Catalina a novější postujte dále podle následující kapitoly „Instalace Catalina!“ Pro instalaci MacOS 11 Big Sur postupujte podle kapitoly „Instalace Big Sur“.

Pokud se po spuštění VM nespustí instalátor MacOS, klikněte do obrazovky VM a stiskněte HOST + R (která klávesa je HOST je napsáno v pravém dolním rohu okna) a následně mačkejte F12 dokud se nezobrazí bootovací menu. Zvolte Boot manager a následně požadovaný disk (DVD nebo USB).

Až se zobrazí první obrazovka instalátoru (na které je nahoře lišta), zvolte v horní liště Utilities – Disk utility (od verze Mojave stačí kliknout na Disk Utility v okně Utilities). Zvolte prázdný disk pod Internal a pak klikněte na Erase. Zadejte jméno (např. System) a vyberte „Mac OS Extended (Journaled)„. Klikněte na Erase a počkejte, až se disk naformátuje. Pak Disk utility ukončete a pokračujte v instalaci.

Během instalace byste neměli narazit na nic, co by vyžadovalo extra vysvětlení. Jen doporučuji zakázat lokační službu, Siri a odesílání statistik. Žádost o přihlášení do Apple účtu můžete přeskočit (lze provést později přes iTunes nebo App store, až to bude skutečně potřeba).

Pokud po prvním restartu VM zamrzne, nebo se znovu spustí instalátor, zvolte v menu Zařízení – Optické mechaniky – Odebrat disk. Následně zvolte Počítač – Reset. Pokud to nepomůže, zavřete okno VM a zvolte Vypnout počítač.  Jděte do Nastavení – Úložiště, a úplně odeberte instalační disk. Následně VM znovu spusťte.

Pokud někdy v budoucnu VM zamrzne po restartu, pomůže úplně VM vypnout – zavřete okno VM a zvolte Vypnout počítač. Pak VM znovu spusťte.

Instalace Catalina

Pro instalaci verze MacOS 10.15 Catalina musíte použít trochu jiný postup.

Nejprve si stáhněte speciální bootovací disk (nebo z Google Drive).

Jděte do nastavení virtuálního počítače a nejprve na záložce Systém přepněte hodnoty Čipová sada na PIIX3 a Ukazovací zařízení na USB Tablet. Také zaškrtněte Povolit EFI. Pod Úložiště odeberte všechny SATA řadiče kromě toho, ve kterém je připojen výchozí disk (VDI). Následně u tohoto řadiče klikněte na Přidat pevný disk (modrá čtvercová ikona se zeleným „+“), klikněte na Vybrat existující disk a zvolte speciální bootovací disk, který jste výše stáhli. Pokud máte instalační ISO, které nyní není v seznamu Storage Devices, znovu ho připojte to SATA řadiče pomocí modré kulaté ikonky se zeleným „+“.

Spusťte virtuální počítač a nabootujte z ISO nebo USB (což by mělo být automatické).

Až se zobrazí první obrazovka instalátoru (na které je nahoře lišta), zvolte Disk Utility. Zvolte prázdný disk (první ikonou vlevo přepněte na View all a zvolte disk pod Internal) a pak klikněte na Erase. Zadejte jméno (např. System) a vyberte „Mac OS Extended (Journaled)„. Klikněte na Erase a počkejte, až se disk naformátuje. Pak Disk utility ukončete.

Zvolte Reinstall MacOS a postupujte podle průvodce. Až se počítač restartujte, vypněte ho (menu Soubor – Zavřít – Vypnout počítač), jděte do nastavení počítače a pod Úložiště odeberte instalační ISO nebo USB. Nechte ale stále připojený bootovací disk.

Znovu spusťte virtuální počítač a zobrazí se vám EFI Shell (příkazový řádek). V něm zadejte příkaz install.nsh:

Shell> install.nsh

Příkaz potvrďte pomocí Enter a počkejte, až se dokončí instalace. Uvedený příkaz (který je uložený na bootovacím disku) je důležitý, aby správně upravil spouštění virtuálního počítače tak, aby zvládl spustit OS Catalina (což u fyzických Maců obstarává aktualizovaný firmware).

Poznámka: během instalace se zobrazuje odhadovaný čas do konce, ale ten neberte v úvahu, protože ve virtuálním stroji běží čas trochu jinak. Instalace může trvat až hodinu. Zvlášť matoucí je závěrečná informace „About a minute remaining…“ („zbývá méně než minuta“), která je ale zobrazena několik desítek minut (protože virtuální stroj dokončuje zápis souborů do virtuálního disku a trvá mu to dlouho).

Po instalaci a restartu (který opět může trvat několik minut) by měl normálně naběhnout operační systém a budete si moci zvolit jazyk, přihlašovací údaje atd.

Speciální bootovací disk nechte stále připojený, protože obstarává správné spuštění operačního systému!

Instalace Big Sur

Před prvním spuštěním jděte do nastavení virtuálního počítače a na záložce Systém přepněte hodnoty Čipová sada na PIIX3 a Ukazovací zařízení na USB Tablet. Také zaškrtněte Povolit EFI.

Po spuštění vyberte English (nebo Čeština), klikněte na šipku vpravo dole a počkejte na zobrazení hlavní obrazovky s možnostmi Obnovit TimeMachine, Instalovat Big Sur, atd.

Pokud máte nový virtuální stroj s novým HDD, nejprve klikněte na Disk Utility a Continue. Vlevo vyberte VBOX HARDDISK Media (nebo podobný název) a podle velikosti ověřte, že jde o správný disk. Klikněte na Erase (nahoře) a zadeje název (např. „SystemDisk“). APFS je nový souborový systém optimalizovaný pro SSD disky – pokud je tedy VM disk umístěn na SSD, použijte APFS; pokud je na HDD můžete použít Mac OS Extended (Journaled). Pokud chcete na disk ukládat důvěrná data, zvolte APFS (Encrypted). Na závěr klikněte na Erase.

Až se proces dokončí, klikněte na OK, vlevo vyberte vytvořený disk a ověřte, že pod Free (volné místo) je zobrazena požadovaná velikost (tedy zhruba tolik, jak velký je virtuální disk). Okno zavřete červeným křížkem (vlevo nahoře).

Klikněte na Install macOS Big Sur a pak Continue. Potvrďte všechny smlouvy (Agree) a vyberte disk (vytvořený v předchozím odstavci). Klikněte na Continue a počkejte na dokončení instalace.

Během instalace se může VM několikrát restartovat. Při restartu se může VM zdánlivě zaseknout na hlášce „Failed to call …“ nebo „Forcing … for entitlement“ apod. Nejde o skutečné zamrznutí, ale o pokusy MacOS vyrovnat se s nestandardním prostředím (virtuálním strojem). Stačí počkat pár minut a instalace by měla pokračovat. Pokud byste v takové situaci ručně stroj restartovali, můžete poškodit soubory na (virtuálním) disku, což by vyžadovalo jeho zformátování a reinstalaci systému.

Po dokončení instalace vyberte stát (Czechia) a další funkce. Na obrazovkách Accessibility a Migration Assistant zvolte Not now (dole) a na Apple SignIn zvolte Do it later. Znovu potvrďte licenci a zadejte jméno účtu. Dále můžete vypnout funkce jako Siri a Screentime.

Pokud se během instalace Big Sur počítač restartuje a následně naběhne do nouzového režimu, instalátoru, Updateru, vyhodí chybu, že nemůže najít boot disk apod., došlo ke špatnému nabootování. V takovém případě je potřeba počítač restartovat (HOST + R) a stiskem ESC nebo F12 spustit EFI menu. V něm zvolte Boot Maintenance manager a Boot from file. Najděte disk pojmenovaný MacOS Installer (nebo podobně) a na něm najděte soubor boot.efi (je skrytý v nějaké složce, jejíž jméno může být náhodné GUID, ale na disku by zase nemělo být tolik složek, abyste ho nenašli). Najeďte na soubor boot.efi, stiskněte Enter a instalace Big Sur bude pokračovat.

Instalace upgradu

Pokud již máte nainstalovánu starší verzi (např. Sierra) a chcete ji upgradovat (např. na High Sierra), můžete narazit na to, že po upgradu a restartu opět naběhne původní verze OS.

To je způsobení tím, že instalátor vytvoří další disk, ze kterého má po restartu nabootovat instalace (podobně jako při upgradu Windows 10). VirtualBox ale na to není připraven a nabootuje normálně ze stejného disku.

Poznámka: Pro instalaci Mojave a novější použijte raději výše popsaný postup se stažením instalátoru, vytvoření instalačního USB a OS nainstalujte znovu!

Pokud k tomu dojde, klikněte do okna VM a stiskněte HOST + R (která klávesa je HOST je napsáno v pravém dolním rohu okna) a následně mačkejte F12 dokud se nezobrazí bootovací menu. Zvolte Boot Maintenance Manager (poslední položka, odlišná od normální Boot Manager!) a pod položkou Boot from File zvolte disk (pravděpodobně bude nazvaný Installer, Updater nebo nějak podobně; zpět se vracíte stiskem ESC). Na disku najděte složku <macOS Install Data> a následně otevřete <LockedFiles> a <BootFiles>. V této složce by měl být soubor boot.efi, který vyberte.

Tím by se měl spustit instalátor. Jen pozor na to, že instalátor se může spouštět několik minut podle toho, jak výkonný je VM a hostitelský počítač.

Upgrade Big Sur

Pokud máte nainstalovánu beta verzi systému a chcete updatovat na novější verzi, může být potřeba zavolat z konzole:

sudo /System/Library/PrivateFrameworks/Seeding.framework/Resources/seedutil unenroll
sudo /System/Library/PrivateFrameworks/Seeding.framework/Resources/seedutil enroll DeveloperSeed

Pro upgrade na nejnovější verzi (např. v případě, že jste stáhli starší ISO), zadejte do Terminálu:

//zobrazení dostupných aktualizací (parametr L jako "list"):
softwareupdate -l
//instalace všech dostupných aktualizací (a automatický restart):
softwareupdate -iaR
//instalace pouze doporučených aktualizací (a restart):
softwareupdate -irR

Pokud používáte VM k testování všeho možného, může se vám stát, že tím poškodíte systémové soubory. Pro jejich ověření spusťte z konzole:

diskutil apfs list

V seznamu najděte systémový disk a ověřte jeho stav „Sealed“. Pokud je stav „Yes“, znamená to, že je OS v pořádku. Pokud je stav „Broken“, znamená to, že není možné provést upgrade. Pokud je ale u položky „Snapshot Sealed“ hodnota „Yes“, můžete se pokusit vrátit systém do dřívějšího stavu (pomocí TimeMachine?).

Upgrade Monterey

Upgrade z BigSur na Monterey se zdá být bezproblémový – stačí přes AppStore nebo Software Update stáhnout Monterey instalátor a nechat ho nainstalovat. Po restartu by měl normálně naběhnout nový systém.

Pokud po upgradu narazíte na časté (cca po 10 minutách) restarty kvůli „system panic“, vypněte VM, spusťte příkazový řádek (viz kapitola Nastavení VM počítače) a zadejte :

VBoxManage setextradata "MacOS" "VBoxInternal/TM/TSCMode" "RealTSCOffset"

Následně můžete VM Monterey spustit a aktualizovat Safari a XCode.

Spuštění záchranného disku

MacOS obsahuje záchranný oddíl, který můžete použít, pokud MacOS nechce naběhnout (podobně jako stav nouze ve Windows).

Na iMac nebo MacBooku se spouští držením některých kláves během spouštění, ale u VM to nefunguje, protože nemá firmware, který by klávesy odchytil.

Místo toho klikněte do okna VM a stiskněte HOST + R (která klávesa je HOST je napsáno v pravém dolním rohu okna) a následně mačkejte ESC nebo F12 dokud se nezobrazí bootovací menu. Zvolte Boot Maintenance Manager (poslední položka, odlišná od normální Boot Manager!), a pod položkou Boot from file zvolte první disk (nebo druhý, třetí, atd. pokud na prvním nenajdete potřebné soubory – zpět se vracíte stiskem ESC). Na disku najděte složku <com.apple.recovery.boot> a v ní soubor boot.efi, který vyberte.

Pokud příslušnou složku ve svém MacOS nenajdete, můžete místo toho nabootovat z instalačního ISO nebo USB (pokud ho máte připojený).

Spuštění MacOS z UEFI Interactive Shell

Někdy se vám může stát, že VM místo do MacOS naběhne do konzole podobné starým MS-DOS nebo Linux. Obvykle se to stává po instalaci upgradu nebo jiné změně disku.

Jak spustit OS pomocí UEFI konzole se podívejte do Spuštění PC přes UEFI Shell.

Někdy se také může stát, že VirtualBox VM zapomene nastavení spouštění (dříve pořadí bootování disků) a posune UEFI konzoli na první místo. Pokud se to stane, restartujte VM (HOST + R) a mačkejte ESC nebo F12, dokud se nedostanete do nastavení VirtualBox UEFI.

Zvolte Boot Options a Change Boot Order, najeďte na seznam disků a stiskem Enter ho otevřete. Nyní můžete šipkami vybírat položky a pomocí + a - (numerické plus a mínus nebo plus a pomlčka) je posouvat; cílem je, aby první byla CD mechanika nebo HDD a Interactive Shell byla na posledním místě. Až položky seřadíte, stiskem Enter je potvrďte a následně stiskněte F10 a Y pro uložení do UEFI paměti. Pak opakovaným stiskem ESC restartujte počítač.

Sdílení dat mezi Windows a MacOS

Do MacOS nemůžete nainstalovat Vbox Additional Tools, tak jako byste to udělali na Windows nebo Linux, a proto nebudou fungovat Sdílené složky dostupné ve Správci VM.

Můžete ale využít toho, že Windows 10 umí pracovat v virtuálními disky podobně jako s ISO nebo běžnými disky.

Nejprve klikněte pravým tlačítkem na Tento počítač (ve Windows) a zvolte Spravovat. Otevřete položku Správa disků a počkejte, než se načte (může to trvat i několik minut, pokud máte více disků). Z menu zvolte Akce – Vytvořit virtuální pevný disk. Zadejte cestu (nejlépe do složky, kde je uložena VM), jméno (např. „Shared disk.vhd„), zvolte formát VHD (ten podporují Windows i VirtualBox) a typ Dynamicky se zvětšující (stejné jako Dynamicky alokované ve Správci VM). Nakonec pod jménem zadejte velikost (jelikož je dynamicky alokovaný, můžete zadat maximum 2TB) a klikněte na OK.

Nový disk se zobrazí dole v seznamu. Klikněte pravým tlačítkem na jeho levou část (tam, kde je zobrazeno „Neinicializováno„) a zvolte Inicializovat. Zvolte GPT a klikněte na OK. Následně klikněte na pravou část (tam, kde je „Nepřiřazeno„) a zvolte Nový jednoduchý svazek. Pomocí průvodce pak naformátujte disk stejně jako nový fyzický disk (SATA, USB, apod.). Jako systém souborů zvolte FAT nebo exFAT (MacOS umí sice z NTFS číst, ale nemůže na něj soubory zapisovat).

Na disk nakopírujte soubory, které chcete odeslat do VM.

Nyní ve Správci disků klikněte pravým tlačítkem na levou část disku (tam, kde je teď „Online„) a zvolte Odpojit virtuální pevný disk a potvrďte OK. Přejděte do Správce VM, klikněte na VM a v Nastavení – Úložiště klikněte na Řadič SATA a ikonu „+“ pro přidání disku. Zvolte Vybrat existující disk a vyberte právě vytvořený sdílený disk. Potvrďte OK a VM spusťte. Disk se zobrazí na ploše nebo ve Finder.

Pro přenos souborů zpět nakopírujte soubory na disk a vypněte MacOS. Přejděte do Správce disků ve Windows, zvolte Akce – Připojit virtuální pevný disk a zadejte cestu k disku. Pokud máte ve VM vytvořené Snapshoty (Snímky), nezapsala se data do výchozího disku, ale do nového disku ve složce Snapshots (viz Nastavení – Obecné – Pokročilé – Složka pro snímky). Najděte tedy *.vhd soubor s nejnovějším datem změny a ten připojte. Alternativně můžete otevřít soubor *.vbox v editoru, najít sekci VirtualBox\Machine\MediaRegistry\HardDisks nebo <Snapshot> s příslušným name a podle řadiče a portu (viz Nastavení – Úložiště) najít jméno souboru, kde je disk uložen.

Upozornění: Nový disk vytvořený snapshotem obsahuje pouze změněné sektory disku (nezávisle na tom, jak je disk naformátován). Měnit tedy původní virtuální disk může nenávratně poškodit soubory na disku! Pokud chcete měnit původní disk, odpojte ho od VM a a následně smažte jeho záznamy z *.vbox v sekcích Snapshot\StorageController, aby se nenačetl po obnovení Snímku. Nebo můžete smazat všechny Snímky a Správce VM překopíruje změněné sektory zpět do původního souboru. Nebo ještě jinak vytvořte nový Snímek, v Nastavení – Úložiště odeberte všechny disky kromě toho, který chcete zachovat, vytvořte další Snímek a naklonujte ho do nové VM, čímž se vytvoří nový virtuální disk se všemi daty.

Změna rozlišení

MacOS a VM si moc nerozumí ohledně podporovaných rozlišení a tak se MacOS po instalaci nastaví na 1024×768 a neumožní změnu.

Rozlišení můžete natvrdo vynutit (po té, co VM vypnete!) pomocí změny hardware dané VM, což provedete z příkazového řádku (viz výše „Nastavení VM počítače„):

VBoxManage setextradata "MacOS" "VBoxInternal2/EfiGraphicsResolution" 1920x1080

Jako hodnotu (šířka a výška, oddělené malým písmenem X) můžete bezpečně použít rozlišení, která jsou běžně používána na iMac a MacBook, tedy: 1280×720 (HD), 1920×1080 (FHD), 2560×1440 (QHD), 3840×2160 (4K), 5120×2880 (5K) a některá starší jako 1280×800, 1280×1024, 1600×900, 1440×900, 1024×768, 800×600, 640×480. Můžete zkusit i další rozlišení, ale u nich nemusí MacOS správně nastartovat nebo se zobrazit.

Alternativně můžete použít oddělené nastavení šířky a výšky:

VBoxManage setextradata “MacOS” VBoxInternal2/EfiHorizontalResolution 1920
VBoxManage setextradata “MacOS” VBoxInternal2/EfiVerticalResolution 1080

Problém může nastat s tím, že MacOS pro vyšší rozlišení (FHD, QHD a 4k) používá vyšší DPI (počet bodů na palec – tzv. Retina) než používá vaše Windows nebo Linux plocha. Pak může dojít k tomu, že i když máte 1920×1080 monitor, tak rozlišení 1920×1080 na MacOS bude 4x větší a na monitor se nevejde.

Pro řešení máte několik možností: 1) ověřte, že v Nastavení VM je pod Obrazovka zvolen Faktor změny: 100%, 2) můžete zvolit menší rozlišení, které se vám na monitor vejde (třeba 1440×900), 3) po nastartování VM stiskněte HOST+F, čímž spustíte celoobrazovkový režim (Full-screen) a skryjete lišty hostitelského systému 4) po nastartování VM stiskněte HOST+C, což zmenší okno VM (tzv. Zmenšený režim) tak, aby se vešlo na monitor (čímž se může obraz trochu zkreslit), 5) připojte se k VM přes vzdálenou plochu (jde nastavit v možnostech VM), což vám zpravidla umožní přizpůsobit obraz monitoru.

Výhoda zmenšeného režimu je v tom, že klidně můžete nastavit i vyšší rozlišení, než má váš monitor a vyzkoušet, jak MacOS vypadá na Retina displeji. Pozor ale na to, že grafické možnosti VM jsou omezené a vyšší rozlišení bude vykreslovat pomalu. V tomto režimu zobrazíte menu stiskem HOST + Home.

Pokud výše uvedená metoda nefunguje, zkuste příkaz:

VBoxManage setextradata "MacOS" "VBoxInternal2/EfiGopMode" 4

Tento příkaz podporuje pouze rozlišení 4:3, kde 0 je 640×480, 2 je výchozí 1024×768 a maximum 5 je 1900×1200. Zkuste tedy čísla 0 – 5, jak budou fungovat.

Další dva příkazy, které mohou fungovat:

VBoxManage setextradata "MacOS" "CustomVideoMode1" 1920x1080x24
VboxManage controlvm "MacOS" setvideomodehint 1920 1080 24

Do příkazů zadáváte výšku, šířku a hloubku barev. (Video mode hint pravděpodobně funguje jen po instalaci VM ovladače, což u MacOS nejde.)

Ještě můžete zkusit:

VBoxManage setextradata global "GUI/MaxGuestResolution" any

Kde hodnotou any nebo auto zrušíte omezení rozlišení.

Instalace Xcode

Xcode je vývojové prostředí pro psaní aplikací pro MacOS a iOS. Také ale obsahuje užitečné nástroje jako je emulátor iOS (iPhone, iPad, Apple Watch, Apple TV, atd.).

Pro instalaci spusťte App store a do vyhledávání zadejte „xcode“ a zvolte první aplikaci (ikona s modrým papírem a kladivem). Klikněte na Install a počkejte na stažení aplikace (má kolem 10GB). Pokud je to první instalace z AppStore, budete muset zadat přihlašovací údaje k Apple účtu. Pokud žádný nemáte, budete ho muset vytvořit.

Aplikaci spusťte, odsouhlaste podmínky a počkejte, až se doinstalují další komponenty.

Pro bližší popis Xcode se podívejte do článku Emulátor iPadu a iPhonu.

Organizace aplikací na MacOS

Pro uživatele Windows může být matoucí, jak fungují aplikace na MacOS.

Aplikace se zobrazují jako soubor *.app zpravidla ve složce Aplikace, což může být chápáno stejně jako *.exe na Windows.

Aplikace na MacOS jsou ale složky s příponou *.app, díky které systém pozná, že má aplikaci spustit. Ve skutečnosti je ale spustitelný soubor uložen někde uvnitř složky (a jeho jméno je uloženo v nějakém *.plist souboru, což je obdoba *.ini na Windows) a může obsahovat i více aplikací, které lze pak spustit buď pomocí kontextového menu hlavní aplikace nebo po otevření složky, což zpravidla provedete tak, že na aplikaci kliknete pravým tlačítkem (nebo levým se stisknutým CTRL) a zvolíte Show package contents.

Pokud uvedená položka v menu není, můžete se k obsahu aplikace dostat přes terminál, když zadáte:

> cd /Applications/<aplikace>.app/Contents/

Debuggování webu z fyzického zařízení

Pokud máte fyzický iPhone nebo iPad, na kterém máte problém s webovou stránkou, ale na Simulátoru ji nemůžete zreprodukovat, můžete k virtuálnímu MacOS připojit dané zařízení.

Připojte iPhone nebo iPad k hostitelskému počítači USB kabelem. V okně virtuálního MacOS otevřete menu Zařízení (Host + klávesa Home) a pod USB klikněte na Apple inc. iPhone nebo něco podobného. Tím přepojíte zařízení z hostitelského počítače do virtuálního. Následně spusťte na MacOS iTunes a spárujte zařízení. Párování by mělo proběhnout automaticky, jen je potřeba na fyzickém zařízení kliknout na Důvěřovat pro potvrzení. Během párování se ale může zařízení samo odpojit načež je pak potřeba znovu ho připojit k virtuálnímu stroji přes menu Zařízení.

Až bude zařízení spárování a uvidíte jeho obsah v iTunes, jděte do nastavení zařízení a pod Safari – Pokročilé povolte Inspektora webu (Web Ispector). Následně v Safari načtěte problematickou stránku. Na MacOS spusťte Safari (pokud je již spuštěno, je potřeba ho nejprve v menu Safari pomocí Quit Safari).

Otevřete menu Safari – Preferences a pod Advanced zaškrtněte Show developer menu. Tím by se měla objevit v menu položka Develop a pod ním dané zařízení pod jmémen, které je v zařízení uvedeno (pokud ho nevidíte, ukončete a znovu spusťte Safari; nebo zkuste nainstalovat Safari Technology Preview). V podmenu by měl být seznam stránek, které jsou v Safari otevřeny, a kliknutím na ně se zobrazí inspektor (pokud stránku nevidíte, zkuste ji obnovit v Safari na zařízení).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..