Как я могу сказать GRUB, что хочу перезагрузить в Windows — прежде чем я перезагружу?

С технической точки зрения Вы пытаетесь преобразовать объем в массу или вес. Несомненно, Вы записали "воду", но в какой температура и давление? Это имеет значение. И что, если Вы записали "1 грамм ртути"?

Вы просите что-то, что не может быть сделано в упрощенном контексте в который units работы. Я думаю, что Вы оказываетесь перед необходимостью искать плотность жидкости, Вы интересуетесь и умножаетесь собой.

33
13.04.2017, 15:36
9 ответов

Для grub-reboot управляйте для работы, несколько необходимых изменений конфигурации должны существовать:

  • Запись по умолчанию для личинки должна быть установлена на saved. Одно возможное местоположение для этого GRUB_DEFAULT= строка в /etc/default/grub
  • Использовать grub-set-default для установки записи по умолчанию в ту, Вы обычно используете.
  • Обновите свою конфигурацию личинки (например. update-grub).

Это должно заботиться о начальной настройке. В будущем просто сделайте grub-reboot <entry> для одноразовой начальной загрузки <entry>.

20
27.01.2020, 19:37
  • 1
    я вижу Ваши слова "запись по умолчанию для личинки, должен быть установлен на saved", в то время как мое хранение GRUB_DEFAULT=0 также удовлетворенный. Так saved ненужный? –  zhangxaochen 12.08.2016, 10:58
  • 2
    я не уверен, понимают ли все, насколько прохладный эта функция действительно, я планирую загрузить win7ult64 с rhel64, и наоборот, при становлении rhel, автоматическим доступный для другой задачи запланированного резервного копирования сетевых систем победы, которая продвигает к rhel zfs raidz2. Затем в завершенном резервном копировании, копавшая система автоматические начальные загрузки назад в геймера окон iis детская площадка сервера для остальной части недели, промывки и повторения. Это - оборотень. Хороший ответ :-) –  Brian Thomas 26.01.2017, 12:18
  • 3
    Это взяло мне возрасты, чтобы заметить, что перезагрузка личинки перестала работать тихо, давая код возврата успеха. Я надеюсь, что мое предложенное редактирование в порядке. :-) –  Nobody 21.04.2017, 16:06

Я использую openSUSE, который идет с названным сценарием grubonce, который делает точно, в чем Вы нуждаетесь - запись личинки набора, которая будет использоваться на следующей перезагрузке.

# grubonce
0: Trace -- openSUSE 12.1 - 3.1.10-1.16
1: Debug -- openSUSE 12.1 - 3.1.10-1.16
2: Desktop -- openSUSE 12.1 - 3.1.10-1.16
3: Failsafe -- openSUSE 12.1 - 3.1.10-1.16

# grubonce 0
Using entry #0: Trace -- openSUSE 12.1 - 3.1.10-1.16

# grubonce 2
Using entry #2: Desktop -- openSUSE 12.1 - 3.1.10-1.16

Я не знаю, который (если таковые имеются) другие дистрибутивы поставляют этот сценарий, поэтому в случае, если Ваш дистрибутив не имеет его, можно проверить эту страницу:

http://sidvind.com/wiki/GRUB:_Boot_another_OS_once

1
27.01.2020, 19:37

