@ Czas, gdzie jest testament (lub tony pieniędzy) istnieje sposób: D
Wilf
Odpowiedzi:
8
Nie musisz modyfikować, /boot/grub/grub.cfgjak sugerował Michał Hagara. Może to spowodować uszkodzenie Ubuntu, jeśli zainstalujesz nowe jądro i nie zaktualizujesz e:\home\user\Grubshift\ubuntudefault\grub.cfg.
Wszystko, co musisz zrobić, to utworzyć / skopiować plik /boot/grub/grubenvo następującej treści
To jest znacznie wygodniejsze rozwiązanie, dziękuję!
Dmitriy Berkutov
Nie wiedziałem o tej funkcjonalności:) ... Jak widać, zauważyłem, że mieszanie się z grub.cfg nie jest najmądrzejsze ...
RiddleMeThis
czy jesteś pewien, że wymagane jest 987 razy „#”? Myślę, że 462 razy wystarczy :-D
Jounathaen
2
Oto, co mam na myśli:
http://www.ext2fsd.com/ (powinien móc zapisywać na partycji EXT, „montować” i przypisywać literę podczas uruchamiania)
następnie przygotowałbym zmodyfikowany plik GRUB, w którym Ubuntu jest ustawiony jako domyślny system operacyjny (ten też byłby przechowywany na partycji Linux)
Skrypt Windows BATCH (wykonywany przez wybrany skrót), który:
Backup OLD GRUB (domyślnie Windows)
kopiuj zmodyfikowany GRUB (domyślnie Ubuntu) na OLD jeden (Domyślnie Windows)
Uruchom ponownie komputer
Skrypt BASH dla systemu Linux, który zmodyfikuje i zaktualizuje GRUB podczas uruchamiania (lub ponownego uruchamiania), aby przywrócić domyślny system operacyjny Windows
Z tym podejściem mogę się całkowicie mylić, ale nie rozumiem, dlaczego to nie powinno działać.
1. Skrót, aby ponownie uruchomić system Windows i uruchomić system Ubuntu
OK, wadą tego jest to, że będziemy musieli zmodyfikować grub.cfg (/boot/grub/grub.cfg) bezpośrednio (odradza się - https://askubuntu.com/a/437341/402801), ponieważ istnieje nie ma sposobu na uruchomienie update-grubz systemu Windows ... jeśli możesz żyć z tym czytać dalej.
Jak już wspomniałem wcześniej, zainstaluj Ext2Fsd , włącz go automatycznie i przypisz literę podczas uruchamiania
Utworzyłem mój „Folder kopii zapasowej” /home/user/Grubshiftz 3 podkatalogami: kopia zapasowa (do tworzenia kopii zapasowej aktualnego /boot/grub/grub.cfg), ubuntudefault (do przechowywania grub.cfg z Ubuntu jako domyślną), windowsdefault (masz pomysł)
Po instalacji Ubuntu jest ustawiony jako domyślny, więc skopiuj go grub.cfgdo żądanego katalogu. Mam konfigurację „Windows jako domyślną” poprzez modyfikację GRUB-a za pomocą grub-customizera (moim zdaniem jest to bezpieczniejsze), po tym skopiuj Windows grub.cfgdo pożądanego katalogu
/r /t 0 - opcje zamknięcia, 1. oznacza ponowne uruchomienie, 2. oznacza natychmiast, bez brzydkich wiadomości
Zmodyfikuj odpowiednio ścieżkę !!!
Zapisz ten plik (użyłem UTF-8) i zmień rozszerzenie na *.bat
Utwórz skrót na pulpicie shift.bat, kliknij prawym przyciskiem myszy na shorctur -> właściwości -> karta skrótów -> Uruchom: zminimalizowany (który pozbywa się wyskakiwania CMD)
Próbowałem tego co najmniej 8 razy, ustawiając system Windows jako domyślny za pomocą grub-customizer...
Nie mówię, że to bezpieczne, ale HEJ !, mamy problem z bootloaderem ... to nie jest bezpieczne
Kiedy w pełni działa, możemy całkowicie pozbyć się menu GRUB, ponieważ zawsze uruchamia się ono we właściwym systemie operacyjnym ...
Logika wygląda dobrze, niestety ext2fsd nie w pełni obsługuje ext4.
Dmitriy Berkutov,
1
Także jeśli skrypt się spieprzy (jakby Windows kiedykolwiek to zrobił :) komputer nie uruchomi się - dobry pomysł. Dobrym przykładem jest to, że skrypt Linux uruchamia się przy starcie, ale komputer jest wyłączany podczas uruchamiania i po prostu wykonuje ten skrypt, a następnie ...
Wilf
0
Oto jak skonfigurowałem moją konfigurację:
Podsumowując: System resetuje się domyślnie do ostatniego aktywnego, restartuje z Windowsa do Linuksa i odwrotnie za pomocą prostego skryptu.
Skonfiguruj grub, aby zawsze uruchamiał ostatnio wybrany:
Jeśli / boot / grub / grubenv nie istnieje, utwórz go, używając odpowiedzi od Germara
Plik wsadowy do ponownego uruchomienia z systemu Windows do systemu Linux:
@echo off
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /mount disk1 L:
:CheckForFile
IF EXIST "L:\boot\grub\grubenv" GOTO FoundIt
GOTO CheckForFile
:FoundIt
sed -i -e '/next_entry/c\next_entry=0' L:/boot/grub/grubenv
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /umount disk1 L:
echo press enter to reboot
pause
shutdown -r -t 00
zamień na /mount disk1 L:coś specyficznego dla twojego systemu. Dostępne dyski można znaleźć za pomocą extmounter /listpolecenia i litery dysku. Ponadto L:nie można go już wziąć.
zapisz jako np reboot-linux.bat
możesz kliknąć nietoperza prawym przyciskiem myszy i wybrać, run as administratoraby go wykonać
Skrypt powłoki do ponownego uruchomienia z Linuksa do Windows:
sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
zamień na next_entry=2dowolny wpis w systemie Windows.
zapisz go jako np. ~/reboot_windowsi oznacz jako wykonywalny:chmod +x ~/reboot_windows
Odpowiedzi:
Nie musisz modyfikować,
/boot/grub/grub.cfg
jak sugerował Michał Hagara. Może to spowodować uszkodzenie Ubuntu, jeśli zainstalujesz nowe jądro i nie zaktualizujesze:\home\user\Grubshift\ubuntudefault\grub.cfg
.Wszystko, co musisz zrobić, to utworzyć / skopiować plik
/boot/grub/grubenv
o następującej treściGdzie
next_entry
jest wiersz następnego wpisu menu GRUB, który powinien rozpocząć się następnym razem (od zera). Więcnext_entry=2
byłoby 3th linia.Grub automatycznie usunie wartość po uruchomieniu, więc następnym razem uruchomisz ponownie domyślny system operacyjny.
Tak to
grub-reboot
działa.źródło
Oto, co mam na myśli:
Z tym podejściem mogę się całkowicie mylić, ale nie rozumiem, dlaczego to nie powinno działać.
EDYTOWAĆ:
Jest też: http://www.paragon-drivers.com/extfs-windows/, których nigdy nie próbowałem.
POSTĘP
1. Skrót, aby ponownie uruchomić system Windows i uruchomić system Ubuntu
OK, wadą tego jest to, że będziemy musieli zmodyfikować grub.cfg (/boot/grub/grub.cfg) bezpośrednio (odradza się - https://askubuntu.com/a/437341/402801), ponieważ istnieje nie ma sposobu na uruchomienie
update-grub
z systemu Windows ... jeśli możesz żyć z tym czytać dalej./home/user/Grubshift
z 3 podkatalogami: kopia zapasowa (do tworzenia kopii zapasowej aktualnego /boot/grub/grub.cfg), ubuntudefault (do przechowywania grub.cfg z Ubuntu jako domyślną), windowsdefault (masz pomysł)Po instalacji Ubuntu jest ustawiony jako domyślny, więc skopiuj go
grub.cfg
do żądanego katalogu. Mam konfigurację „Windows jako domyślną” poprzez modyfikację GRUB-a za pomocą grub-customizera (moim zdaniem jest to bezpieczniejsze), po tym skopiuj Windowsgrub.cfg
do pożądanego kataloguNastępnie otwórz notatnik i wstaw:
/y
- opcjacopy
polecenia, pomija monit o potwierdzenie zamiaru zastąpienia istniejącego pliku docelowego/r /t 0
- opcje zamknięcia, 1. oznacza ponowne uruchomienie, 2. oznacza natychmiast, bez brzydkich wiadomościZmodyfikuj odpowiednio ścieżkę !!!
*.bat
shift.bat
, kliknij prawym przyciskiem myszy na shorctur -> właściwości -> karta skrótów -> Uruchom: zminimalizowany (który pozbywa się wyskakiwania CMD)Próbowałem tego co najmniej 8 razy, ustawiając system Windows jako domyślny za pomocą
grub-customizer
...Nie mówię, że to bezpieczne, ale HEJ !, mamy problem z bootloaderem ... to nie jest bezpieczne
Kiedy w pełni działa, możemy całkowicie pozbyć się menu GRUB, ponieważ zawsze uruchamia się ono we właściwym systemie operacyjnym ...
źródło
Oto jak skonfigurowałem moją konfigurację:
Podsumowując: System resetuje się domyślnie do ostatniego aktywnego, restartuje z Windowsa do Linuksa i odwrotnie za pomocą prostego skryptu.
Skonfiguruj grub, aby zawsze uruchamiał ostatnio wybrany:
Pod linuksem:
GRUB_DEFAULT=saved
iGRUB_SAVEDEFAULT=true
w / etc / default / grubsudo update-grub
Zainstaluj sterownik Extag Paragons
patrz http://www.paragon-drivers.com/extfs-windows/
Utwórz skrypty restartu:
Jeśli / boot / grub / grubenv nie istnieje, utwórz go, używając odpowiedzi od Germara
Plik wsadowy do ponownego uruchomienia z systemu Windows do systemu Linux:
/mount disk1 L:
coś specyficznego dla twojego systemu. Dostępne dyski można znaleźć za pomocąextmounter /list
polecenia i litery dysku. PonadtoL:
nie można go już wziąć.reboot-linux.bat
run as administrator
aby go wykonaćSkrypt powłoki do ponownego uruchomienia z Linuksa do Windows:
next_entry=2
dowolny wpis w systemie Windows.~/reboot_windows
i oznacz jako wykonywalny:chmod +x ~/reboot_windows
źródło