Grub'un Windows'tan Windows'a otomatik olarak yeniden başlatılmasının bir yolu var mı?


12

Çift önyükleme kurulumum var:

  1. Ubuntu 16.04 LTS
  2. pencereler

Şu anda rebootUbuntu'dan Windows'a geçmek istediğimde grub-rebootargüman olarak uygun sayıyla kullanıyorum . Bu iyi çalışıyor.

Ancak bazen belirli bir programın yüklenebilmesi veya güncellenebilmesi için Windows'un yeniden başlatılması gerekir ve manuel olarak doğru grub önyükleme menüsü girişini seçmem gerekir. Grub'a hangi girdinin önyükleme yapılacağını söylemenin benzer bir yolu var mı?

grub-rebootKomut argüman sırayla grub tarafından okunan bir dosyaya geçer varsayalım reboot.

edit (seçilen cevabımla ilgili): Şu anda / boot içeren ext4 sürücüsünü monte etmeye ve düzenlemeyi betimlemeye bakıyorum. 40 saat / hafta teknik olmayan işimin yanındaki boş zamanlarımda bunu yaptığımdan beri bu biraz zaman alacaktır. ^^


Yorumlar uzun tartışmalar için değildir; bu görüşme sohbete taşındı .
terdon

Grubun Windows'ta otomatik olarak yeniden başlatılmasını sağlamak için lütfen gelecekte sorunuzu güncelleyin. Sizin için hangi yöntemin işe yaradığını ve yazdığınız Window komut dosyasını (varsa) görmeye hevesliyim. Eminim diğer birçok insan da ilgilenir.
WinEunuuchs2Unix

@ WinEunuuchs2Unix şu anda üzerinde çalışıyorum. Oli'nin dediği gibi - pencerelerde senaryo yazmak kraliyet bir PITA.
amon san

Ben ile benim cevap güncellemek ettik @amonsan reboot-to-windowskullanarak üzerinde uzlaşma sağlanmasıdır fonksiyonu Ext2Fsd olduğunu bozar ext4'ün süperblokların .
WinEunuuchs2Unix

@amonsan Windows Update yeniden başlatmanın otomatik olarak Windows'a geri dönmesi için sistem kurulumunuzu şimdi yaptınız mı?
WinEunuuchs2Unix

Yanıtlar:


19

Grub ile en kolay yol

grubWindows'dan hantal kontrol ediyor . Ubuntu'ya Windows üzerinden erişmek ve bazı hack'lere erişmek için üçüncü taraf bir uygulama gereklidir. Ancak bu yazının üst bölümünden: my Çift önyükleme dağıtımlar üzerinde sırasını değiştirmek için nasıl yapabilirsiniz kurulum grubson menü seçeneği otomatik yeniden başlatma için. Bu nedenle, başlangıçta pencerelerle önyükleme yaptığınızda ve güncellemeleri çalıştırmak için saat 2'de uyanırsanız, grubWindows'u yeniden yükler , böylece güncellemeleri zarif bir şekilde tamamlayabilir.

Manuel olarak yeniden başlattığınızda ve bir grubsonraki tüm yeniden başlatmalarınızdan Ubuntu'yu seçtiğinizde otomatik olarak Ubuntu'yu yükleyin. Geçerli çekirdekte hatalar varsa ve grubseçtiğiniz daha eski bir çekirdek sürümüne otomatik olarak yeniden başlatmak istiyorsanız bu özellik eşit derecede iyi çalışır .

Grub'un son önyükleme seçimini tekrar etmesini sağlama

Bu oldukça basittir. sudoYetkileri kullanma /etc/default/grubaşağıdakileri düzenler ve değiştirir:

#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Yorum yapacağınız ilk satır ve hemen altında, sonraki iki satırı ekleyin.

Dosyayı kaydedin ve terminale yazın:

sudo update-grub

Windows'ta yeniden başlatmak için Ubuntu komut satırı

Şu anda böyle bir şey kullanıyorsunuz:

sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now

Bu değiştirilmiş Stack Exchange cevabından , Windows'a yeniden başlatmak için grub varsayılanını kullanabilirsiniz. Bu kodu ~/.bashrcdosyanıza kopyalayın :

function reboot-to-windows {
    WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
    sudo grub-set-default "$WINDOWS_TITLE"
    sudo reboot
}
  • Dosyayı ~/.bashrcyeni reboot-to-windowsişlevle kaydedin .
  • Geçerli terminal oturumunuzu kapatın.
  • ~/.bashrcYüklenecek değişiklik için yeni bir terminal oturumu açın .
  • : ~/.bashrcMevcut terminal oturumuna yeniden yüklemek için yazabilirsiniz , ancak bazı insanlar bunu yapmamayı önerir.

Komut satırından Windows'u yeniden başlatmak için şunu kullanın:

reboot-to-windows

Bakmadığınızda Windows otomatik olarak yeniden başlatılırsa, Windows yeniden başlatılır. Bu, Windows otomatik güncellemelerinin, Windows'un bazen kullandığı çoklu yeniden başlatma döngüleri boyunca normal şekilde işlenmesini sağlar.


1
Bu sorunun önyükleme sırası ile ilgisi yoktur.
Jennifer

2
@Jennifer Ancak soru XY sorununun bir örneğidir. Dolayısıyla bu cevap faydalıdır. Ayrıca, önyükleme sırasını bir Windows kullanıcı arayüzünden geçici olarak değiştirmenin bir yolunu istediği için aslında önyükleme sırası ile ilgilidir.
wizzwizz4 13:18

şu anda bu sopa ile ne ve benim kullanım durumlarda% 90'dan fazla benim için iyi çalışıyor
amon san

@amonsan, çalışmadığı yüzde 10'u ayrıntılı olarak açıklayabilir misiniz?
WinEunuuchs2Unix

Çoğunlukla bu çift önyükleme makinesinde oyun ve linux her gün yapmadığım başka bir iş için orada. grub son önyükleme pencereleri hatırladığı sürece ben iyiyim. Ben sadece standart geri windows ve tersi ayarlamak için linux kullandıktan sonra önyükleme yaparken el ile seçmeniz gerekir. bu çok sık olmaz. ne yazık ki benim kullanım durumlarım bu konuda esasen kaplıdır.
amon san

8

Ne yaptığını çoğaltabilirsiniz grub-reboot. Sonunda çağıran bir betik:

grub-editenv /boot/grub/grubenv set next_entry="Windows"

WindowsGrub menüsü girişinizin adı nerede . Olmayabilir

Ben koştum. Tüm o ekleme yapar next_entry=Windowsiçine /boot/grub/grubenv. 2. satır. Yani bu sadece bir dosyaysa, bir dosya sisteminde de aynısını Windows içinden yapabilirsiniz . Çözülmesi gereken bir Windows sorunu, ancak işte üst düzey genel bakış:

  • Diski, önyüklemenin yaşadığı yere monte edin. Bu muhtemelen en zor bit çünkü bu muhtemelen ext4. Bu yardımcı olabilir, ancak düzenlemek için Windows ile çalışan Linux'a ihtiyacınız olmayabilir.

    Muru'nun işaret ettiği gibi, bu kadar zor olması gerekmez. Kendi FAT32 bölümüne geçebilirsiniz/boot . Bu, Windows'a bağlanmayı önemsiz kılar.

  • Yorumdan next_entry=Windowssonra, karmadan önce dosyaya ekleyin (ya da her neyse).

  • Bağlantısını kes.
  • Yeniden Başlatma.

Windows'da komut dosyası oluşturmak benim rahatlık alanımın çok dışında ve burada yaptığımızın gerçekten dışında. Ama tüm yapmanız gereken bu olmalı.


