У меня есть настройка двойной загрузки:
- Ubuntu 16.04 LTS
- Windows
В настоящее время, когда я хочу перейти reboot
из Ubuntu в Windows, я использую grub-reboot
соответствующий номер в качестве аргумента. Это хорошо работает.
Однако иногда Windows требуется перезагрузка, чтобы можно было установить или обновить определенную программу, и мне пришлось вручную выбрать нужный пункт меню загрузки. Есть ли аналогичный способ (из пользовательского интерфейса Windows) сказать grub, какую запись загружать?
Я предполагаю, что grub-reboot
команда передает аргумент в файл, который, в свою очередь, читает grub reboot
.
edit (относительно моего выбранного ответа): в настоящее время я изучаю монтирование диска ext4, содержащего / boot, и создание сценариев редактирования. это может занять довольно много времени, так как я делаю это в свободное время, помимо своей нетехнической работы 40 часов в неделю. ^^
reboot-to-windows
функции, которая является компромиссом по сравнению с использованием ext2fsd, которая разрушает суперблоки ext4 .Ответы:
Вы можете повторить то, что
grub-reboot
делает. Это просто скрипт, который в итоге вызывает:Где
Windows
имя вашего пункта меню Grub. Это может быть не такЯ управлял этим. Все это он вставляет
next_entry=Windows
в/boot/grub/grubenv
. В строке 2. Итак, если это просто файл, в файловой системе вы можете делать то же самое из Windows . Это проблема Windows, которую нужно решить, но вот общий обзор:Смонтируйте диск, на котором находится boot. Это, наверное, самое сложное, потому что это, вероятно, ext4. Это может помочь, но не исключено, что вам может понадобиться Linux с Windows для его редактирования.
Как указывает Муру, это не должно быть так сложно. Вы можете перейти
/boot
к собственному разделу FAT32 . Это упрощает монтирование в Windows.Вставьте
next_entry=Windows
(или что-то еще) в файл после комментария, до хэшей.Сценарии, которые в Windows находятся далеко за пределами моей зоны комфорта, а не то, что мы здесь делаем. Но это должно быть все, что вам нужно сделать.
источник
/boot
раздел и отформатировать его в FAT32 или NTFS, а затем удобно отредактировать их в Windows. В этом нет ничего/boot
особенного, требующего возможностей Unix-y. Сценарии этого с использованием Powershell должны быть простыми.Самый простой способ с Grub
Это громоздкое управление
grub
из Windows. Требуется стороннее приложение для доступа к Ubuntu из Windows и некоторый взлом. Однако из верхней части этого поста: Как изменить порядок в моих дистрибутивах с двойной загрузкой , вы можете настроитьgrub
автоматическую перезагрузку до последней опции меню. Поэтому, когда вы изначально загружаетесь с Windows, и он просыпается в 2 часа ночи для запуска обновлений,grub
перезагрузите Windows, чтобы он мог корректно завершить обновления.Когда вы вручную перезагружаетесь и выбираете Ubuntu из
grub
всех ваших следующих перезагрузок, автоматически загружается Ubuntu. Эта функция работает одинаково хорошо, если у вас есть ошибки в текущем ядре и вы хотитеgrub
автоматически перезагрузиться в старую версию ядра, которую вы выбрали.Как заставить Grub повторить выбор последней загрузки
Это довольно просто. Используя
sudo
полномочия, отредактируйте/etc/default/grub
и измените следующее:Первая строка, которую вы будете комментировать, и прямо под ней вставляются следующие две строки.
Сохраните файл и введите в терминале:
Командная строка Ubuntu для перезагрузки в Windows
В настоящее время вы используете что-то вроде этого:
Из этого измененного ответа Stack Exchange вы можете использовать grub default для перезагрузки в Windows. Скопируйте этот код в ваш
~/.bashrc
файл:~/.bashrc
файл с новойreboot-to-windows
функцией.~/.bashrc
были загружены.: ~/.bashrc
чтобы перезагрузить его в существующий сеанс терминала, но некоторые люди рекомендуют не делать этого.Для перезагрузки в Windows из командной строки используйте:
Если Windows автоматически перезагружается, когда вы не смотрите, Windows перезагружается. Это позволяет автоматически обрабатывать автоматические обновления Windows в течение нескольких циклов перезагрузки, которые иногда использует Windows.
источник
grub-set-default
должен сделать то же самое, что и grub-reboot, но сделать настройку постоянной. Как вы и просили, это не совсем из интерфейса Windows, но, возможно, это работает для вас.источник
Вы не сказали, какая версия Windows или используете UEFI.
Если вы используете правильную загрузку UEFI (а не устаревшую загрузку), можно временно выполнить загрузочную запись Windows UEFI. В Linux это можно сделать с помощью таких инструментов, как
efibootmgr
. В Windows я лично использую EasyUEFI . Это бесплатно для личного использования с графическим интерфейсом, но не для корпоративного или CLI. Я не могу ручаться за его безопасность. Это также, кажется, немного медленно, но, похоже, работаетВ моей собственной установке, которая использует Arch Linux (ядро EFI shim, без GRUB) и Windows 10, это выглядит так, после выбора «Manage EFI Boot Option» на стартовом экране:
Если вы используете загрузку UEFI, вы должны увидеть нечто похожее для Windows, плюс одну запись для Ubuntu (которая загружает GRUB), а также некоторые другие специфичные для устройства опции. Параметр однократной загрузки может затем использоваться для однократной загрузки в загрузочную запись UEFI для Windows, а затем после этого обратно в GRUB. После установки вы перезапустите как обычно.
источник
/boot
на NTFS или FAT32 вместо того, чтобы редактировать его как ext4. Писать поддержку ext4 в Windows сложно, вы слишком рискуете.