• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Na, habt Ihr genügend in Stoffen geschwelgt? Dann könntet Ihr Euch jetzt die zahlreichen Einsendungen dieses Monats anschauen und entscheiden, welches Foto davon Euch am Besten gefällt. Hier geht es lang zur Abstimmung --> Klick

MBR zerschossen nach mehreren Triple-Boot fehlschlägen?

erniejunior

Cox Orange
Registriert
15.03.06
Beiträge
98
Hallo,

letzte Woche ist die neue 500GB Platte für mein MacBook gekommen und da habe ich beschlossen mir ein Triple-Boot System einzurichten. Ich bin dann auch mehreren Anleitungen brav gefolgt aber immer gescheitert. Ich habe den Verdacht, dass ich schon recht am Anfang meinen MBR zerschossen oder Grub auf der falschen Partition installiert habe und deshalb immer irgendwas nicht geklappt hat.
Um wieder ganz von vorne ohne "Vorbelastungen" anfangen zu können habe ich die Linux und Windows Partitionen gelöscht und die Snow Leopard Partition wieder über die gesamte Festplatte gestreckt. Nur um den MBR oder Grub mache ich mir noch Sorgen. Ich kenne mich zu dem Thema leider nicht so gut aus; vielleicht weiß jemand anderes ja was kaputt ist. Hier sind mal alle Daten die ich rausfinden konnte:

Partition Inspector:
Code:
*** Report for internal hard disk ***

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640    976248879  Mac OS X HFS+

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2 *       409640    976248879  af  Mac OS X HFS+

MBR contents:
 Boot Code: Unknown, but bootable

Partition at LBA 40:
 Boot Code: GRUB
 File System: FAT32
 Listed in GPT as partition 1, type EFI System (FAT)

Partition at LBA 409640:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 2, type Mac OS X HFS+
 Listed in MBR as partition 2, type af  Mac OS X HFS+, active


sudo pdisk -l:
Code:
pdisk: No valid block 1 on '/dev/rdisk0'

Partition map (with 512 byte blocks) on '/dev/rdisk2'
 #:                type name       length   base   ( size )
 1: Apple_partition_map Apple          63 @ 1     
 2:           Apple_HFS disk image  40896 @ 64     ( 20.0M)

Device block size=512, Number of Blocks=40960 (20.0M)
DeviceType=0x0, DeviceId=0x0
Hat das alles so seine Ordnung? Beim Partition Inspector steht immer noch was von Grub. Ich glaube das habe ich versehentlich falsch installiert.

Weitere Infos gebe ich gerne auf Anfrage raus. Ich hätte gerne alles im ursprünglichen Zustand ohne mein Snow Leopard komplett neu installieren zu müssen.

Vielen Dank im Voraus


erniejunior
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
A) Wenn du GRUB tatsächlich in die EFI Partition installieren wolltest (was durchaus funktioniert), dann stimmt alles.
Dann musst du nur noch die restlichen Daten, die GRUB so zum arbeiten braucht, ebenfalls in diese Partition kopieren und diese (mit "fdisk") im MBR auch als "aktiv" brandmarken. (Das Zeug unter /boot - sprich: du kannst die EFI Partition schon beim Installationsvorgang als Mountpoint "/boot" ins System einbinden. Dann wird sie verwendet wie jede andere Bootpartition auch.)

B) Wenn du GRUB aber nicht in die EFI Partition installieren wolltest...
...dann hast du echt Scheiss gebaut. Dann sei dir geraten, die gesamte HD neu zu partitionieren und komplett von vorne zu beginnen.

Oder... ...du machst folgendes:
Code:
[size="-1"]sudo bash -c "gzip -cd  \
/System/Library/PrivateFrameworks/MediaKit.framework\
/Resources/MKDrivers.bundle/Contents/Resources/efi.loader  \
 | dd conv=notrunc bs=64k of=/dev/disk0s1 ";[/size]
Anschliessend stellt du in der Systemeinstellung "Startvolume" auf "Netzwerkstart", schliesst das Programm (und zwar ganz beenden, nicht nur auf eine andere Pane umschalten o.ä.), öffnest es erneut und wählst dann dein Mac OS Volume wieder als aktiv an. Dann sollte die EFI-Systempartition wieder "wie neu" sein. (Aber auch leer, falls du dort was wichtiges geparkt hast...)
 
  • Like
Reaktionen: erniejunior

erniejunior

Cox Orange
Registriert
15.03.06
Beiträge
98
Wow das war ja mal eine schnelle Antwort. Danke!

