Ngủ đông giữa OS X và Bootcamp Win 7


22

Có thể sử dụng các chức năng hệ thống ngủ đông thực sự của Win 7 và OS X để tạo ra một loại chuyển đổi tức thời giữa hai? Hãy tưởng tượng điều này khi đọc / ghi hình ảnh ngủ vào ổ SSD SATA-3 nhanh chóng.

Hibernate-hỏng-fix: Nếu điều này được thực hiện, hãy đảm bảo rằng các phân vùng khác nhau của bạn không được kích hoạt ghi từ nhau. (ví dụ: làm cho nó để Boot Camp Windows 7 không thể ghi vào phân vùng OS X và ngược lại). Biện pháp an toàn này sẽ khiến các hệ thống khác nhau của bạn không thể bị hỏng khi chúng bị treo vào trạng thái ngủ đông.

Chỉnh sửa: Tôi nhận ra rằng tôi không chắc chắn rằng đây là cách phân vùng hoạt động trên đĩa. Hạt nhân OS X ngủ đông có thể có các tham chiếu đến các khối trên đĩa mà nó sẽ tiếp tục ghi vào khi nó được đánh thức lại. Các khối đĩa như thế này có trong một phân vùng hay chúng được gán cho một phân vùng sau khi chúng được ghi vào? Có khác nhau trên ổ cứng và SSD không? Điều này có ảnh hưởng đến việc sửa chữa ngủ đông ở trên không?

Ok chúng ta hãy tiếp tục:

Windows 7 đã có tùy chọn "Hibernate" cho phép bạn khởi động lại phân vùng OS X của mình, nhưng OS X không cung cấp chính xác như vậy.

Với OS X, có thể ngủ đông bằng cách thay đổi biến hệ thống ngủ đông.

Hệ điều hành trước 10.7

sudo pmset -a hibernHRode 2

HĐH X 10.7

sudo pmset -a hibernHRode 25

Điều này làm cho máy Mac của bạn rơi vào trạng thái ngủ đông khi bạn đặt nó vào chế độ ngủ. Bạn có thể đặt nó vào giấc ngủ với:

sudo shutdown -s now

Ok, cho đến nay rất tốt. Vì vậy, chúng tôi có thể đưa cả Windows 7 và OS X Lion vào trạng thái ngủ đông theo ý muốn. Nhưng chờ đã! Có nhiều vấn đề hơn ở phía trước.

Khi bạn đặt OS X ở chế độ ngủ đông, nó sẽ tự động khởi động lại vào OS X khi bạn bật lại máy Mac. Điều này khiến chúng tôi không thể sử dụng nó để "hotswitching" giữa các phân vùng.

Các bản sửa lỗi có thể có:
Nếu bạn cài đặt rEFIt mà không có rEFItBlesser, bạn sẽ nhận được menu khởi động rEFIt sau khi ngủ đông OS X. Tuy nhiên, trên OS X 10.7 Lion, điều này không hoạt động hoàn toàn, thay vào đó bạn có màn hình đen và phải tắt máy Mac. Nhưng này! Ít nhất là nó làm gián đoạn khởi động OS X tự động, phải không? Có lẽ nó có thể được điều chỉnh thêm từ đó.

Như đã đề cập trên OS X: s, menu khởi động rEFIt thực sự xuất hiện sau khi tắt chế độ ngủ đông + bật nguồn. Điều này cho phép bạn ví dụ khởi động phân vùng Boot Camp Windows 7 của bạn thay vào đó. Có những vấn đề ở đây là tốt. Rõ ràng phân vùng OS X sẽ mất cờ ngủ đông nếu bạn làm theo phương pháp này, điều đó có nghĩa là lần tiếp theo bạn khởi động vào OS X, nó sẽ không trở về trạng thái ngủ đông. Thay vào đó, nó sẽ làm một khởi động sạch. Tại sao lại thế này?
OS X có tìm kiếm sự tồn tại của một hình ảnh ngủ để xác định thời điểm thức dậy sau khi ngủ đông hoặc để bắt đầu sạch hay nó có một loại biến / cờ hệ thống nào đó không?

