Apakah mungkin menggunakan fungsionalitas sistem hibernate yang sebenarnya dari Win 7 dan OS X untuk membuat semacam peralihan instan di antara keduanya? Bayangkan ini ketika membaca / menulis gambar tidur ke SSD SATA-3 cepat.
Hibernate-corruption-fix: Jika ini dimungkinkan, pastikan bahwa partisi Anda yang berbeda tidak diaktifkan dari satu sama lain. (mis. membuatnya agar Boot Camp Windows 7 tidak dapat menulis ke partisi OS X dan sebaliknya). Tindakan keamanan ini seharusnya membuat sistem Anda yang berbeda tidak dapat saling merusak ketika ada yang di-hibernasi.
Sunting: Saya menyadari bahwa saya tidak yakin ini adalah cara kerja partisi pada disk. Kernel OS X yang hibernasi dapat memiliki referensi ke blok pada disk yang akan terus ditulis ketika dibangunkan kembali. Apakah blok disk seperti ini terdapat di dalam partisi atau mereka ditugaskan ke partisi setelah ditulis? Apakah berbeda pada HDD dan SSD? Apakah ini memengaruhi perbaikan hibernate-korupsi di atas?
Oke, mari kita lanjutkan:
Windows 7 sudah memiliki opsi "Hibernate" yang memungkinkan Anda untuk boot kembali ke partisi OS X Anda, tetapi OS X tidak persis menawarkan hal yang sama.
Dengan OS X dimungkinkan untuk melakukan hibernasi dengan mengubah variabel sistem hibernatemode.
Pra OS X 10.7
sudo pmset -a hibernatemode 2
OS X 10.7
sudo pmset -a hibernatemode 25
Ini membuat Mac Anda menjadi hibernate ketika Anda menidurkannya. Anda dapat menidurkannya dengan:
sudo shutdown -s sekarang
Ok, sejauh ini bagus. Jadi kita bisa menempatkan Windows 7 dan OS X Lion ke hibernasi sesuka hati. Tapi tunggu! Masih ada banyak masalah di depan.
Ketika Anda memasukkan OS X ke hibernasi, OS secara otomatis akan boot kembali ke OS X saat Anda menyalakan Mac lagi. Ini membuat tidak mungkin bagi kita untuk menggunakannya untuk "hotswitching" di antara partisi.
Kemungkinan perbaikan:
Jika Anda menginstal mereparasi tanpa rEFItBlesser Anda akan mendapatkan menu mereparasi booting setelah OS X hibernasi. Namun pada OS X 10.7 Lion, ini tidak sepenuhnya berfungsi, sebagai gantinya Anda mendapatkan layar hitam dan harus mematikan Mac dengan susah payah. Tapi hey! Setidaknya itu mengganggu boot OS X otomatis, kan? Mungkin bisa di-tweak lebih jauh dari sana.
Seperti yang disebutkan pada OS X sebelumnya: menu boot ISI benar-benar muncul setelah hibernasi shutdown + power on. Ini memungkinkan Anda untuk mem-boot partisi Boot Camp Windows 7 Anda. Ada masalah di sini juga. Rupanya partisi OS X kehilangan bendera hibernasinya jika Anda mengikuti metode ini, yang berarti bahwa saat berikutnya Anda boot ke OS X, partisi tersebut tidak akan kembali dari status hibernasinya. Sebaliknya itu akan melakukan startup yang bersih. Kenapa ini?
Apakah OS X mencari keberadaan gambar tidur untuk menentukan apakah akan bangun dari hibernasi atau melakukan awal yang bersih atau apakah ada semacam set variabel sistem / flag yang ditetapkan?
Ringkasan
Ketika Win 7 masuk ke hibernasi itu dimatikan sepenuhnya dan Anda kemudian dapat boot ke OS X saat startup. Namun pada OS X, hibernasi memaksa Anda untuk bangun ke OS X. Dapatkah Anda meretas ini sehingga Anda diizinkan untuk memilih partisi boot setelah OS X hibernasi dan masih dapat kembali lagi ke OS X dan membangunkannya dari hibernasi ?
Mari kita lihat apa yang bisa kita kumpulkan bersama!
Jawaban:
Tidak mungkin melakukan ini dengan cara yang Anda pikirkan. Masalahnya terletak pada integrasi ketat firmware Apple dan OS X. OS X dan firmware bekerja satu sama lain untuk menentukan kondisi tidur komputer.
Ketika Windows hibernasi, ia membuang isi RAM ke C: \ Hiberfil.sys dan menetapkan tanda di registri bahwa mesin sedang hibernasi. Ketika Anda pertama kali mem-boot mesin Windows, kode sektor boot memuat file BCD, yang memuat bagian registri tersebut sangat awal dalam proses booting dan melihat bahwa sistem hibernasi. Setelah melakukan pemeriksaan kewarasan dasar, ini memuat hiberfil.sys kembali ke memori. Yang penting di sini adalah bahwa semua ini terkandung dalam sistem file. Inilah sebabnya mengapa Anda dapat dengan bebas mem-boot ke OS X, lalu mem-boot kembali ke Windows dan itu akan terus melanjutkan dari file hibernasi.
Hal yang sama tidak berlaku untuk OS X. Ketika OS X hibernasi, ia membuang isi RAM ke / var / vm / sleepimage dengan cara yang sama seperti yang dilakukan Windows. Tapi itu menyimpan bendera hibernasi di PRAM , bukan sistem file (pengaturannya disebut IORegistryCurrentSleepMode jika Anda tertarik). Ketika Anda menyalakan Mac kembali, nilai-nilai dalam PRAM dibaca sebelum upaya bahkan dibuat untuk boot ke OS. Jika tanda menunjukkan bahwa sistem hibernasi, hal pertama yang dilakukan adalah membalikkannya kembali ke status normal. Firmware kemudian segera mem-boot sistem dan mengabaikan preferensi Startup Disk dan segala upaya untuk Option+ mem-boot. Anda bahkan tidak mendapatkan lonceng startup. Pada Mac, firmware berisi semua logika yang diperlukan untuk memeriksa sistem file dan mem-boot OS. Tidak perlu kode boot seperti Windows.
Saat Anda melempar RESE ke dalam campuran, itu memasukkan dirinya ke dalam proses. Ini menggantikan /System/Library/CoreServices/boot.efi normal (yang merupakan pemuat boot OS X), dengan file pemuat bootnya sendiri. Di sinilah segalanya menjadi kabur bagi saya karena ini semua adalah barang milik Apple, tetapi intinya adalah ketika firmware mem-boot OS X, ia melewati argumen apa pun yang diperlukan untuk memuat / var / vm / sleepimage alih-alih kernel Darwin normal. rEFIt tidak melakukan ini dengan benar dengan Lion dan yang lebih baru. Tetapi terlepas dari apakah itu versi OS X yang lebih lama atau yang lebih baru, firmware telah membalik bit hibernasi sebelum bahkan bahkan memuat. Inilah sebabnya mengapa melanjutkan OS X dari hibernate tidak lagi dimungkinkan setelah power-on pertama.
sumber
nvram
alat OS X ) saya pikir itu akan mungkin. Anda bisa mengaturnya sebagai tugas yang dijadwalkan untuk memicu ketika workstation tidur. Tapi saya tidak tahu apakah ada program seperti itu. Jika Anda menemukan satu, saya ingin mendengarnya.