zu A): Ich habe glaube ich beim ersten Versuch Ubuntu zu installieren nicht genau angegeben wo Grub installiert werden soll. Ich schätze dabei habe ich es auf der EFI Partition installiert?
Grub auf der EFI Partition zu installieren hieße, dass ich kein rEFIt mehr brauche? Oder liege ich da falsch?
Geplant war es nicht Grub auf dieser Partition zu installieren (rEFIt ist ja auch viel hübscher) aber bevor ich mein Snow Leopard neu installieren muss würde ich einfach das Grub auf der EFI Partition verwenden. Nur weiß ich nicht wie man die restlichen Grub Daten auf die EFI Partition bekommt; die Partition wird ja weder im Finder noch im Festplatten-Dienstprogramm noch unter /Volumes/ angezeigt. Ich schätze ich bräuchte ein Live-System?

zu B): Dann habe ich wohl in meinem jugendlichen Übereifer echt Scheiß gebaut. Deine Anleitung zur Wiederherstellung klingt demnach sehr verlockend. Dennoch traue ich mich nicht sie einfach so anzuwenden weil ich nichtmal eine Ahnung habe was ich da grob mache. Kopiere ich da das EFI neu auf die EFI Partition? Ist einer der Schritte besonders riskant?
Ich habe soweit ich weiß nichts wichtiges auf der EFI Partition geparkt (ich habe ja nie wissentlich überhaupt etwas mit der Partition am Hut gehabt)

Nochmals vielen Dank für die schnelle Antwort.


Grüße


erniejunior
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Grub auf der EFI Partition zu installieren hieße, dass ich kein rEFIt mehr brauche?
rEFIt braucht man sowieso nicht. Es macht das ganze nur geschmeidiger und deutlich mehr "Mac-like".

Nur weiß ich nicht wie man die restlichen Grub Daten auf die EFI Partition bekommt
Die Partition (manuell) mounten wie jede andere FAT-Partition auch, Daten kopieren, fertig.

wird ja weder im Finder noch im Festplatten-Dienstprogramm noch unter /Volumes/ angezeigt. Ich schätze ich bräuchte ein Live-System?
Natürlich lässt sich das am einfachsten gleich direkt in einer Shell vom Linux-Installationsmedium heraus erledigen.
Ist aber auch unter X kein Prob:
Code:
mkdir -m 777 /Volumes/EFI;
sudo mount_msdos /dev/disk0s1 /Volumes/EFI; 
open /Volumes/EFI;

[COLOR="DarkSlateGray"]# Daten kopieren...
# ...und nach der Benutzung:[/COLOR]

osascript -e "tell app \"Finder\" to quit";
sudo rm -rf /Volumes/EFI/.DS_Store /Volumes/EFI/.Trashes /Volumes/EFI/.fseventsd;
sudo umount -f /Volumes/EFI;
rmdir /Volumes/EFI;
open /;