Tóm lược

Khi Win 7 chuyển sang chế độ ngủ đông, nó sẽ tắt hoàn toàn và sau đó bạn có thể khởi động vào OS X khi khởi động. Tuy nhiên, trên OS X, chế độ ngủ đông buộc bạn phải thức dậy với OS X. Bạn có thể hack cái này để bạn được phép chọn phân vùng khởi động sau khi OS X ngủ đông và vẫn có thể quay lại OS X sau đó và đánh thức nó khỏi chế độ ngủ đông ?

Hãy cùng xem những gì chúng ta có thể nghĩ ra!


xem superuser.com/questions/59188/does-mac-os-x-support-hibernation để ngủ đông trong OSX (= your 2) - lưu ý mặc định là theo 3 của bạn như bạn đã thấy
user151019

Tôi đã thử những giải pháp đó trước đây nhưng chúng không thay đổi bất cứ điều gì cho tôi. Máy Mac của tôi vẫn chuyển sang Chế độ ngủ an toàn bất kể tôi sử dụng cài đặt nào hoặc nếu tôi sử dụng Tiện ích ngủ sâu được đề cập. Nó thức dậy ngay lập tức mà không hiển thị thanh tải lúc đầu mà tôi cho rằng điều đó không bao giờ ở chế độ ngủ đông thực sự?
Willem

1
Sau khi tôi hỏi câu hỏi của mình trên Hỏi khác, tôi được cho biết rằng lý do khiến tính năng này bị loại bỏ khỏi Mac OS là vì nó thực sự nguy hiểm. Khi máy tính của bạn thức dậy, nó hy vọng môi trường giống hệt như khi nó đi ngủ. Giả sử bạn có một tệp đang mở trên phân vùng Windows, ngủ Mac OS và xóa tệp đó khỏi Windows. Bạn có thể gặp một số rắc rối. Vì khả năng chạy Windows trên máy Mac là một tính năng lớn của Intel Mac, Apple có lẽ đã chọn làm cho việc ngủ đông giống như Windows trở nên khó khăn để bảo vệ người dùng mới làm quen.
zneak

Tôi thực sự đề xuất một giải pháp cho vấn đề đó trong văn bản này. Nhìn gần đầu.
Willem

Câu hỏi của bạn là gì nữa? Có vẻ như một yêu cầu tính năng cho Apple (?) Xen kẽ với các câu hỏi không liên quan đến nhau.
Daniel Beck

Câu trả lời:


18

Không thể làm điều này theo cách bạn đang nghĩ. Vấn đề nằm ở sự tích hợp chặt chẽ giữa phần sụn của Apple và OS X. OS X và phần sụn hoạt động với nhau để xác định trạng thái ngủ của máy tính.

Khi Windows ngủ đông, nó sẽ chuyển nội dung của RAM thành C: \ Hiberfil.sys và đặt cờ trong sổ đăng ký mà máy đang ngủ đông. Khi bạn khởi động máy Windows lần đầu tiên, mã ngành khởi động sẽ tải tệp BCD, tải phần đăng ký đó từ rất sớm trong quá trình khởi động và thấy rằng hệ thống đang ngủ đông. Sau khi thực hiện kiểm tra vệ sinh cơ bản, nó tải hiberfil.sys trở lại bộ nhớ. Điều quan trọng ở đây là tất cả những thứ này được chứa trong hệ thống tập tin. Đây là lý do tại sao bạn có thể tự do khởi động lên OS X, sau đó khởi động lại trở lại Windows và nó sẽ tiếp tục tiếp tục từ tệp ngủ đông.