grub-set-default кажется более доступным (grubonce не перечислен в Ubuntu 'стих). Это может также быть более полезно, поскольку Windows 7 имеет привычку к выполнению перезагрузки во время запуска, если обновления были применены наконец завершение работы (то есть, это начинает запуск, обрабатывает некоторые данные обновления, перезагрузки, и затем отображает страницу входа в систему).
Я часто запускал Windows 7 только, чтобы возвратиться и найти выполнение Ubuntu.

1
27.01.2020, 19:37
  • 1
    я выключил обновление Windows, так, чтобы не была проблема :D, я попробую это. Из того, что я видел, кажется, что это делает то же самое как grub-reboot. Я редактирую свой вопрос с большим количеством детали. Спасибо так или иначе. –  jadkik94 16.07.2012, 23:52

grub-set-default кажется более доступным (grubonce не перечислен в Ubuntu 'стих). Это может также быть более полезно, поскольку Windows 7 имеет привычку к выполнению перезагрузки во время запуска, если обновления были применены наконец завершение работы (то есть, это начинает запуск, обрабатывает некоторые данные обновления, перезагрузки, и затем отображает страницу входа в систему).
Я часто запускал Windows 7 только, чтобы возвратиться и найти выполнение Ubuntu.

1
27.01.2020, 19:37
  1. Отредактируйте/etc/default/grub и замену GRUB_DEFAULT=0 с GRUB_DEFAULT=saved
  2. sudo update-grub
  3. Ваша команда будет:

    sudo grub-reboot "$(grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot
    

симпатичная функция в Вашем ~/.bashrc будет похожа

# ******************************************************************
# reboot directly to windows 
#   Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu
# ******************************************************************
function my_reboot_to_windows {
    WINDOWS_TITLE=`grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2`
    sudo grub-reboot "$WINDOWS_TITLE"
    sudo reboot
}

В случае, если, Ваш grub.conf содержит несколько строк для Windows, после функций будет заботиться только о строках, запускающихся menuentry и выбор просто первого, обращение к Windows:

function my_reboot_to_windows {
    WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
    sudo grub-reboot "$WINDOWS_TITLE"
    sudo reboot
}
23
27.01.2020, 19:37
  • 1
    Мой файл /boot/grub/grub.cfg содержит больше строк с "Windows" в нем, многими из них указывающий что-то как ...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt..., таким образом, я предполагаю, что Ваш код перестал бы работать на нем. Это может быть зафиксировано путем захвата для ^menuentry 'Windows. –  Jan Vlcinsky 13.01.2015, 18:11
  • 2
    , Это должно быть отмечено как корректный ответ. –  Taha Rehman Siddiqui 14.04.2016, 22:46
  • 3
    Функция более полезна, чем я думал. –  Carson Ip 21.04.2017, 15:30

В Fedora вы можете использовать следующий сценарий. Обратите внимание, что это в основном то же самое, что описано в https://askubuntu.com/a/18186/149422 , с некоторыми изменениями для GRUB 2 в Fedora .

#!/bin/bash
if [ `readlink /boot/grub2/grubenv` == "/boot/efi/EFI/fedora/grubenv" ]; then
    sudo mv /boot/grub2/grubenv /boot/grub2/grubenv-original
    sudo ln -s ../efi/EFI/fedora/grubenv /boot/grub2/grubenv
fi
MENU_ENTRY=`grep ^menuentry /boot/grub2/grub.cfg  | grep --line-number Windows`
MENU_NUMBER=$(( `echo $MENU_ENTRY | sed -e "s/:.*//"` - 1 ))
sudo grub2-reboot $MENU_NUMBER
sudo reboot
1
27.01.2020, 19:37

De acuerdo con @jw013. Y también puede dar el mosaico del menú a grub -reiniciar (incluido el título del menú principal ). por ejemplo:

$ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
$ sudo reboot

Donde "Opciones avanzadas para Ubuntu" es el menú principal, "Ubuntu, con Linux 4.13.0 -26 -genérico" es el submenú.

2
20.08.2021, 13:23

Очень простой способ сделать это — использовать GRUB Перезагрузка расширения оболочки GNOME (то есть, если вы используете GNOME ).

Чтобы использовать расширение, перейдите на сайт, указанный выше, и нажмите на маленький переключатель в правом верхнем углу (при первом переходе на страницу, вероятно, будет написано «Выключено» ). Вам будет предложено подтвердить, что вы хотите скачать и установить расширение.

После установкивы можете открыть системное меню и нажать кнопку питания, как обычно для перезагрузки. Всплывающее окно, подтверждающее, что вы хотите выключить или перезапустить, теперь имеет кнопку с надписью «Перезапустить в…». Когда вы нажимаете эту кнопку, элементы вашего меню grub появляются в списке, чтобы вы могли выбрать, какую ОС автоматически запускать после перезапуска. Если вы выберете один из этих элементов, ваша система выключится и перезапустится с использованием выбранных вами параметров grub.

2
20.08.2021, 13:23

Перезагрузите машину с определенной целью загрузки. (Запись Grub ).
Цель загрузки выбирается в интерактивном режиме с помощью fzf.

# Search for grub.cfg
GRUB_CFG=$(find /boot -name grub.cfg 2> /dev/null)

if [[ -z ${GRUB_CFG} ]]; then
  echo "No grub.cfg found under /boot. Try as root."
  exit 1
elif [[ ! -r ${GRUB_CFG} ]]; then
  echo "${GRUB_CFG} is not readable. Try as root."
  exit 1
fi

GRUB_MENUENTRY=$(awk -F\' '/menuentry / {print $2}' ${GRUB_CFG} | fzf)

# Set boot target for next boot
grub2-reboot "${GRUB_MENUENTRY}"

reboot
0
20.08.2021, 13:23

Теги

Похожие вопросы