Dennoch traue ich mich nicht sie einfach so anzuwenden weil ich nichtmal eine Ahnung habe was ich da grob mache.
Bist du wirklich sicher dass Linux eine gute Wahl für dich ist? (That's Basics...)

Du "formatierst" die Systempartition neu.
(Genauer gesagt: Du klonst ein vorbereitetes, frisch formatiertes Volume darauf. Macht das Festplattendienstprogramm während des Partitionierens der HD auch nicht anders.)

Kopiere ich da das EFI neu auf die EFI Partition?
EFI steckt in einem 2 MB grossen Flash-RAM-Chip auf der Hauptplatine, nicht auf der HD.
Diese Partition enthält nur optionale Hilfs- und Ergänzungsdaten (sog. "Boot-Time Drivers").
Die Inhalte dort, die von Apple genutzt werden, werden jedesmal wenn du das Startvolume neu einstellst automatisch regeneriert. Du musst dir also nur Sorgen um das machen, was du absichtlich selbst dort installiert hast - höchstvermutlicherhaft also gar nichts.

Ist einer der Schritte besonders riskant?
Es handelt sich nur um einen einzigen Schritt (das ganze ist ein Einzeiler...)
Und ja, "sudo" ist immer gefährlich. Vertipp dich nicht. (Copy&Paste?)
 

erniejunior

Cox Orange
Registriert
15.03.06
Beiträge
98
Vielen Dank für die genaueren Infos. Ich habe den Einzeiler (der durch | mehrere Befehle miteinander verbindet und somit doch aus mehreren Schritten besteht; soviele Basics habe ich gerade noch drauf) jetzt angewendet und es scheint alles wieder heile zu sein.
Wenn es für die Nutzung von Linux notwendig ist zu wissen was bei OS X unter "/System/Library/PrivateFrameworks/MediaKit.framework\" so kreucht und fleucht und dass die Verwendung des dd Befehls Vertraut ist (gzip gehört schon irgendwie zu den Basics?) dann ist Linux sicherlich noch nichts für mich. Aber ich installiere es trotzdem weil ich bin jung und bereit noch viel zu lernen :-D außerdem ist Ubuntu ja nun nicht sooo schwer in der Bedinung.

Grüße



erniejunior
 

molemi

Golden Delicious
Registriert
20.08.10
Beiträge
6
Hallo!

Habe die obige Konversation mit Interesse gelesen, aber noch ein paar offene Fragen bzw. Erfahrungen dazu:

In der Dokumentation zu Ubuntu wird in einer ausführlichen Anleitung beschrieben wie man mit BootCamp eine neue leere Partition erstellt und Ubuntu 10.4 von CD startet. Die Installation von rEFIt wird dort wärmstens empfohlen um hinterher die Synchronisation der GUID/EFI Partitionstabelle mit der "klassischen" MBR für Windows hinzukriegen. Ok, wird installiert, und funzt (Bootmenü). Dort wir dann erklärt, wie man Ubuntu in den "größten freien zusammenhängenden Speicher" installieren soll. Soweit schön. Am Ende wird man gefragt, wo GRUB hin installiert werden soll. Die Anleitung sagt hier klar /dev/sda3. Zu diesem Zeitpunkt existiert aber /dev/sda3 noch gar nicht :(
Also gehe ich wieder einen Schritt zurück, erstelle eine SWAP-Partition für das Ubuntu und eine / (root). Nun gibt es die erwartete /dev/sda3. Ich installiere also Ubuntus root samt GRUB dorthin. Reboot. rEFIt zeigt nun den Tux neben dem Apfel. Der Apfel hüpft auch munter drauf los wenn man ihn anwählt, also immerhin nichts kaputt gegangen bisher :). Beim Starten des Pnguins bleibt der aber grau und nichts tut sich. Dafür tut sich was in meinem Kopf: Wie soll der Bootloader (sei es nun der Apfel-EFI oder rEFIt) wissen, wo der GRUB installiert ist? ist es nicht sinnvoller, den GRUB gleich in die EFI-Partition (/dev/sda1) zu tun? Ich versuche nochwas: Da ich ja kein Windows drauf tun will, kann ich auf den MBR verzichten, also auch auf rEFIt. Gut, rEFIt-Dateien in einen anderen Ordner verschoben, rEFIt weg. Aber kein GRUB taucht auf, sondern nur der Apfel. und der braucht jetzt einige Sekunden mehr als vorher zum losstiefeln...

Jedenfalls scheint mir dass an der Ubuntu-Anleitung irgendwas faul ist - erst das Problem mit GRUB in /dev/sda3, dann das Problem den fest verdrahteten Bootloader im Mac auf GRUB auszurichten. Kann jemand helfen?

danke!
:-J

P.S.: Zum Frühstück hatte ich Apfelmus
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Zu diesem Zeitpunkt existiert aber /dev/sda3 noch gar nicht
Das wäre aber dann schon blöd. Das wäre nämlich die (FAT) Partition, die vom Boot Camp Assistenten erstellt wurde. Also müsste sie da sein, wenn du der Anleitung wirklich gefolgt bist.

Wie soll der Bootloader (sei es nun der Apfel-EFI oder rEFIt) wissen, wo der GRUB installiert ist?
1) Was ist "Apfel-EFI"?
2) BIOS-Bootcode liegt immer an der gleichen Position. Er ist nicht schwer zu erkennen.

ist es nicht sinnvoller, den GRUB gleich in die EFI-Partition (/dev/sda1) zu tun?
Klares: Jein.

Da ich ja kein Windows drauf tun will, kann ich auf den MBR verzichten, also auch auf rEFIt.
Ich dachte du wolltest Linux am Start haben? Wie soll das ohne MBR laufen?

Gut, rEFIt-Dateien in einen anderen Ordner verschoben, rEFIt weg.
Eine originelle Variation des Themas "kreativer Umgang mit Anleitungen".
 

molemi

Golden Delicious
Registriert
20.08.10
Beiträge
6
Hallo Rastafari,

Zum ersten teil Deiner Antwort:
Zu diesem Zeitpunkt existiert aber /dev/sda3 noch gar nicht
Das wäre aber dann schon blöd. Das wäre nämlich die (FAT) Partition, die vom Boot Camp Assistenten erstellt wurde. Also müsste sie da sein, wenn du der Anleitung wirklich gefolgt bist.

