У меня стандартная система двойной загрузки: Ubuntu и Windows. Grub настроен на запуск Windows по умолчанию.
Есть ли способ создать какую-то ссылку в Windows, которая бы:
- перезагрузите Windows
- загрузиться в Ubuntu
У меня стандартная система двойной загрузки: Ubuntu и Windows. Grub настроен на запуск Windows по умолчанию.
Есть ли способ создать какую-то ссылку в Windows, которая бы:
Ответы:
Вам не нужно изменять, /boot/grub/grub.cfg
как предложил Михал Хагара. Это может сломать Ubuntu, если вы установите новое ядро и не обновите e:\home\user\Grubshift\ubuntudefault\grub.cfg
.
Все, что вам нужно сделать, это создать / скопировать файл /boot/grub/grubenv
со следующим содержанием
# GRUB Environment Block
next_entry=2
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
Где next_entry
находится строка следующего пункта меню grub, которая должна быть запущена в следующий раз (начиная с нуля). Так next_entry=2
будет 3-я строка.
Grub автоматически удалит это значение после загрузки, поэтому в следующий раз вы снова загрузитесь в свою ОС по умолчанию.
Вот как это grub-reboot
работает.
Вот что я имею в виду:
Я могу быть совершенно неправ с этим подходом, но я не понимаю, почему он не должен работать.
РЕДАКТИРОВАТЬ:
А также есть: http://www.paragon-drivers.com/extfs-windows/, который я никогда не пробовал.
1. Сочетание клавиш для перезагрузки Windows и загрузки Ubuntu
Хорошо, минусом этого является то, что нам придется изменить grub.cfg (/boot/grub/grub.cfg) напрямую (рекомендуется против - https://askubuntu.com/a/437341/402801), так как есть нет способа запустить update-grub
из Windows ... если вы можете жить с этим, читайте дальше.
/home/user/Grubshift
с 3 подкаталогами: резервное копирование (для резервного копирования фактического /boot/grub/grub.cfg), ubuntudefault (для хранения grub.cfg с Ubuntu по умолчанию), windowsdefault (у вас есть идея)После установки Ubuntu устанавливается по умолчанию, поэтому скопируйте его grub.cfg
в нужный каталог. У меня есть конфигурация «Windows по умолчанию», изменив GRUB с помощью grub-customizer (на мой взгляд, это безопаснее), после этого скопируйте Windows grub.cfg
в нужный каталог
После этого откройте блокнот и вставьте:
copy e:\boot\grub\grub.cfg /y e:\home\user\Grubshift\backup
copy e:\home\user\Grubshift\ubuntudefault\grub.cfg /y e:\boot\grub
shutdown /r /t 0
/y
- опция copy
команды, подавляет запрос на подтверждение, что вы хотите перезаписать существующий файл назначения
/r /t 0
- варианты выключения, 1. означает перезагрузку, 2. означает немедленно, без появления неприятных сообщений
Измените путь соответственно !!!
*.bat
shift.bat
, щелкните правой кнопкой мыши по Shortctur -> Свойства -> вкладка ярлыка -> Выполнить: свернуто (это избавит от появления CMD)Я пробовал это по крайней мере 8 раз, устанавливая Windows по умолчанию с grub-customizer
...
Я не говорю, что это безопасно, но ЭЙ !, мы возимся с загрузчиком ... это не безопасно
Когда он полностью заработает, мы сможем полностью избавиться от меню GRUB, потому что оно всегда будет загружаться в нужную ОС ...
Подводя итог: система перезагружает систему по умолчанию до последней активной, перезагружается из windows в linux и наоборот, используя простой скрипт.
Под Linux:
GRUB_DEFAULT=saved
и GRUB_SAVEDEFAULT=true
в / etc / default / grubsudo update-grub
см. http://www.paragon-drivers.com/extfs-windows/
Если / boot / grub / grubenv не существует, создайте его, используя ответ Germar
@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
/mount disk1 L:
что-то конкретное для вашей системы. Вы можете найти доступные диски, используя extmounter /list
команду и букву диска. Кроме того, L:
не должны быть уже приняты.reboot-linux.bat
run as administrator
чтобы выполнить егоsudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
next_entry=2
на то, что ваша запись Windows.~/reboot_windows
и отметьте как исполняемый файл:chmod +x ~/reboot_windows