Điều tương tự cũng không đúng với OS X. Khi OS X ngủ đông, nó sẽ chuyển nội dung của RAM thành / var / vm / ngủ theo cách tương tự như Windows. Nhưng nó lưu cờ ngủ đông trong PRAM , chứ không phải hệ thống tập tin (cài đặt được gọi là IORegistryCiverseS ngủMode nếu bạn quan tâm). Khi bạn bật lại máy Mac, các giá trị trong PRAM sẽ được đọc trước khi thử thậm chí được thực hiện để khởi động hệ điều hành. Nếu cờ chỉ ra rằng hệ thống đang ngủ đông, điều đầu tiên nó làm là lật nó trở lại trạng thái bình thường. Phần sụn sau đó khởi động hệ thống ngay lập tức và bỏ qua tùy chọn Đĩa khởi động và mọi nỗ lực để Option+ khởi động. Bạn thậm chí không nhận được một tiếng chuông khởi động. Trên máy Mac, phần sụn chứa tất cả logic cần thiết để kiểm tra hệ thống tệp và khởi động HĐH. Nó không cần mã khởi động như cách Windows làm.

Khi bạn ném rEFIt vào hỗn hợp, nó sẽ tự chèn vào quy trình. Nó thay thế /System/L Library / CoreService / boot.efi bình thường (là trình tải khởi động của OS X), với tệp trình tải khởi động riêng. Đây là nơi mọi thứ trở nên mờ nhạt đối với tôi bởi vì đây là tất cả nội dung độc quyền của Apple, nhưng điểm mấu chốt là khi phần sụn khởi động OS X, nó sẽ chuyển bất kỳ đối số nào cần thiết để tải / var / vm / ngủim thay vì kernel Darwin thông thường. rEFIt không làm điều này đúng với Lion và sau đó. Nhưng bất kể đó là phiên bản cũ hơn của OS X hay phiên bản mới hơn, phần sụn đã lật bit ngủ đông trước khi rEFIt thậm chí tải. Đây là lý do tại sao việc nối lại OS X từ chế độ ngủ đông không còn có thể sau lần bật nguồn đầu tiên.


Ồ Cuối cùng một câu trả lời và một câu trả lời tốt ở đó! (Mặc dù tin tức này khá buồn ...) Liệu có thể giải quyết vấn đề này bằng cách Windows đặt cờ PRAM khi nó đi vào trạng thái ngủ đông?
Willem

Nếu bạn có thể tìm thấy một chương trình dựa trên cửa sổ để sửa đổi các giá trị PRAM (tương tự như nvramcông cụ của OS X ), tôi nghĩ rằng điều đó là có thể. Bạn có thể đặt nó làm tác vụ theo lịch trình để kích hoạt khi máy trạm ngủ. Nhưng tôi không biết nếu một chương trình như vậy tồn tại. Nếu bạn chạy qua một người tôi muốn nghe về nó.
Wes Sayeed

Có lẽ ai đó ở đây trên Stackoverflow thích viết một cái nếu chúng ta làm nổi bật nó. Tôi tin rằng khả năng chuyển đổi "ngay lập tức" giữa OS X và Windows được nhiều người tìm kiếm.
Willem

1
Tôi đã đăng câu hỏi ở đây vì tôi cũng quan tâm. Nó có thể không thể mặc dù. Phần sụn cung cấp Mô-đun hỗ trợ tương thích (CSM) mô phỏng BIOS PC để Windows có thể khởi động. Windows có thể không thể xem qua CSM đó. Độ sáng màn hình, độ sáng đèn nền bàn phím và âm lượng âm thanh của bạn cũng tiết kiệm cho PRAM. Nhưng tôi nhận thấy khi tôi thay đổi những thứ đó từ Windows, chúng sẽ không được giữ lại trong lần khởi động lại tiếp theo theo cách chúng làm khi tôi thay đổi chúng từ OS X.
Wes Sayeed

Được rồi, hãy hy vọng điều đó là có thể. Tôi đang chấp nhận câu trả lời của bạn trong lúc này. Hãy bình luận ở đây nếu chúng ta tìm thấy bất cứ điều gì.
Willem
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.