Перебуває в сплячку між ОС X і Bootcamp Win 7


22

Чи можливо використовувати справжню функцію сплячої системи Win 7 та OS X для створення своєрідного миттєвого перемикання між ними? Уявіть це, читаючи / записуючи зображення сну на швидкий SATA-3 SSD.

Hibernate-error-fix: Якщо це стало можливим, переконайтеся, що ваші різні розділи не ввімкнено запис з іншого. (наприклад, зробіть так, щоб Boot Camp Windows 7 не міг записувати на розділ OS X і навпаки). Цей захід безпеки повинен унеможливити, коли ваші різні системи можуть корумповуватись іншим, коли людину призупиняють у сплячому режимі.

Редагувати: Я зрозумів, що не впевнений, що саме так працюють розділи на диску. У сплячому ядрі OS X можуть бути посилання на блоки на диску, до яких він буде продовжувати записувати, коли він знову прокинеться. Чи містяться подібні дискові блоки в розділі або вони призначені для цього розділу після їх написання? Чи відрізняється він на жорсткому диску та SSD? Чи впливає це на вищезазначене спляче-корупційне виправлення?

Гаразд, продовжуємо:

У Windows 7 вже є опція "Hibernate", яка дозволяє завантажуватися назад до розділу OS X, але OS X точно не пропонує те саме.

За допомогою OS X можна перезимувати, змінивши систему змінної системи hibernatemode.

Попередньо ОС X 10.7

sudo pmset -гібернатемода 2

OS X 10.7

sudo pmset -a hibernatemode 25

Це змушує ваш Mac переходити в сплячку, коли ви перебуваєте спати. Ви можете лягти спати за допомогою:

sudo shutdown -s зараз

Добре, поки що добре. Таким чином, ми можемо ввести в спячку і Windows 7, і OS X Lion. Але зачекайте! Попереду ще більше проблем.

Коли ви переведете в режим сплячки OS X, він автоматично завантажиться в OS X, коли ви знову вмикаєте ваш Mac. Це унеможливлює використання його для «перемикання» між перегородками.

Можливі виправлення:
Якщо ви встановлюєте Загорніть без rEFItBlesser ви отримаєте меню завантаження Загорніть після OS X зимівлі. У OS X 10.7 Lion це не працює повністю, натомість ви отримуєте чорний екран і вам доведеться жорстко відключити ваш Mac. Але ей! Принаймні це перериває автоматичне завантаження OS X, правда? Можливо, це можна буде підлаштувати далі звідти.

Як вже згадувалося в попередній ОС X: s, меню завантаження rEFI насправді з'являється після вимкнення сплячки + включення. Це дозволяє замість цього завантажувати розділ Boot Camp Windows 7. І тут є проблеми. Мабуть, розділ OS X втрачає прапор сплячки, якщо ви дотримуєтесь цього методу, а це означає, що наступного разу, коли ви завантажуєтесь в OS X, він не повернеться зі стану сплячки. Натомість це зробить чистий запуск. Чому це?
Чи шукає OS X наявність режиму сну, щоб визначити, чи можна прокинутися від сплячки або зробити чистий початок, чи у нього встановлена ​​певна системна змінна / прапор?

Підсумок

Коли Win 7 переходить у сплячий режим, він повністю вимикається, і ви можете завантажуватися в OS X при запуску. В ОС X, однак, сплячий режим змушує вас прокинутися в OS X. Чи можете ви зламати це так, що вам дозволяється вибирати завантажувальний розділ після сплячки OS X і все ж мати змогу повернутися пізніше до OS X і розбудити його зі сплячого режиму ?

Подивимося, що ми можемо разом придумати!


див. superuser.com/questions/59188/does-mac-os-x-support-hibernation для сплячки в OSX (= ваші 2) - зауважте, що за замовчуванням дорівнює 3, як ви бачили
user151019

Я випробував ці рішення раніше, але вони нічого не змінюють для мене. Мій Mac все ще переходить у безпечний сон незалежно від того, які параметри я використовую чи використовую згаданий віджет глибокого сну. Він прокидається моментально, не показуючи спочатку завантажувальну смугу, яка, напевно, означає, що ніколи не була в режимі реального сну?
Віллем

1
Після того, як я задав своє запитання на Ask Different, мені сказали, що причина, яку цю функцію було скинуто з Mac OS, полягає в тому, що вона насправді небезпечна. Коли ваш комп'ютер прокидається, він очікує, що навколишнє середовище буде ідентичним, коли він лягав спати. Припустимо, у вас на відкритому розділі Windows відкрито файл, вимкніть Mac OS та видаліть його з Windows. Можливо, у вас виникнуть проблеми. Оскільки здатність запускати Windows на Mac є великою особливістю Intel Macs, Apple, ймовірно, вирішила ускладнити сплячку в Windows, щоб захистити початківців користувачів.
zneak

