
저는 이중 부팅 Linux/windows 시스템을 설정했고 자주 전환합니다. GRUB 프롬프트에서 멈추지 않고 메뉴 중 하나에 메뉴 항목을 추가하여 창으로 직접 재부팅할 수 있는지 생각하고 있었습니다.
나는 보았다이 질문포럼에서는 그것이 바로 내가 원하는 것이지만 lilo를 다루고 있는데 그것은 내 경우가 아닙니다.
GRUB 메뉴의 기본 항목을 수정한 후 재부팅하는 솔루션을 생각했지만 몇 가지 단점이 있어 더 깔끔한 대안이 있는지 궁금합니다.
(또한 Windows에서 Linux로 직접 부팅하는 솔루션에 관심이 있지만 이는 더 어려울 수 있으며 여기에 속하지 않습니다. 어쨌든 한 가지 방법이 있는 한 다른 방법은 다음과 같이 설정할 수 있습니다. 기본값.
업데이트누가 물어본 것 같은데비슷한 질문, 이것이 제안된 답변이라면 편집하고 /boot/grub/grubenv
수행 하는 것이 좋습니다 . )grub-reboot
grub-set-default
grub-editenv
어떤 조언이라도 미리 감사드립니다.
업데이트:
이것은 내 GRUB 버전입니다.(GRUB) 1.99-12ubuntu5-1linuxmint1
실행을 시도했지만 grubonce
명령을 찾을 수 없습니다. 그리고 저장소에서 검색해도 아무 것도 나오지 않습니다. 저는 Linux Mint를 사용하고 있으니 그럴 수도 있겠네요...
보니 man grub-reboot
, 내가 원하는 대로 되는 것 같습니다 grubonce
. 또한 어디에서나 사용할 수 있습니다(적어도 저에게는 그렇습니다. grub 패키지의 일부인 것 같습니다). 두 가지 관련 명령을 보았습니다: grub-editenv
및 grub-set-default
.
sudo grub-set-default 4
를 실행한 후 실행하면 grub-editenv list
다음과 비슷한 결과가 나온다는 것을 알았습니다 .
saved_entry=4
그리고 실행하면 grub-reboot 4
다음과 같은 결과가 나타납니다.
prev_saved_entry=0
saved_entry=4
이는 둘 다 동일한 작업을 수행한다는 것을 의미합니다(하나는 일시적이고 하나는 그렇지 않음).
놀랍게도 내가 시도했을 때 :
sudo grub-reboot 4
sudo reboot now
작동하지 않았습니다. 아무것도 하지 않은 것처럼 평소처럼 메뉴만 표시하고 10초 후에 이 항목을 부팅하겠다고 하면서 첫 번째 항목을 선택했습니다.
다시 시도했는데, 항목을 잘못 썼을 수도 있다는 생각이 들었습니다(0부터 시작하는 것 맞죠?). 그 당시에는 메뉴 화면에서만 멈췄고, 부팅하려면 PC를 하드 리셋해야 했습니다.
혹시 저만 그런 것인지 확인하기 위해 누구든지 이것을 시도해 볼 수 있다면 감사하겠습니다. (민트는 나에게 힘든 시간을 줬고, 그것은 변화할 좋은 기회가 될 것입니다 :P).
에서 코드를 읽으면 /boot/grub/grub.cfg
이것이 갈 길인 것 같지만 내 관찰에 따르면 이러한 설정을 무시하고 있습니다.
답변1
- /etc/default/grub을 편집하고 다음
GRUB_DEFAULT=0
으로 바꾸십시오.GRUB_DEFAULT=saved
sudo update-grub
귀하의 명령은 다음과 같습니다
sudo grub-reboot "$(grep -i windows /boot/grub/grub.cfg|cut -d"'" -f2)" && sudo reboot
ㅏ예쁜귀하의
~/.bashrc
또는.bash_aliases
다음과 같은 기능을 수행할 수 있습니다.# Reboot directly to Windows # Inspired by http://askubuntu.com/questions/18170/how-to-reboot-into-windows-from-ubuntu reboot_to_windows () { windows_title=$(grep -i windows /boot/grub/grub.cfg | cut -d "'" -f 2) sudo grub-reboot "$windows_title" && sudo reboot } alias reboot-to-windows='reboot_to_windows'
편집자 주:
나는 교체했다더 이상 사용되지 않는 백틱(
``
)$(...)
구성별로.일반적으로 현재 버전을 준수하기 위해 다시 작성했습니다.POSIX(위키)표준을 준수하는 동안 몇 가지 사소한 변경 사항을 적용했습니다.
완전성을 위해 비교를 위해 아래 기능을 그대로 두었습니다.
grub.conf에 Windows용 여러 줄이 포함되어 있는 경우 다음 함수는 Windows를 참조하여 시작하는 줄만 처리 menuentry
하고 첫 번째 줄만 선택합니다.
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
}
답변2
명령이 작동 하려면 grub-reboot
몇 가지 필수 구성 변경이 필요합니다.
- grub의 기본 항목은 로 설정되어야 합니다
saved
. 이에 대한 가능한 위치 중 하나는 다음GRUB_DEFAULT=
과 같습니다./etc/default/grub
grub-set-default
기본 항목을 일반적으로 사용하는 항목으로 설정하는 데 사용됩니다 .- grub 구성을 업데이트하세요(예
update-grub
: ).
이것은 초기 설정을 처리해야 합니다. 앞으로는 grub-reboot <entry>
.<entry>
답변3
Ubuntu 20.04/22.04에서 이 작업을 수행하는 도구를 작성했습니다. https://github.com/mendhak/grub-reboot-picker
이전 Ubuntus에서도 작동할 수 있지만 테스트한 적이 없습니다.
답변4
@jw013님의 의견에 동의합니다. 또한 메뉴 타일을 grub-reboot에 제공할 수도 있습니다(상위 메뉴 제목 포함). 예:
$ sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 4.13.0-26-generic"
$ sudo reboot
여기서 "Ubuntu용 고급 옵션"은 상위 메뉴이고 "Ubuntu, with Linux 4.13.0-26-generic"은 하위 메뉴입니다.