Windows 7'yi kapatmak yerine hazırda bekletme sırasında yeniden başlatmaya nasıl ikna edebilirim?


4

Bilgisayarımda bir Linux ve Windows 7 çift önyükleme kurulumum var ve işletim sistemlerini yapılandırmak istiyorum; böylece bir işletim sisteminde çalışırken, hazırda bekleme (diske kaydetme), yeniden başlatma, diğer işletim sistemini kullanma, yeniden başlatma bitince, bıraktığım yerden ilk işletim sistemini kullanmaya devam edin. Buradaki kritik faktör, her bir işletim sisteminin kapanmak yerine durumlarını diske kaydettikten sonra yeniden başlatılmasını istemem; Aksi halde, bilgisayarı oldukça açıcı olan arasında yeniden açmam gerekiyor. Linux'u bunu yapacak şekilde yapılandırmanın önemsiz olduğunun farkındayım ( bu soruya bakın ). Bununla birlikte, Windows 7'ye aynı şeyi yapmasını istediğimi nasıl söyleyeceğimi bilmiyorum: yani, bilgisayarı normalde hazırda bekletme durumunda olduğu gibi kapatmak yerine, bellek içeriğini diske kaydetmeyi tamamladıktan sonra bilgisayarı yeniden başlatmak için .

Bunu yapmanın bir yolu var mı?