1
Bu yöntemde, şimdi sohbete taşınan bir yorumda söylediğim gibi, ayrı bir /bootbölüme geçmek ve FAT32 veya NTFS olarak biçimlendirmek, sonra bunları Windows'ta rahatça düzenlemek en iyisidir . /bootÖzellikle Unix-y özellikleri gerektiren hiçbir şey yoktur . Powershell kullanarak bunu yazmak kolay olmalıdır.
muru

2

grub-set-defaultgrub-reboot ile aynı şeyi yapmalı, ancak ayarı kalıcı hale getirmelidir. Bu, tam olarak Windows kullanıcı arayüzünden değil, istediğiniz gibi, ancak belki de sizin için çalışıyor.


Bu sorunun önyükleme sırası ile ilgisi yoktur.
Jennifer

Bu yorumla ne demek istediğini anlamıyorum, açıklayabilir misin?
Sebastian Stark

Amon San, gruba varsayılan olarak nasıl Windows'a ayarlanacağımı sormuyor - ze, pencereler zaten önyüklenmişse nasıl yeniden başlatılacağını ve hangi işletim sisteminin önyükleneceğini seçiyor.
Jennifer

@Jennifer OP "şimdi Windows'da nasıl yeniden başlatılacağını" sormuyor. Eğer öyleyse OP sadece Windows Yeniden Başlat'ı ve sonra grub menüsünden Windows'u seçebilir. OP "Windows ben orada olmadığımda otomatik olarak yeniden başlatıldığında, varsayılan grub menü seçeneği yerine Windows'a yeniden başlatıldığından nasıl emin olabilirim" diye soruyor. En azından asıl sorunu bu şekilde görüyorum .
WinEunuuchs2Unix

Evet, OP sadece Windows Yeniden Başlat'ı ve sonra grub menüsünden Windows'u seçebilir. Ancak OP, önyükleme menüsünde Windows'u seçmek zorunda kalmadan otomatik olarak Windows'a nasıl geri döneceğimi soruyor - başka bir deyişle, müdahalem olmadan nasıl yapabilirim? Çok fazla X Ying!
Jennifer

1

Windows'un hangi sürümünü veya UEFI'da olup olmadığınızı söylemediniz.

Uygun bir UEFI önyüklemesi (ve eski önyükleme değil) kullanıyorsanız, Windows UEFI önyükleme girişine geçici olarak önyükleme yapmak mümkündür. Linux'ta, bu gibi araçlar kullanılarak yapılabilir efibootmgr. Windows'da şahsen EasyUEFI kullanıyorum . Kişisel, GUI kullanımı için ücretsizdir, ancak kurumsal veya CLI kullanımı için ücretsiz değildir. Onun güvenliği için kefil olamam. Ayrıca biraz yavaş görünüyor, ama işe yarıyor gibi görünüyor

Arch Linux (GRUB olmadan çekirdek EFI shim) ve Windows 10 kullanan kendi kurulumumda, başlangıç ​​ekranında "EFI Önyükleme Seçeneğini Yönet" i seçtikten sonra şöyle görünüyor:

Bir kerelik önyükleme seçeneğini gösteren resim

UEFI önyükleme kullanıyorsanız, Windows için benzer bir şey, ayrıca Ubuntu için tek bir giriş (GRUB yükler) ve cihaza özgü bazı seçenekler görmelisiniz. Bir kerelik önyükleme seçeneği, daha sonra Windows için UEFI önyükleme girdisine bir kez önyükleme yapmak ve daha sonra önyüklemeyi GRUB'a geri ayarlamak için kullanılabilir. Bunu ayarladıktan sonra normal şekilde yeniden başlatırsınız.


1
teşekkürler, ama bu benim zevkime göre her zaman çok fazla manuel etkileşim gerektirir.
amon san

1
Omuz silkme. Herhangi bir hızda /bootext4 olarak düzenlemek yerine NTFS veya FAT32'ye geçmelisiniz . Windows'ta ext4 için yazma desteği iffy, bu şekilde çok fazla risk alıyorsunuz.
muru
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.