OS XとBootcamp Win 7間の休止状態


22

Win 7とOS Xの真の休止状態のシステム機能を使用して、2つの間の瞬時の切り替えを作成することは可能ですか?スリープイメージをクイックSATA-3 SSDに読み書きするときにこれを想像してください。

Hibernate-corruption-fix:これが可能になった場合、異なるパーティションが互いに書き込み可能になっていないことを確認してください。(たとえば、Boot Camp Windows 7がOS Xパーティションに書き込めないようにする、またはその逆を行う)。この安全対策により、異なるシステムが休止状態になったときに互いに破損するのを防ぐことができます。

編集:私はこれがパーティションがディスク上でどのように動作するかわからないことに気付きました。休止状態のOS Xカーネルには、ディスク上のブロックへの参照が含まれている可能性があり、それが再び起動されると書き込みを続けます。これらのようなディスクブロックはパーティションに含まれていますか、または書き込み後にパーティションに割り当てられていますか?HDDとSSDでは違いますか?これは上記のhibernate-corruption-fixに影響しますか?

それでは先に進みましょう:

Windows 7にはすでに「Hibernate」というオプションがあり、これを使用してOS Xパーティションから起動することができますが、OS Xはまったく同じ機能を提供しません。

OS Xでは、hibernatemodeシステム変数を変更することで休止状態にすることができます。

OS X 10.7より前

sudo pmset -a hibernatemode 2

OS X 10.7

sudo pmset -a hibernatemode 25

これにより、Macをスリープ状態にすると、Macが休止状態になります。次の方法でスリープ状態にできます。

sudo shutdown -s now

さて、これまでのところとても良い。したがって、Windows 7とOS X Lionの両方を自由に休止状態にすることができます。ちょっと待って!今後さらに問題があります。

OS Xを休止状態にすると、Macの電源を再び入れると、OS Xが自動的に起動します。これにより、パーティション間の「ホットスイッチング」に使用することができなくなります。

考えられる修正:rEFItBlesserなしでrEFIt
をインストールすると、OS Xの休止状態の後にrEFItブートメニューが表示されます。ただし、OS X 10.7 Lionでは、これは完全には機能せず、代わりに黒い画面が表示され、Macをハードシャットダウンする必要があります。しかし、ちょっと!少なくとも、OS Xの自動起動は中断されますよね?そこからさらに調整できるかもしれません。

以前のOS X:sで述べたように、rEFItブートメニューは、休止状態のシャットダウン+電源投入後に実際に表示されます。これにより、たとえば、代わりにBoot Camp Windows 7パーティションを起動できます。ここにも問題があります。この方法に従えば、OS Xパーティションは休止状態フラグを失うようです。つまり、次回OS Xを起動したときに、休止状態から復帰しません。代わりに、クリーンスタートアップを実行します。どうしてこれなの?
OS Xはスリープイメージの存在を検索して、休止状態から復帰するか、クリーンスタートを行うか、または何らかのシステム変数/フラグが設定されているかどうかを判断しますか?

概要

Win 7が休止状態になると、完全にシャットダウンし、起動時にOS Xを起動できます。ただし、OS Xでは、休止状態にすると強制的にOS Xで起動します。これをハッキングして、OS Xが休止状態になった後でもブートパーティションを選択できるようにします。 ?

私たちがまとめて思いつくものを見てみましょう!


OSXでの休止状態については、superuser.com /
questions / 59188 / does

以前にこれらのソリューションを試しましたが、私にとっては何も変わりません。使用する設定に関係なく、または記載されているディープスリープウィジェットを使用する場合でも、Macは引き続きセーフスリープに入ります。最初にローディングバーを表示せずに即座に起動しますが、これは実際の休止モードではなかったことを意味しますか?
ウィレム

1
Ask Differentで質問した後、Mac OSからこの機能が削除された理由は、実際には危険だからだと言われました。コンピューターが起動すると、スリープ状態になったときと同じ環境であると想定されます。Windowsパーティションでファイルを開いて、Mac OSをスリープ状態にして、Windowsからそのファイルを削除するとします。何らかのトラブルに巻き込まれる可能性があります。MacでWindowsを実行する機能はIntel Macの大きな機能であるため、アップルはおそらくWindowsのような冬眠を初心者ユーザーの保護を困難にすることを選択したでしょう。
zneak

