어떤 OS Grub 부팅을 원격으로 제어합니까?


10

다음 이중 부팅 설정을 고려하십시오.

  • 그럽은 /dev/sda
  • /dev/sda1 로 장착 /boot
  • /dev/sda6 로 장착 /
  • Windows 10은 /dev/sdb2

이제 Grub은 부팅 할 때 기본적으로 Ubuntu를 선택하고 SSH를 통해 원격으로 로그인 할 수 있습니다. Grub이 시작될 때 Windows를 선택할 수 있으며 RDP를 통해 원격으로 로그인 할 수 있습니다.

문제는 물리적으로 없을 때 부팅 할 OS를 선택할 수있는 방법이 없다는 것입니다.

이 질문 에서는 Grub이 마지막으로 선택한 운영 체제를 자동으로 부팅하는 방법에 대해 설명합니다. 그러나 이것은 작동하지 않습니다 . Windows를 선택하면 PC를 원격으로 다시 시작하고 Ubuntu를 부팅 할 수 없습니다.

어떤 OS 부팅을 원격으로 제어 할 수있는 방법이 있습니까?


Windows 쪽에서 @Takkat? (Windows를 실행 중이고 Grub에 Ubuntu를 부팅하도록 지시하는 프로그램이나 스크립트가 있습니까?)
Nathan Osman

@Takkat 오, 당신이 무슨 말을하는지 알 수 있습니다 ... 작동 할 수 있습니다.
Nathan Osman

PXE를 통한 부팅에 대해 생각해 보셨습니까? 그런 다음 언제든지 부팅 구성을 다른 서버에 남겨두고 언제든지 액세스하고 적절하게 조정할 수 있으며 다른 시스템을 재부팅하여 지정된 OS를 시작할 수 있습니까?
Ziazis

답변:


11

grub-reboot를 사용하여 주어진 Grub 메뉴 부팅 항목 으로 재부팅 할 수 있습니다. 이것은 SSH와 같은 원격 세션에서도 수행 할 수 있습니다.

다른 OS로 부팅하려면 다음에서 시작하여 Grub 메뉴에 표시되는 위치를 선택하십시오 0.

sudo grub-reboot <num>

여기에 이미지 설명을 입력하십시오

이 경우 내 Windows가 제 위치에 4있습니다. 따라서 발행 할 때

sudo grub-reboot 4 && sudo reboot

Grub 설정에서 정의한 시간 초과 후 머신이 Windows로 재부팅됩니다.

Windows에서 재부팅 한 후 시스템은 기본 OS로 부팅됩니다. 이것은 다음과 같이 정의 할 수 있습니다

sudo grub-set-default <num>

이 작업을 수행하려면 시스템 GRUB_DEFAULT=saved에서 정의해야 할 수도 /etc/default/grub있지만 내 시스템에서는 기본 설정으로도 작동했습니다.

슬프게도 Windows에서 Windows를 재부팅하면이 작업을 수행 할 수 없습니다.


3

takkat의 답변 덕분에 또 다른 아이디어 :

  1. 기본 부팅은 우분투
  2. grub-reboot NNWindows 부팅 항목은 어디에 있습니까?
  3. Windows를 재부팅하면 기본 부팅 인 Ubuntu로 돌아갑니다.

단점 : Windows를 다시 부팅하려면 두 번 다시 부팅해야합니다. Windows를 grub-reboot N다시 부팅하고 Ubuntu를 다시 부팅 하십시오! :-(


더 많은 아이디어를주세요. :)
AB

1

시간에 따라 grub을 사용하여 기본 OS를 설정할 수 있습니다. GRUB을 예약 할 수 있습니까?를 참조하십시오 . 이것은 정의 된 시간에 기본 '항목'(자동 로그인)을 자동으로 변경하는 것을 의미합니까? . 예를 들어 $ MINUTE가 홀수이면 Windows로 부팅하고 $ MINUTE가 짝수이면 Linux로 부팅하도록 grub을 구성 할 수 있습니다.

insmod datehook
if [ $MINUTE -eq 0 -o $MINUTE -eq 2  -o $MINUTE -eq 4 -o $MINUTE -eq 6 -o $MINUTE -eq 8]; then
    set default="Ubuntu"
else
    set default="Windows"
fi

특정 OS를 원한다면; 시간이 올 때까지 기다리십시오.

이 방법을 사용하면 Grub에 도달하는 데 걸리는 시간을 고려해야합니다. 5 분의 시간 프레임을 사용하는 것이 더 안정적 일 것입니다.


부팅 항목을 번갈아 사용할 수도 있다고 생각합니다. 같은 것 :

if [ $default = "Ubuntu" ]; then
  set default="Windows"
else
  set default="Ubuntu"
fi

grub이 마지막으로 부팅 된 OS를 기억하도록 구성된 경우 ( grub2가 마지막 선택을 기억하도록하는 방법은 무엇입니까? )

PC가 원하는 OS로 부팅되지 않으면 재부팅하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.