NOTERING: Termiologin är säkert fel, men nyckelpunkterna bör vara korrekta. Skyll det på svenskan och IT-fackspråket.
Som bekant äger jag en Mac. Moderna Mac system kör EFI (Extended Firmware Interface) som är ersättaren till BIOS. Detta är ett snyggt och smart drag av Apple. Inte bara slipper vi en uråldrig bit mjukvara som visserligen tjänat oss väl, men som ungefär är lika flexibel som Centerpartiet. EFI erbjuder, bland annat en flexibel miljö att köra applikationer redan innan en bootloader är aktiv.
En annan fördel är GUID partionstabeller som innehåller stöd för partioner som är större än 2.15 TB (upp till löjliga 9.4 ZB – det är Zetta Byte, alltså en miljard terabyte.) Med andra ord, gott om godis för nördar, utvecklare och hårdvarutillverkare.
Nå – ha detta i bakhuvudet. När jag drog med mig Macen till mina föräldrar för julen så var tanken att spela, slappa och “dröla” med mina vänner. Headphones out fick dock för sig att säga “gå och knulla dig, din stekspade” så efter många om och men så slutade det med att jag förvandlat min systers rum till en verkstad, plockat isär två datorer och håller på med olika små projekt – bortglömt äro ljudproblemet. Istället tog jag mig an ett av det stora problemet jag haft med att köra Windows på en Apple maskin: CMS – emulerad BIOS.
OSX bootar helt och hållet “native” från en GUID tabell med en HFS+ partition, fullt stöd för deras EFI implementering – mycket snyggt och tillförlitligt. Dock, för att få Windows att fungera under denna regim så implementerade Apple ett emulerat BIOS system eftersom enbart ett fåtal Windows versioner stödde EFI, för att inte nämna under mycket specifika omständigheter (mer om detta senare). Eftersom Windows inte kan köra GUID partitioner under MBR (standard tabellerna) så implementerade de också ett hybrid system som gör det möjligt Windows att köra från en liten hörna på hårddisken på MBR tabeller, boota under emulerat BIOS och OSX under fullt EFI och i GUID tabeller.
Varför detta jävla krångel då? Om det nu finns versioner av Windows som stöder EFI varför inte använda dem? Där i ligger ett av de huvudsakliga problemen. Windows sedan Visa x64 har stöd för EFI, men detta är så klumpigt implementerat. Det går att boota installationen och systemet i EFI läge, men EFI bootloadern (för windows) förväntar sig en rad med olika “faktan” om systemet. T.ex. måste det finnas VGA (vilket är en BIOS standard – låter konstigt, eller hur?), måste köra i en exakt upplösning tills kernelen är laddad etc. I jämnförelse så förväntar sig bootloadern för OSX en sak rörande grafik: “native” upplösning på skärmen. Alltså, den upplösning till vilken din skärm är byggd.
Konstigheterna slutar inte där, utan det finns fler exempel vilket min favorit bör vara: Windows FAQ rörande EFI säger att man stöder bara UEFI v2.0+. Efterforskningar av folk på forumen jag besöker har noterat att Windows defakto skiter i detta. Man kan göra ett program som “fejkar” versione av EFI man har på systemet men Windows förväntar sig fortfarande ett antal “faktan” om systemet när det bootar i EFI läge.
Enligt vad jag läst så verkar det som mycket av detta lösts i Windows 8 – åtminstone i de tester som gjorts på Apple maskiner.
Och nu återkommer vi till VARFÖR jag ens påbörjat det här projektet och gjort alla dessa efterforskningar: Två ting. 1: När Windows bootar under emulerad BIOS så kan du slänga på 30 sek – 1 min i boot tid, vilket är milt irriterande. 2: Under CMS så går också SATA kontrollerna tillbaka till att bete sig som IDE.
Nummer ett kan jag leva med, men fan inte nummer två. En lösning är så klart att botta i EFI läge, men det verkar inte vara gångbart för än d3vi1 på macrumors gjort klart sin applikation som just säger åt Windows loadern att alla dessa “faktan” och processen blir mjuk och smidig. Andra lösningen, vilket jag ska pröva nu är att blåsa om Windows 7 och slå på AHCI manuellt.
Jag håller även, vid sidan av allt detta, på med att försöka flasha om mitt “icke-apple” grafikkort med EFI bitar i så jag kan få en boot skärm i macen.