Nunja, ich beschreibe meine Erfahrung. Laut Anleitung sollte in BootCamp nur leerer Platz geschaffen werden, also die entstandenen FAT-Partition gleich wieder gelöscht werden, weil darin eben zwei Partitionen entstehen sollen: Eine SWAP und eine /. genau das habe ich getan. Da das dann aber nicht einer Partition zugewiesene Sektoren sind, gibt es keine /dev/sdax-Nummer dafür.

Zum zweiten Teil Deiner Antwort:
Moderne Linuxe wie Ubuntu 10.4 laufen mit GRUB und Grub arbeitet meines Wissens auch mit EFI/GUID Tabellen, braucht also keinen MBR wie MS$ (MS$7 braucht angeblich auch keine MBR-Tabelle mehr).

Was mir nach wie vor unklar ist: Warum steht in der Ubuntu-Anleitung ich soll GRUB in /dev/sda3 installieren wenn rEFIt ihn dann nicht dort findet? Was sind denn die Konsequenzen wenn ich GRUB in /dev/sda1 installiere - GRUB müßte doch in der Lage sein OSX genauso wie Ubuntu hochzuziehen, oder?

Gruß
:-J
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Laut Anleitung sollte in BootCamp nur leerer Platz geschaffen werden
Das wird schwierig. Eine entsprechende Auswahl gibts im BC-Assistenten nicht.

Moderne Linuxe wie Ubuntu 10.4
Verwende lieber das Attribut "aktuelle" statt "moderne". Das wirkt weniger zynisch.

laufen mit GRUB und Grub arbeitet meines Wissens auch mit EFI/GUID Tabellen
Wirklich? Wozu wäre GRUB dann noch nützlich bzw überhaupt erforderlich?

MS$7 braucht angeblich auch keine MBR-Tabelle mehr
Angeblich. Aber leider nur auf Rechnern nach UEFI 2.x
Gilt also nicht für Macs.

Was mir nach wie vor unklar ist: Warum steht in der Ubuntu-Anleitung ich soll GRUB in /dev/sda3 installieren wenn rEFIt ihn dann nicht dort findet?
Du brauchst den generischen MBR-Ladecode (IPL) im Sektor 0 der HD.
Hast du diesen bereits eingerichtet?

GRUB müßte doch in der Lage sein OSX genauso wie Ubuntu hochzuziehen, oder?
Eher nicht.
Und er würde das auch niemals tun müssen. OS X installiert seinen eigenen Bootloader, und der wird auch nach der Installation von 1000 weiteren nicht einfach funktionslos.
 

molemi

Golden Delicious
Registriert
20.08.10
Beiträge
6
Was mir nach wie vor unklar ist: Warum steht in der Ubuntu-Anleitung ich soll GRUB in /dev/sda3 installieren wenn rEFIt ihn dann nicht dort findet?
Du brauchst den generischen MBR-Ladecode (IPL) im Sektor 0 der HD.
Hast du diesen bereits eingerichtet?

Aha! davon ist in der Ubuntu-Anleitung nirgends die Rede. Was ist das und wie kriege ich das dorthin? Sollte GRUB das nicht von sich aus tun? Oder sollte das rEFIt das?

Wie läuft denn der Mac Bootvorgang ab bevor das OSX kommt?

Gruß
:-J
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Was ist das und wie kriege ich das dorthin?
IPL-Code ist grundsätzlich OS-unabhängig.
Du kannst also das FIXMBR einer Windows-CD genauso verwenden wie "lilo -M ..." (glaub ich??) oder "fdisk -u ..." von einer OS X DVD.

Ob das überhaupt notwendig ist, zeigt ein kurzer Einblick in den Sektor.
"sudo xxd -l 440 /dev/disk0" schafft Klarheit, dieser Bereich sollte nicht leer sein.

Sollte GRUB das nicht von sich aus tun?
Wenn man ihn dazu anweist, kann er das tun.
Womöglich gehen die Ubuntu-Ritter davon aus dass sowas sowieso schon längst vorhanden sein müsste.
(Spätestens nach der Installation eines beliebigen Windows ist es da, und es geht nicht wieder weg.)

Oder sollte das rEFIt das?
Nein. Definitiv nicht.

Wie läuft denn der Mac Bootvorgang ab bevor das OSX kommt?
Stage 1 (intel)
Die Firmware lädt das EFI-Binary /System/Library/CoreServices/boot.efi, dieses lädt den Kernel.
Stage 1 (PPC)
Die Firmware lädt das Fcode-Skript /System/Library/CoreServices/BootX, dieses lädt den Kernel.

Stage 2)
There ist no Stage 2.