Mam konfigurację podwójnego rozruchu:
- Ubuntu 16.04 LTS
- Windows
Obecnie, gdy chcę przejść reboot
z Ubuntu na Windows, używam grub-reboot
z odpowiednim numerem jako argumentem. To działa dobrze.
Jednak czasami system Windows wymaga ponownego uruchomienia, aby pewien program mógł zainstalować lub zaktualizować, a ja muszę ręcznie wybrać odpowiednią pozycję menu rozruchowego grub. Czy istnieje podobny sposób (z interfejsu użytkownika systemu Windows), aby powiedzieć grubowi, który wpis uruchomić?
Przypuszczam, że grub-reboot
polecenie przekazuje argument do pliku, który z kolei jest odczytywany przez gruba reboot
.
edit (dotyczy mojej wybranej odpowiedzi): Obecnie szukam zamontowania dysku ext4 zawierającego / boot i skryptuję edycję. może to potrwać dość długo, ponieważ robię to w wolnym czasie obok mojej 40-tygodniowej pracy nietechnicznej. ^^
reboot-to-windows
funkcją, która jest kompromisem w stosunku do używania ext2fsd, który psuje superbloki ext4 .Odpowiedzi:
Najprościej jest z Grubem
Uciążliwe jest sterowanie
grub
z poziomu systemu Windows. Wymagana jest aplikacja innej firmy, aby uzyskać dostęp do Ubuntu z systemu Windows i wymagane jest hakowanie. Jednak z górnej części tego postu: Jak zmienić kolejność na moich podwójnych dystrybucjach rozruchowych , możesz skonfigurowaćgrub
automatyczne ponowne uruchomienie do ostatniej opcji menu. Więc kiedy początkowo uruchamiasz się z systemem Windows i budzi się o 2 w nocy, aby uruchomić aktualizacje,grub
przeładuje system Windows, aby mógł z wdziękiem ukończyć aktualizacje.Po ręcznym ponownym uruchomieniu i wybraniu Ubuntu ze
grub
wszystkich kolejnych uruchomień automatycznie załaduje Ubuntu. Ta funkcja działa równie dobrze, jeśli masz błędy w bieżącym jądrze i chceszgrub
automatycznie zrestartować się do wybranej przez ciebie starszej wersji jądra.Jak sprawić, by Grub powtórzył ostatni wybór rozruchu
Jest to dość proste. Używając
sudo
uprawnień, edytuj/etc/default/grub
i zmień:Pierwszy wiersz, który będziesz komentował, a tuż poniżej wstawia kolejne dwa wiersze.
Zapisz plik i wpisz w terminalu:
Linia poleceń Ubuntu do ponownego uruchomienia w systemie Windows
Obecnie używasz czegoś takiego:
Na podstawie tej zmodyfikowanej odpowiedzi Stack Exchange możesz użyć domyślnego gruba, aby ponownie uruchomić system Windows. Skopiuj ten kod do swojego
~/.bashrc
pliku:~/.bashrc
plik z nowąreboot-to-windows
funkcją.~/.bashrc
aby załadować zmieniony .: ~/.bashrc
aby przeładować go do istniejącej sesji terminala, ale niektórzy ludzie tego nie zalecają.Aby ponownie uruchomić system Windows z wiersza polecenia, użyj:
Jeśli system Windows automatycznie uruchomi się ponownie, gdy nie będziesz szukać, system zostanie ponownie uruchomiony. Pozwala to na normalne przetwarzanie automatycznych aktualizacji systemu Windows w cyklach wielokrotnego restartu, których czasami używa Windows.
źródło
Możesz replikować to, co
grub-reboot
robi. To tylko skrypt, który ostatecznie wywołuje:Gdzie
Windows
jest nazwa pozycji menu grub. To może nie być takUruchomiłem to. Wszystko to robi to wkładka
next_entry=Windows
do/boot/grub/grubenv
. W linii 2. Więc jeśli jest to tylko plik, w systemie plików, możesz zrobić dokładnie to samo z poziomu systemu Windows . Jest to problem z systemem Windows do rozwiązania, ale oto ogólny przegląd:Zamontuj dysk, na którym mieszka boot. Jest to prawdopodobnie najtrudniejszy bit, ponieważ prawdopodobnie jest to ext4. Może to pomóc, ale nie jest wykluczone, że do edycji może być potrzebny system Linux z systemem Windows.
Jak wskazuje Muru, nie musi to być takie trudne. Możesz przejść
/boot
do własnej partycji FAT32 . To sprawia, że montaż w systemie Windows jest prosty.Wstaw
next_entry=Windows
(lub cokolwiek) do pliku po komentarzu, przed skrótami.Skrypty, które w systemie Windows są poza moją strefą komfortu, a nie tak naprawdę, co tutaj robimy. Ale to wszystko, co musisz zrobić.
źródło
/boot
partycję i sformatować ją w FAT32 lub NTFS, a następnie wygodnie edytować w systemie Windows. Nie ma w/boot
tym nic szczególnie wymagającego funkcji Unix-y. Skryptowanie tego za pomocą Powershell powinno być wtedy łatwe.grub-set-default
powinien zrobić to samo, co grub-restart, ale ustawienie powinno być trwałe. Nie jest to dokładnie z interfejsu użytkownika systemu Windows, jak prosiłeś, ale może to działa dla Ciebie.źródło
Nie powiedziałeś, która wersja systemu Windows lub czy korzystasz z UEFI.
Jeśli używasz prawidłowego rozruchu UEFI (a nie starszego rozruchu), możesz tymczasowo uruchomić system Windows UEFI. W systemie Linux można to zrobić za pomocą narzędzi takich jak
efibootmgr
. W systemie Windows osobiście korzystam z EasyUEFI . Jest bezpłatny do użytku osobistego, z GUI, ale nie do użytku korporacyjnego ani CLI. Nie mogę ręczyć za jego bezpieczeństwo. Wydaje się również, że jest nieco powolny, ale wydaje się, że działaW mojej własnej konfiguracji, która korzysta z Arch Linux (podkładka EFI jądra, bez GRUB) i Windows 10, tak to wygląda po wybraniu „Zarządzaj opcją rozruchu EFI” na ekranie startowym:
Jeśli używasz rozruchu UEFI, powinieneś zobaczyć coś podobnego dla Windows, plus pojedynczy wpis dla Ubuntu (który ładuje GRUB), a także kilka innych opcji specyficznych dla urządzenia. Opcji jednorazowego rozruchu można następnie użyć do jednokrotnego uruchomienia do pozycji rozruchowej UEFI dla Windows, a następnie z powrotem do GRUB rozruchu. Po ustawieniu tego restartujesz jak zwykle.
źródło
/boot
na NTFS lub FAT32 zamiast edytować go jako ext4. Obsługa zapisu w ext4 w systemie Windows jest niepewna, ryzykujesz w ten sposób zbyt wiele.