Ist es möglich, die wahren Funktionen des Ruhezustands von Win 7 und OS X zu nutzen, um eine Art sofortiges Umschalten zwischen den beiden zu erreichen? Stellen Sie sich dies vor, wenn Sie die Ruhezustandsbilder auf eine schnelle SATA-3-SSD lesen / schreiben.
Hibernate-Corruption-Fix: Wenn dies möglich ist, stellen Sie sicher, dass Ihre verschiedenen Partitionen nicht gegenseitig schreibgeschützt sind. (Stellen Sie z. B. sicher, dass Boot Camp Windows 7 nicht in die OS X-Partition schreiben kann und umgekehrt). Diese Sicherheitsmaßnahme sollte es Ihren verschiedenen Systemen unmöglich machen, sich gegenseitig zu beschädigen, wenn ein System in den Ruhezustand versetzt wird.
Bearbeiten: Ich habe festgestellt, dass ich nicht sicher bin, wie Partitionen auf einer Festplatte funktionieren. Der in den Ruhezustand versetzte OS X-Kernel kann Verweise auf Blöcke auf der Festplatte enthalten, auf die beim erneuten Aufwecken weitergeschrieben wird. Befinden sich solche Plattenblöcke in einer Partition oder sind sie nach dem Beschreiben einer Partition zugeordnet? Ist es anders auf HDD und SSD? Betrifft dies die oben genannte Fehlerbehebung im Ruhezustand?
Ok, lass uns weitermachen:
Windows 7 verfügt bereits über die Option "Ruhezustand", mit der Sie zurück zu Ihrer OS X-Partition booten können, OS X bietet jedoch nicht genau das Gleiche.
Unter OS X ist es möglich, den Ruhezustand durch Ändern der Systemvariablen für den Ruhezustand zu aktivieren.
Pre OS X 10.7
sudo pmset -a hibernatemode 2
OS X 10.7
sudo pmset -a hibernatemode 25
Dadurch wird Ihr Mac in den Ruhezustand versetzt, wenn Sie ihn in den Ruhezustand versetzen. Sie können es schlafen legen mit:
sudo shutdown -s jetzt
Ok, soweit so gut. So können wir sowohl Windows 7 als auch OS X Lion nach Belieben in den Ruhezustand versetzen. Aber warte! Es liegen noch weitere Probleme vor uns.
Wenn Sie OS X in den Ruhezustand versetzen, wird es automatisch wieder in OS X gestartet, wenn Sie Ihren Mac wieder einschalten. Dies macht es uns unmöglich, es für "Hotswitching" zwischen Partitionen zu verwenden.
Mögliche Fehlerbehebungen:
Wenn Sie rEFIt ohne rEFItBlesser installieren , wird nach dem Ruhezustand von OS X das rEFIt-Startmenü angezeigt. Unter OS X 10.7 Lion funktioniert dies jedoch nicht vollständig. Stattdessen wird ein schwarzer Bildschirm angezeigt und Sie müssen Ihren Mac hart herunterfahren. Aber hey! Zumindest unterbricht es den automatischen Start von OS X, oder? Vielleicht kann es von dort weiter optimiert werden.
Wie bereits in früheren OS X-Versionen erwähnt, wird das rEFIt-Startmenü nach dem Herunterfahren des Ruhezustands und dem Einschalten des Computers angezeigt. So können Sie zB stattdessen Ihre Boot Camp Windows 7-Partition booten. Aber auch hier gibt es Probleme. Anscheinend verliert die OS X-Partition ihr Ruhezustands-Flag, wenn Sie diese Methode befolgen. Dies bedeutet, dass sie beim nächsten Start von OS X nicht aus dem Ruhezustand zurückkehrt. Stattdessen wird ein sauberer Start durchgeführt. Warum ist das?
Sucht OS X nach einem Sleep-Image, um festzustellen, ob es aus dem Ruhezustand aufwacht oder einen sauberen Start ausführt, oder ist eine Art Systemvariable / Flag gesetzt?
Zusammenfassung
Wenn Win 7 in den Ruhezustand wechselt, wird es vollständig heruntergefahren und Sie können dann beim Start OS X starten. Unter OS X erzwingt der Ruhezustand jedoch das Aufwecken in OS X. Können Sie dies hacken, damit Sie nach dem Ruhezustand von OS X die Startpartition auswählen und später wieder zu OS X zurückkehren und es aus dem Ruhezustand aktivieren können? ?
Mal sehen, was wir uns gemeinsam einfallen lassen können!
Antworten:
Es ist nicht möglich, dies so zu tun, wie Sie denken. Das Problem liegt in der engen Integration von Apples Firmware und OS X. OS X und Firmware arbeiten zusammen, um den Ruhezustand des Computers zu bestimmen.
Wenn Windows in den Ruhezustand wechselt, wird der Inhalt des Arbeitsspeichers in C: \ Hiberfil.sys gespeichert und ein Flag in der Registrierung gesetzt, das den Computer in den Ruhezustand versetzt. Wenn Sie einen Windows-Computer zum ersten Mal starten, lädt der Startsektorcode die BCD-Datei, die diesen Teil der Registrierung sehr früh im Startprozess lädt, und stellt fest, dass das System im Ruhezustand ist. Nach einer grundlegenden Überprüfung der Integrität wird hiberfil.sys wieder in den Speicher geladen. Wichtig hierbei ist, dass all dies im Dateisystem enthalten ist. Aus diesem Grund können Sie nach Belieben unter OS X starten und anschließend wieder unter Windows. Die Ruhezustandsdatei wird dann weiterhin verwendet.
Dasselbe gilt nicht für OS X. Wenn OS X in den Ruhezustand wechselt, wird der Inhalt des Arbeitsspeichers auf die gleiche Weise wie bei Windows nach / var / vm / sleepimage kopiert. Es wird jedoch das Ruhezustandsflag im PRAM und nicht im Dateisystem gespeichert (die Einstellung heißt IORegistryCurrentSleepMode, wenn Sie interessiert sind). Wenn Sie einen Mac wieder einschalten, werden die Werte im PRAM gelesen, bevor überhaupt versucht wird, das Betriebssystem zu starten. Wenn das Flag angibt, dass das System in den Ruhezustand versetzt wurde, wird es zunächst wieder in den normalen Status versetzt. Die Firmware bootet dann sofort das System und ignoriert die OptionStartdisketteneinstellung und alle Versuche, + zu booten. Sie bekommen nicht einmal ein Startsignal. Auf einem Mac enthält die Firmware die gesamte Logik, die zum Überprüfen des Dateisystems und zum Starten des Betriebssystems erforderlich ist. Es benötigt keinen Bootcode wie Windows.
Wenn Sie rEFIt in den Mix werfen, fügt es sich in den Prozess ein. Es ersetzt die normale Datei /System/Library/CoreServices/boot.efi (das ist der Bootloader von OS X) durch eine eigene Bootloader-Datei. Dies ist der Punkt, an dem die Dinge für mich unscharf werden, da dies alles Apple-eigene Dinge sind, aber das Fazit ist, dass die Firmware beim Booten von OS X alle Argumente übergibt, die zum Laden von / var / vm / sleepimage anstelle des normalen Darwin-Kernels erforderlich sind. Bei Lion und höher funktioniert dies nicht ordnungsgemäß. Unabhängig davon, ob es sich um eine ältere oder eine neuere Version von OS X handelt, hat die Firmware das Ruhezustand-Bit bereits gekippt, bevor rEFIt überhaupt geladen wird. Aus diesem Grund kann OS X nach dem ersten Einschalten nicht mehr aus dem Ruhezustand wiederhergestellt werden.
quelle
nvram
Tool), würde ich das für möglich halten. Sie können ihn als geplanten Task festlegen, der ausgelöst wird, wenn die Arbeitsstation in den Ruhezustand wechselt. Ich weiß aber nicht, ob es ein solches Programm gibt. Wenn Sie auf eine stoßen, würde ich gerne davon hören.