Я ищу способ перезагрузки в Windows от Ubuntu в системе с двойной загрузкой 10.10 / Vista. Конкретный вариант использования заключается в том, что я хотел бы иметь возможность ssh в моем исполняемом экземпляре Ubuntu и выдать команду, которая инициирует перезагрузку непосредственно в Windows.
Я нашел многообещающий пост в блоге, но сценарий, который он не работает:
#!/bin/bash
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
sudo grub-reboot $MENU_NUMBER
sudo reboot
man grub-reboot не очень помогает, но, похоже, он ведет меня в правильном направлении:
задает начальную загрузку по умолчанию для GRUB, для следующей загрузки толькоWINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
echo $MENU_NUMBER
Это возвращает ожидаемое значение, но при перезагрузке первая запись меню по-прежнему выделена. Любые идеи, почему это не работает или предложения для других решений?
Насколько я понял, это будет не совсем то, что вы хотите, но я думаю, довольно близко. Просто следуйте ссылке webupdate.
Для меня лучше всего создать следующий скрипт с командой grub-reboot
#!/bin/bash
WINDOWS_TITLE=$(grep -i 'windows' /boot/grub/grub.cfg|grep "^[^#;]"|cut -d"'" -f2)
sudo grub-reboot "$WINDOWS_TITLE"
echo "Your computer will reboot on ${WINDOWS_TITLE} in 3 seconds, press Ctrl+C if you want to abord it"
sleep 3 && sudo reboot
Я не уверен, что это будет 100% также работать в ubuntu, но однажды я сделал эту работу на компьютере centos
, в основном вам нужно будет сказать grub, какой id # из grub.conf он должен работать дальше. ID # можно найти с помощью
echo `sudo grep ^title /boot/grub/grub.conf | grep -n Windows | cut -f 1 -d:`-1
, поэтому в моем случае это будет, например, вывод «4-1», поскольку четвертая запись в моем grub.conf содержит текст «Windows». (Замените это на фактическое имя записи (также частично), которое вы хотите использовать. Затем вы можете подать это на grub, как:
echo "savedefault --stage2=/boot/grub/stage2 --default=4-1 --once" | sudo /sbin/grub
, а при следующей перезагрузке он должен автоматически загружать запись, которую вы используете сказал [.d3]
, что все это можно скомпоновать в скрипте следующим образом:
#!/bin/sh
let NEWBOOT=`sudo grep ^title /boot/grub/grub.conf | grep -n Windows | cut -f 1 -d:`-1
echo Booting $NEWBOOT - `sudo grep ^title.\*Windows /boot/grub/grub.conf`
echo "savedefault --stage2=/boot/grub/stage2 --default=$NEWBOOT --once" | sudo /sbin/grub
sudo reboot
скрипт автоматически определит, какая запись из вашего grub.conf соответствует тексту «Windows» будет подавать это на grub, чтобы сообщить, что должно быть загружено при следующей загрузке, и перезагрузит ваш компьютер.
для gui, например, вы можете добавить значок ярлыка на рабочий стол, чтобы достичь этого.
Так что для меня лучше всего было создать следующий скрипт с командой grub-reboot
#! / bin / bash WINDOWS_TITLE = $ (grep -i 'windows '/boot/grub/grub.cfg|grep "^ [^ #;]" | cut -d "'" -f2) sudo grub-reboot "$ WINDOWS_TITLE" echo "Ваш компьютер перезагрузится в $ {WINDOWS_TITLE} в 3 секунд, нажмите Ctrl + C, если вы хотите его отложить »sleep 3 & amp; & amp; sudo reboot
Я не уверен, что это будет 100% также работать в ubuntu, но я как-то сделал эту работу на машине centos
, в основном вам придется сказать grub, какой id # из grub.conf он должен работать дальше. Идентификатор id # может быть найден
echo `sudo grep ^ title /boot/grub/grub.conf | grep -n Windows | cut -f 1 -d: `-1
, поэтому в моем случае это будет, например, вывод «4-1», поскольку четвертая запись в моем grub.conf содержит текст «Windows». (Замените это на фактическое имя записи (также частично), которое вы хотите использовать. Затем вы можете подать это на grub как:
echo "savedefault --stage2 = / boot / grub / stage2 - -default = 4-1 --once "| sudo / sbin / grub
и при следующей перезагрузке он должен автоматически загружать запись, о которой вы ей сказали.
все это можно скомпоновать в скрипте следующим образом:
#! / bin / sh let NEWBOOT = `sudo grep ^ title /boot/grub/grub.conf | grep - n Windows | cut -f 1 -d: `-1 echo Загрузка $ NEWBOOT -` sudo grep ^ title. \ * Windows / boot / grub / grub.conf` echo "savedefault --stage2 = / boot / grub / stage2 - -default = $ NEWBOOT --once "| sudo / sbin / grub sudo reboot
скрипт автоматически определит, какая запись из вашего grub.conf соответствует тексту« Windows », будет кормить это для того, чтобы рассказать, что должно быть загружено при следующей загрузке, и перезагрузит ваш компьютер.
для gui, например, вы можете добавить ярлык на рабочий стол, чтобы добиться этого.
Информация для всех была полезной для меня, но в конце я все еще не мог выполнить изменение значения grub по умолчанию, а затем перезапустить его одним щелчком мыши. После тряски в течение 2 часов я открываю эту программу, которая является тем же самым, что мы все пытаемся построить, и через 5 минут я перезагружаюсь в окна. Спасибо всем, что здесь ссылка на мошенников для тех, кто тоже сдаётся. [D0] http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
Насколько я понял, это будет не совсем то, что вы хотите, но я думаю, довольно близко. Просто следуйте ссылке webupdate article .
Я думаю, что нашел еще более приятный способ для людей, которые хотят, чтобы они были на локальном компьютере без ssh.
Решение для перезагрузки в определенную систему, выбранную с помощью пусковой установки единства, было опубликовано только на webupd8. См. [D0] http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Я знаю, что это не совсем то, что вопрос, но в случае, если у кого-то есть аналогичный вопрос позже, это может быть полезно.
Просто отредактируйте /boot/grub/grub.cfg
и измените запись по умолчанию, чтобы указать на запись, которую вы хотите загрузить. Значение может быть либо порядковым номером записи (начиная с нуля для первого), либо вы можете поместить полный заголовок записи в кавычки.
Насколько я понял, это будет не совсем то, что вы хотите, но я думаю, довольно близко. Просто следуйте ссылке webupdate article .
Так что для меня лучше всего было создать следующий скрипт с командой grub-reboot
#! / bin / bash WINDOWS_TITLE = $ (grep -i 'windows '/boot/grub/grub.cfg|grep "^ [^ #;]" | cut -d "'" -f2) sudo grub-reboot "$ WINDOWS_TITLE" echo "Ваш компьютер перезагрузится в $ {WINDOWS_TITLE} в 3 секунд, нажмите Ctrl + C, если вы хотите его отложить »sleep 3 & amp; & amp; sudo reboot
Я не уверен, что это будет 100% также работать в ubuntu, но я как-то сделал эту работу на машине centos
, в основном вам придется сказать grub, какой id # из grub.conf он должен работать дальше. Идентификатор id # может быть найден
echo `sudo grep ^ title /boot/grub/grub.conf | grep -n Windows | cut -f 1 -d: `-1
, поэтому в моем случае это будет, например, вывод «4-1», поскольку четвертая запись в моем grub.conf содержит текст «Windows». (Замените это на фактическое имя записи (также частично), которое вы хотите использовать. Затем вы можете подать это на grub как:
echo "savedefault --stage2 = / boot / grub / stage2 - -default = 4-1 --once "| sudo / sbin / grub
и при следующей перезагрузке он должен автоматически загружать запись, о которой вы ей сказали.
все это можно скомпоновать в скрипте следующим образом:
#! / bin / sh let NEWBOOT = `sudo grep ^ title /boot/grub/grub.conf | grep - n Windows | cut -f 1 -d: `-1 echo Загрузка $ NEWBOOT -` sudo grep ^ title. \ * Windows / boot / grub / grub.conf` echo "savedefault --stage2 = / boot / grub / stage2 - -default = $ NEWBOOT --once "| sudo / sbin / grub sudo reboot
скрипт автоматически определит, какая запись из вашего grub.conf соответствует тексту« Windows », будет кормить это для того, чтобы рассказать, что должно быть загружено при следующей загрузке, и перезагрузит ваш компьютер.
для gui, например, вы можете добавить ярлык на рабочий стол, чтобы добиться этого.
Информация для всех была полезной для меня, но в конце я все еще не мог выполнить изменение значения grub по умолчанию, а затем перезапустить его одним щелчком мыши. После тряски в течение 2 часов я открываю эту программу, которая является тем же самым, что мы все пытаемся построить, и через 5 минут я перезагружаюсь в окна. Спасибо всем, что здесь ссылка на мошенников для тех, кто тоже сдаётся. [D0] http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
Просто отредактируйте /boot/grub/grub.cfg
и измените запись по умолчанию, чтобы указать на запись, которую вы хотите загрузить. Значение может быть либо порядковым номером записи (начиная с нуля для первого), либо вы можете поместить полный заголовок записи в кавычки.
Я думаю, что нашел еще более приятный способ для людей, которые хотят, чтобы они были на локальном компьютере без ssh.
Решение для перезагрузки в определенную систему, выбранную с помощью пусковой установки единства, было опубликовано только на webupd8. См. [D0] http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Я знаю, что это не совсем то, что вопрос, но в случае, если у кого-то есть аналогичный вопрос позже, это может быть полезно.
Я не уверен, что это будет 100% также работать в ubuntu, но я как-то сделал эту работу на машине centos
, в основном вам придется сказать grub, какой id # из grub.conf он должен работать дальше. Идентификатор id # может быть найден
echo `sudo grep ^ title /boot/grub/grub.conf | grep -n Windows | cut -f 1 -d: `-1
, поэтому в моем случае это будет, например, вывод «4-1», поскольку четвертая запись в моем grub.conf содержит текст «Windows». (Замените это на фактическое имя записи (также частично), которое вы хотите использовать. Затем вы можете подать это на grub как:
echo "savedefault --stage2 = / boot / grub / stage2 - -default = 4-1 --once "| sudo / sbin / grub
и при следующей перезагрузке он должен автоматически загружать запись, о которой вы ей сказали.
все это можно скомпоновать в скрипте следующим образом:
#! / bin / sh let NEWBOOT = `sudo grep ^ title /boot/grub/grub.conf | grep - n Windows | cut -f 1 -d: `-1 echo Загрузка $ NEWBOOT -` sudo grep ^ title. \ * Windows / boot / grub / grub.conf` echo "savedefault --stage2 = / boot / grub / stage2 - -default = $ NEWBOOT --once "| sudo / sbin / grub sudo reboot
скрипт автоматически определит, какая запись из вашего grub.conf соответствует тексту« Windows », будет кормить это для того, чтобы рассказать, что должно быть загружено при следующей загрузке, и перезагрузит ваш компьютер.
для gui, например, вы можете добавить ярлык на рабочий стол, чтобы добиться этого.
Насколько я понял, это будет не совсем то, что вы хотите, но я думаю, довольно близко. Просто следуйте ссылке webupdate article .
Так что для меня лучше всего было создать следующий скрипт с командой grub-reboot
#! / bin / bash WINDOWS_TITLE = $ (grep -i 'windows '/boot/grub/grub.cfg|grep "^ [^ #;]" | cut -d "'" -f2) sudo grub-reboot "$ WINDOWS_TITLE" echo "Ваш компьютер перезагрузится в $ {WINDOWS_TITLE} в 3 секунд, нажмите Ctrl + C, если вы хотите его отложить »sleep 3 & amp; & amp; sudo reboot
Информация для всех была полезной для меня, но в конце я все еще не мог выполнить изменение значения grub по умолчанию, а затем перезапустить его одним щелчком мыши. После тряски в течение 2 часов я открываю эту программу, которая является тем же самым, что мы все пытаемся построить, и через 5 минут я перезагружаюсь в окна. Спасибо всем, что здесь ссылка на мошенников для тех, кто тоже сдаётся. [D0] http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
Просто отредактируйте /boot/grub/grub.cfg
и измените запись по умолчанию, чтобы указать на запись, которую вы хотите загрузить. Значение может быть либо порядковым номером записи (начиная с нуля для первого), либо вы можете поместить полный заголовок записи в кавычки.
Я думаю, что нашел еще более приятный способ для людей, которые хотят, чтобы они были на локальном компьютере без ssh.
Решение для перезагрузки в определенную систему, выбранную с помощью пусковой установки единства, было опубликовано только на webupd8. См. [D0] http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Я знаю, что это не совсем то, что вопрос, но в случае, если у кого-то есть аналогичный вопрос позже, это может быть полезно.
Я не уверен, что это будет 100% также работать в ubuntu, но я как-то сделал эту работу на машине centos
, в основном вам придется сказать grub, какой id # из grub.conf он должен работать дальше. Идентификатор id # может быть найден
echo `sudo grep ^ title /boot/grub/grub.conf | grep -n Windows | cut -f 1 -d: `-1
, поэтому в моем случае это будет, например, вывод «4-1», поскольку четвертая запись в моем grub.conf содержит текст «Windows». (Замените это на фактическое имя записи (также частично), которое вы хотите использовать. Затем вы можете подать это на grub как:
echo "savedefault --stage2 = / boot / grub / stage2 - -default = 4-1 --once "| sudo / sbin / grub
и при следующей перезагрузке он должен автоматически загружать запись, о которой вы ей сказали.
все это можно скомпоновать в скрипте следующим образом:
#! / bin / sh let NEWBOOT = `sudo grep ^ title /boot/grub/grub.conf | grep - n Windows | cut -f 1 -d: `-1 echo Загрузка $ NEWBOOT -` sudo grep ^ title. \ * Windows / boot / grub / grub.conf` echo "savedefault --stage2 = / boot / grub / stage2 - -default = $ NEWBOOT --once "| sudo / sbin / grub sudo reboot
скрипт автоматически определит, какая запись из вашего grub.conf соответствует тексту« Windows », будет кормить это для того, чтобы рассказать, что должно быть загружено при следующей загрузке, и перезагрузит ваш компьютер.
для gui, например, вы можете добавить ярлык на рабочий стол, чтобы добиться этого.
Насколько я понял, это будет не совсем то, что вы хотите, но я думаю, довольно близко. Просто следуйте ссылке webupdate article .
Так что для меня лучше всего было создать следующий скрипт с командой grub-reboot
#! / bin / bash WINDOWS_TITLE = $ (grep -i 'windows '/boot/grub/grub.cfg|grep "^ [^ #;]" | cut -d "'" -f2) sudo grub-reboot "$ WINDOWS_TITLE" echo "Ваш компьютер перезагрузится в $ {WINDOWS_TITLE} в 3 секунд, нажмите Ctrl + C, если вы хотите его отложить »sleep 3 & amp; & amp; sudo reboot
Информация для всех была полезной для меня, но в конце я все еще не мог выполнить изменение значения grub по умолчанию, а затем перезапустить его одним щелчком мыши. После тряски в течение 2 часов я открываю эту программу, которая является тем же самым, что мы все пытаемся построить, и через 5 минут я перезагружаюсь в окна. Спасибо всем, что здесь ссылка на мошенников для тех, кто тоже сдаётся. [D0] http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
Просто отредактируйте /boot/grub/grub.cfg
и измените запись по умолчанию, чтобы указать на запись, которую вы хотите загрузить. Значение может быть либо порядковым номером записи (начиная с нуля для первого), либо вы можете поместить полный заголовок записи в кавычки.
Я думаю, что нашел еще более приятный способ для людей, которые хотят, чтобы они были на локальном компьютере без ssh.
Решение для перезагрузки в определенную систему, выбранную с помощью пусковой установки единства, было опубликовано только на webupd8. См. [D0] http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Я знаю, что это не совсем то, что вопрос, но в случае, если у кого-то есть аналогичный вопрос позже, это может быть полезно.
Информация для всех была полезной для меня, но в конце я все еще не мог выполнить изменение значения grub по умолчанию, а затем перезапустить его одним щелчком мыши. После тряски в течение 2 часов я открываю эту программу, которая является тем же самым, что мы все пытаемся построить, и через 5 минут я перезагружаюсь в окна. Спасибо всем, что здесь ссылка на мошенников для тех, кто тоже сдаётся. [D0] http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
Насколько я понял, это будет не совсем то, что вы хотите, но я думаю, довольно близко. Просто следуйте ссылке webupdate article .
Так что для меня лучше всего было создать следующий скрипт с командой grub-reboot
#! / bin / bash WINDOWS_TITLE = $ (grep -i 'windows '/boot/grub/grub.cfg|grep "^ [^ #;]" | cut -d "'" -f2) sudo grub-reboot "$ WINDOWS_TITLE" echo "Ваш компьютер перезагрузится в $ {WINDOWS_TITLE} в 3 секунд, нажмите Ctrl + C, если вы хотите его отложить »sleep 3 & amp; & amp; sudo reboot