Bunun için yerleşik bir işlevsellik olduğunu sanmıyorum (kesinlikle en azından GUI'den değil), çünkü çift önyükleme yapmayan kullanıcıların% 99,9'u için sezgiseldir. İşletim sisteminizi düzenli olarak değiştirirseniz, bunlardan biri için sanal bir makine oluşturmayı düşünebilirsiniz (VirtualBox veya VMware kullanarak), o zaman konuk işletim sistemi istediğiniz kadar başlatılabilir / durdurulabilir ve hem ev sahibi hem de misafir üzerinde çalışabilirsiniz. Aynı anda işletim sistemi.
Spectre

1
@Spectre: Maalesef, VM çözümü üzerinden çift önyüklemeyi tercih etmenin temel nedenlerinden biri, yerel 3D grafik performansına ihtiyacım olması. Hem VirtualBox hem de VMware Workstation'da Windows 7'yi denedim, ancak iyi konuk Direct3D desteği eskiden yoksun (DX10 + için) ve son derece dayanılmaz derecede yavaş ve ikincisi de çöktü (görünüşe göre Aero çalışıyor ve bunu bırakmışlardı) . VM grafik performansı iyi olsaydı, bir çırpıda tamamen VM çözümüne geçecektim.
jgottula

Bu, çoğu zaman Linux işletim sistemini kullandığınız anlamına mı geliyor? Onları eşit olarak kullanırsanız veya buna dayanabiliyorsanız, neden Linux'u VM'ye koymuyorsunuz?
Daniel H

Haklısın, Windows'u ana makine kısıtlamalarının bazılarının üstesinden geleceği gibi kullanmak, ancak Linux'u zamanın büyük çoğunluğunu kullanıyorum (ve muhtemelen zaten çok fazla bir Linux düğümü yaşıyorum), bu yüzden gerçekten bakıyorum öncelikle Linux için ikincil bir Windows çözümü.
jgottula

Yanıtlar:


1

İstediğinizi yapamazsınız, çünkü Windows her zaman makinenizde Windows olmayan başka bir işletim sistemi olmadığını varsayar.

MBR'ye Windows önyükleyicisi (NTLDR veya BOOTMGR (ne olursa olsun)) yüklendiği sürece, (hazırda) bir hazırda bekletme modundan sonra makineyi başlatmak, her zaman diskteki hazırda bekletme verilerinden devam eder ve sizden önyükleme için bir işletim sistemi seçmenizi ister. Bunun nedeni, hazırda bekletilen işletim sistemine monte edilmiş bir birimin başka bir işletim sisteminden veya ortamdan monte edilmesinin tanımlanmamış davranış olmasıdır. En iyi durumda, bir kısmını Linux'ta veya başka bir Windows kurulumunda taktıktan sonra hazırda bekletme işletim sistemine önyüklemeye çalıştığınızda, hazırda bekletme verilerini geçersiz olarak algılar ve önyüklemeyi reddeder. En kötü senaryoda, hazırda bekletme deposundan önyükleme yapılır ve diskteki bellekte bellekte tutarsız bir dosya sistemi verileri olur ve birimleriniz onarılamayacak kadar bozulabilir (ve bu konuda deneyimden bahsediyorum).

Bu nedenle, Windows (bir şekilde haklı olarak), bir hazırda bekletme modundan sonra yeniden başlatmanın (kapatmak yerine) anlamsız olduğunu, çünkü makinenin hazırda bekletme işleminden önce olduğu ve aynı zamanda 5 dakika kaybolduğunuzda olduğu anlamına geleceğini varsaymaktadır. .

Şimdi, elbette, MBR'ye BOOTMGR / NTLDR olmayan bir önyükleyici yüklüyse, bir Windows hazırda bekletme modunu ve farklı bir işletim sistemi önyüklemesi gerçekleştirebilirsiniz (şu anda hazırda bekletilen işletim sistemi altında bulunan herhangi bir birimi değiştirmemeniz gerekir). başka ciddi veri kaybı riski. Ancak Windows bunun hakkında hiçbir şey bilmiyor (bunun bilerek gözardı edilip edilmediği başka bir gün için bir konudur). Yani kısa cevap, yapmaya çalıştığımız bir tür (para) sanallaştırma ortamı olmadan mümkün olmamasıdır.

Genellikle işletim sistemleri arasında geçiş yapıyorsanız ve bulunduğunuz yere geri dönmeye çalışıyorsanız, bir kerede birden fazla işletim sistemine önyükleme yapmak için VMware iş istasyonunu veya hatta ES (I | X) kullanmayı düşünün. Aksi takdirde, @WillGunn'un önerdiği gibi bir KVM çözümü kötü bir seçenek değildir.


1

Ben de bunu yapmak için temiz bir yol arıyordum ve henüz bir tane bulamadım. Başkalarının ilgisini çekebilecek olsa bile, bir miktar hack buldum.

Kesmek için anahtar Microsoft'tan xbootmgr aracıdır. Bu araç, öncelikle geliştiricilerin önyüklemeyi yavaşlatan şeyin ne olduğunu bulmak için zamanlama bilgileri toplamak üzere tasarlanmıştır. Ek bir bonus olarak, hazırda bekletme modundan sonra sistemi otomatik olarak yeniden başlatmak için sistemi kablolar. Bu araç, Windows SDK aracılığıyla yüklediğiniz Windows Performans Araçları'nın bir parçasıdır . En azından benim sistemimde, sistemi biraz sinir bozucu olan askıya alma durumundan uyanmak yaklaşık bir dakika sürer, ancak işe yarıyor. YMMV.

Diğerlerinin de belirttiği gibi, hazırda bekletildiğinde bir kez NTFS R / W'nizi linux'a takmaya çalışmayın.

Benim deneyimim UEFI tabanlı önyüklemeyle ilgili. Bu teorik olarak MBR / BIOS tabanlı önyükleyicilerle çalışmalıdır, ancak bu önyükleyicinin "otomatik özgeçmiş" özelliğini önlemek için MBR'da GRUB veya diğer bazı Windows olmayan önyükleyicileri kullanmanız gerekir (her ne zaman hazırda bekletilen bir sistem algıladığında) Linux için ekleyebileceğiniz diğer önyükleme seçenekleri.) Grub / MBR yoluna giderseniz, bir önyükleme döngüsü için Windows'a geçmek için grub-reboot komutuna bakın.

Windows Birincil ile UEFI

Zamanınızın çoğunu Windows'ta geçiriyorsanız ve varsayılan önyükleme seçeneğiniz olarak ayarladıysanız, Linux kurulumunuzu "bir kez boot" olarak değiştirmek için Windows tarafında bir araca ihtiyacınız olacak - EasyUEFI gibi . Hazırda bekletmek ve Linux'a yeniden başlatmak istediğinizde, bir kez önyüklemek için geçiş yapacaktır.

Bir kez önyükleme bayrağını değiştirdikten sonra yönetici olarak çalıştırın:

xbootmgr -trace hibernate

Düzgün kabloladıysanız, Linux ortamınıza tam olarak bir kez kapanmanız gerekir ve bir kez daha yeniden başlattığınızda, kendinizi önceden hazırda bekletme durumunuzdan sürdürülen pencerelerde bulursunuz.

Linux İlkesi ile UEFI

Zamanınızın çoğunu Linux'ta geçiriyorsanız ve birincil önyükleme seçeneğiniz olarak kablolu yayınladıysanız, yukarıda açıklanan pencerelerdeki UEFI aracını atlayabilirsiniz. Bunun yerine efibootmgr gibi bir şey kullanacaksınız. Öncelikle hangi önyükleme girişinin pencerelerle eşleştiğini bulmanız gerekir. Sadece koş

sudo efibootmgr

Ve böyle bir şey göreceksiniz:

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* ubuntu
Boot0001* Windows Boot Manager

Ardından Windows'u bir kez önyüklemeye ayarlamak için, eşleşen örneğe (benim örneğimde 0001) uyuyor:

sudo efibootmgr --bootnext 0001

Ardından devam edin ve Linux'tan hazırda bekletme / yeniden başlatma ve bir kez pencereye inersiniz ve Linux'a geri dönmeye hazır olduğunuzda, kış uykusunda olmak için pencerelerden xbootmgr komutunu çalıştırın; iki.


Efibootmgr'un bir kez yaptıktan sonra çalışmayı durduracağını fark ettim. Sanırım çekirdeğin, NVRAM durumunun kış uykusuna geldiğinde değişmediğini varsaydığı için?
Jonathan Baldwin,

0

Çoğu zaman linux kullanıyorsanız, ancak üzerinde çalıştığınız iş yoğun değilse, ikisi arasında geçiş yapmak için KVM anahtarlı ikincil bir bilgisayar kullanabilirsiniz.

Hazırda Bekletme (S4), belleğinizin içeriğini sabit sürücünüze yazar. Güç kesilirse, hazırda bekletme dosyasından kendisini geri yükleyebilir. Her zaman bir güç kaybı yaşamaya zorlayabilirsiniz, yani hazırda bekletme moduna geçmeyi bitirdikten sonra bağlantısını kesin ve ardından açılışta linux'u seçin.


Fiziksel bir KVM yerine, alternatif olarak bir fare ve klavyeyi iki makine arasında paylaştırmak ve monitör kaynaklarını değiştirmek için Synergy'yi kullanabilirsiniz. İstemcide aşırı gecikmeyi önlemek için iki makine arasında bir WIRED LAN bağlantısı kurulmasını tavsiye ederim.
Stese,

0

Bu soru sorulmasından bu yana yıllar geçti, ama yine de "karmaşık" çözümümü yazmak istedim. Kurulumum şu şekilde:

  1. Bilgisayar grub2 üzerinden önyükleme yapıyor ve varsayılan olarak Fedora'ya önyükleme yapıyor.
  2. Fedora'da bir dahaki sefere pencereleri yeniden başlatmasını sağlamak için bir kez grub menüsü giriş değişikliği yapabilirim.
  3. Hem pencerelere hem de Linux'a hazırda bekletme komutu verilebilir.
  4. Bilgisayarı açmak için bilgisayarın güç düğmesine paralel olarak bağlanmış bir ESP8266 devresine sahibim. ESP8266, gücünü güç kaynağının + 5V beklemesinden alır. Yerel ağa bağlı bir ahududu pi, güç düğmesine basan bir wifi sinyali gönderir; uyandırma için kısa bir basma veya sert sıfırlama için uzun bir basma.

Bu altyapı devreye girdiğinde işletim sistemini değiştirebilir ve hem yerel hem de uzaktan önyükleyebilirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.