Я фактично запропонував вирішити цю проблему в цьому тексті. Поглянь на початок.
Віллем

Яке ваше запитання? Схоже, запит на функцію Apple (?) Змішується з питаннями, які не пов'язані один з одним.
Даніель Бек

Відповіді:


18

Це неможливо зробити так, як ви думаєте. Проблема полягає в тісній інтеграції вбудованого програмного забезпечення Apple і OS X. OS X і програмне забезпечення працюють між собою для визначення стану сну комп'ютера.

Коли Windows зимує, він скидає вміст ОЗУ на C: \ Hiberfil.sys і встановлює прапор у реєстрі, що машина перебуває в сплячому режимі. Під час першого завантаження машини Windows код коду завантаження завантажує файл BCD, який завантажує цю частину реєстру дуже рано в процесі завантаження і бачить, що система перебуває в сплячому режимі. Виконавши основну перевірку стану безпеки, вона завантажує hiberfil.sys назад в пам'ять. Тут важливим є те, що все це міститься у файловій системі. Ось чому ви можете безперешкодно завантажуватись до OS X, після чого знову завантажуватися назад до Windows, і вона продовжить відновлюватись із файла сплячки.

Це ж не стосується OS X. Коли OS X перебуває у сплячому режимі, вона скидає вміст ОЗУ в / var / vm / sleepimage так само, як це робить Windows. Але він зберігає прапор сплячки в ПРАМ , а не у файловій системі (налаштування називається IORegistryCurrentSleepMode, якщо вам це цікаво). Коли ви знову вмикаєте Mac, значення PRAM зчитуються ще до того, як буде здійснена спроба завантаження в ОС. Якщо прапор вказує на те, що система перебуває у сплячому режимі, перше, що вона робить, це повернути її до нормального стану. Потім програмне забезпечення негайно завантажується системою і ігнорує налаштування диска запуску та будь-які спроби Option+ завантаження. Ви навіть не отримаєте стартовий звук. На Mac, мікропрограмне забезпечення містить всю логіку, необхідну для огляду файлової системи та завантаження ОС. Він не потребує завантажувального коду, як це робить Windows.

Коли ви кидаєте rEFIt в суміш, вона вставляє себе в процес. Він замінює звичайний /System/Library/CoreServices/boot.efi (що є завантажувачем OS X) власним файлом завантажувача. Тут дещо нечітке для мене, оскільки це все майно Apple, але підсумок полягає в тому, що коли прошивка завантажує ОС X, вона передає будь-які аргументи, необхідні для завантаження / var / vm / sleepimage замість звичайного ядра Дарвіна. rEFІ не робить цього належним чином з Левом і пізніше. Але незалежно від того, чи це старіша версія OS X, чи новіша, вбудована програма вже перевернула гібернаційний біт, перш ніж REFI навіть не завантажиться. Ось чому відновлення ОС X зі сплячого режиму вже не можливе після першого включення.


Ого. Нарешті відповідь і хороший у цьому! (Навіть незважаючи на те, що звістка виглядає сумно ...) Чи вдасться це вирішити, встановивши Windows, прапор PRAM, коли він переходить у сплячку?
Віллем

Якщо ви зможете знайти програму Windows для зміни значень PRAM (подібно до nvramінструмента OS X ), я думаю, що це можливо. Ви можете встановити це як заплановане завдання, яке потрібно запустити, коли робоча станція спить. Але я не знаю, чи існує така програма. Якщо ви натрапите на одного, я хотів би почути про це.
Wes Sayeed

Можливо, хтось тут, на Stackoverflow, зацікавлений написати його, якщо ми виділимо його. Я вважаю, що можливість перемикання "миттєво" між OS X і Windows шукається багатьма.
Віллем

1
Я розмістив питання тут, тому що мене теж цікавить. Це, можливо, не можливо. Прошивка забезпечує модуль підтримки сумісності (CSM), який емулює ПК BIOS, щоб Windows могла завантажуватися. Windows може не бачити через цю CSM. Яскравість екрана, яскравість підсвітки клавіатури та гучність аудіо також зберігають PRAM. Але я помічаю, коли я міняю ці речі з Windows, вони не зберігаються при наступному перезавантаженні, як вони роблять, коли я змінюю їх з OS X.
Wes Sayeed

Добре приємно, сподіваємось, що це можливо. Я тим часом приймаю вашу відповідь. Прокоментуємо тут, якщо ми щось знайдемо.
Віллем
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.