このテキストでは、実際にその問題の解決策を提案しました。始まりの近くを見てください。
ウィレム

また質問は?互いに無関係な質問が散りばめられたApple(?)への機能要求のように見えます。
ダニエルベック

回答:


18

あなたが考えている方法でこれを行うことはできません。問題は、AppleのファームウェアとOS Xの緊密な統合にあります。OSXとファームウェアは相互に連携して、コンピューターのスリープ状態を判断します。

Windowsが休止状態になると、RAMの内容がC:\ Hiberfil.sysにダンプされ、レジストリにマシンが休止状態であることを示すフラグが設定されます。Windowsマシンを初めて起動すると、ブートセクターコードがBCDファイルを読み込みます。これにより、ブートプロセスのごく初期にレジストリのその部分が読み込まれ、システムが休止状態になっていることがわかります。基本的な健全性チェックを実行した後、hiberfil.sysをメモリに読み込みます。ここで重要なことは、これらすべてがファイルシステム内に含まれていることです。これが、OS Xを自由に起動し、再度Windowsを起動して、休止状態ファイルから再開し続けることができる理由です。

OS Xについても同様ではありません。OSXが休止状態になると、Windowsと同じようにRAMの内容が/ var / vm / sleepimageにダンプされます。ただし、ファイルシステムではなく、PRAMに休止フラグ保存します(興味がある場合、設定はIORegistryCurrentSleepModeと呼ばれます)。Macの電源を入れ直すと、OSの起動を試みる前にPRAMの値が読み取られます。システムが休止状態であることをフラグが示している場合、最初に行うことは、システムを通常の状態に戻すことです。ファームウェアはすぐにシステムを起動し、起動ディスクの設定と起動の試みを無視しOptionます。あなたはスタートアップのチャイムさえも受け取らない。Macの場合、ファームウェアにはファイルシステムの検査とOSの起動に必要なすべてのロジックが含まれています。Windowsのようにブートコードは必要ありません。

rEFItをミックスに投入すると、プロセスに自身が挿入されます。通常の/System/Library/CoreServices/boot.efi(OS Xのブートローダー)を独自のブートローダーファイルに置き換えます。これはすべてApple独自のものであるため、私にとって物事が曖昧になる場所ですが、一番下の行は、ファームウェアがOS Xを起動しているときに、通常のDarwinカーネルの代わりに/ var / vm / sleepimageをロードするために必要な引数をすべて渡すということです rEFItは、Lion以降ではこれを適切に行いません。しかし、OS Xの古いバージョンでも新しいバージョンでも、ファームウェアはrEFItがロードされる前に既に休止ビットを反転しています。これが、最初の電源投入後にOS Xを休止状態から再開することができなくなった理由です。


ワオ。最後に答えとそれで良いもの!(ニュースはちょっと悲しいですが...)Windowsが休止状態に入るときにPRAMフラグを設定することでこれを解決することは可能でしょうか?
ウィレム14

PRAM値を変更するためのWindowsベースのプログラムを見つけることができれば(OS Xのnvramツールに似ています)可能だと思います。ワークステーションがスリープ状態になったときにトリガーするスケジュールされたタスクとして設定できます。しかし、そのようなプログラムが存在するかどうかはわかりません。あなたが1つに出くわした場合、私はそれについて聞きたいです。
ウェスセイイド14

Stackoverflowの誰かが、それを強調すれば、それを書くことに興味があるかもしれません。OS XとWindowsを「瞬時に」切り替える可能性が多くの人に求められていると思います。
ウィレム14

1
私も興味があるので、ここに質問を投稿しました。しかし、それは不可能かもしれません。ファームウェアは、Windowsが起動できるようにPC BIOSをエミュレートする互換性サポートモジュール(CSM)を提供します。WindowsはそのCSMを参照できない場合があります。画面の明るさ、キーボードのバックライトの明るさ、音量もPRAMに保存されます。しかし、それらをWindowsから変更すると、OS Xから変更したときのように、次回の再起動時に保持されないことに気付きます。
WesSayeed 14

いいですね、それが可能になることを望みましょう。その間、あなたの答えを受け入れます。何か見つかったら、ここでコメントしましょう。
ウィレム14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.