grub이 Windows에서 Windows로 자동 재부팅되는 방법이 있습니까?


12

이중 부팅 설정이 있습니다.

  1. 우분투 16.04 LTS
  2. 윈도우

현재 reboot우분투에서 Windows로 가고 싶을 때 grub-reboot적절한 숫자를 인수로 사용합니다. 이것은 잘 작동합니다.

그러나 때로는 Windows를 재부팅해야 특정 프로그램을 설치하거나 업데이트 할 수 있으며 올바른 grub 부팅 메뉴 항목을 수동으로 선택해야합니다. grub에게 부팅 할 항목을 알려주는 유사한 방법이 있습니까 (Windows UI에서)?

나는 가정 grub-reboot명령 차례에 GRUB 읽을에있는 파일에 대한 인수를 전달합니다 reboot.

편집 (선택한 답변을 고려) : 현재 / boot가 들어있는 ext4 드라이브를 마운트하고 편집 스크립트를 작성하려고합니다. 40 시간 / 주 비 기술직 옆에있는 자유 시간에이 작업을 수행하므로 시간이 다소 걸릴 수 있습니다. ^^


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
terdon

grub이 Windows로 자동 재부팅되도록하기 위해 수행 한 작업으로 향후 질문을 업데이트하십시오. 나는 당신에게 어떤 방법이 효과적 이었는지 알고 당신이 작성한 Window의 스크립트 (있는 경우)를보고 싶어합니다. 다른 많은 사람들도 관심이 있다고 확신합니다.
WinEunuuchs2Unix

@ WinEunuuchs2Unix 현재 작업 중입니다. Oli가 말했듯이-윈도우 스크립팅은 왕실의 PITA입니다.
amon san

@ amonsan 나는 ext4 수퍼 블록손상시키는 ext2fsdreboot-to-windows사용하는 것보다 타협하는 기능으로 답변을 업데이트했습니다 .
WinEunuuchs2Unix

@amonsan Windows 업데이트를 다시 시작하여 Windows로 자동으로 돌아가도록 시스템 설정이 완료 되었습니까?
WinEunuuchs2Unix

답변:


19

가장 쉬운 방법은 Grub을 사용하는 것입니다

grubWindows에서 제어하기가 번거 롭습니다 . Windows에서 우분투에 액세스하기위한 타사 응용 프로그램과 일부 해킹이 필요합니다. 그러나이 게시물의 상단에서 : 이중 부팅 배포판의 순서를 변경하는 방법grub 마지막 메뉴 옵션으로 자동 재부팅하도록 설정할 수 있습니다 . 따라서 Windows로 처음 부팅 할 때 오전 2시에 깨어나 업데이트를 실행 grub하면 Windows를 다시로드하여 업데이트를 정상적으로 완료 할 수 있습니다.

수동으로 재부팅하고 grub모든 다음 재부팅 에서 Ubuntu를 선택하면 Ubuntu 가 자동으로로드됩니다. 이 기능은 현재 커널에 버그가 있고 grub선택한 이전 커널 버전으로 자동 재부팅 하려는 경우에도 동일하게 작동합니다 .

Grub이 마지막 부팅 선택을 반복하도록하는 방법

이것은 매우 간단합니다. sudo힘을 사용 /etc/default/grub하여 다음 을 편집 하고 변경하십시오.

#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

주석을 달고 바로 아래에 두 줄을 삽입합니다.

파일을 저장하고 터미널에 입력하십시오.

sudo update-grub

Windows로 재부팅 할 우분투 명령 줄

현재 다음과 같은 것을 사용합니다 :

sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now

이 수정 된 Stack Exchange 응답 에서 grub 기본값을 사용하여 Windows로 재부팅 할 수 있습니다. 이 코드를 ~/.bashrc파일에 복사 하십시오.

function reboot-to-windows {
    WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
    sudo grub-set-default "$WINDOWS_TITLE"
    sudo reboot
}
  • ~/.bashrc새로운 reboot-to-windows기능으로 파일을 저장하십시오 .
  • 현재 터미널 세션을 닫습니다.
  • 변경 ~/.bashrc될로드를 위해 새 터미널 세션을여십시오 .
  • 입력 : ~/.bashrc하여 기존 터미널 세션으로 다시로드 할 수 있지만 일부 사람들은 권장하지 않습니다.

명령 행에서 Windows로 재부팅하려면 다음을 사용하십시오.

reboot-to-windows

보이지 않을 때 Windows가 자동으로 다시 시작되면 Windows가 재부팅됩니다. 이를 통해 Windows가 때때로 사용하는 다중 재부팅주기 동안 Windows 자동 업데이트를 정상적으로 처리 할 수 ​​있습니다.


1
이 질문은 부팅 순서와 관련이 없습니다.
Jennifer

2
@Jennifer 그러나 문제는 XY 문제의 사례입니다. 이 답변은 유용합니다. 또한 Windows UI에서 부팅 순서를 일시적으로 변경하는 방법을 요구하므로 실제로 부팅 순서에 관한 것입니다.
wizzwizz4

현재이 내가 고수하고 내 사용의 경우 90 % 이상에서 나를 위해 잘 작동 것입니다
산 아몬

@amonsan 작동하지 않는 10 %에 대해 자세히 설명 할 수 있습니까?
WinEunuuchs2Unix

나는 주로 듀얼 부팅 머신에서 게임을하고 리눅스는 내가 매일하지 않는 다른 일을 위해 거기에 있습니다. grub이 마지막 부팅이 windows임을 기억하는 한 괜찮습니다. 나는 리눅스를 사용한 후 부팅 할 때 수동으로 선택하여 표준을 다시 창으로 설정하고 그 반대로도 설정해야합니다. 이것은 자주 발생하지 않습니다. 아쉽게도 내 유스 케이스는 본질적으로 이것으로 덮여 있습니다.
amon san

8

당신은 무엇을 복제 할 수 있습니다 grub-reboot. 그것은 결국 호출하는 스크립트 일뿐입니다.

grub-editenv /boot/grub/grubenv set next_entry="Windows"

Windows그럽 메뉴 항목의 이름은 어디에 있습니까 ? 그렇지 않을 수도 있습니다

나는 그것을 달렸다. 모든 그것은 삽입하지 next_entry=Windows/boot/grub/grubenv. 2 행. 따라서 파일 일 경우 파일 시스템 에서 Windows 내에서 정확히 같은 작업을 수행 할 수 있습니다 . 해결해야 할 Windows 문제이지만 다음은 개괄적 인 개요입니다.

  • 부팅이있는 곳에 디스크를 마운트하십시오. 아마도 아마도 ext4 일 것입니다. 이것은 도움 될 수 있지만 편집하기 위해 Windows에서 실행되는 Linux가 필요할 수도 있습니다.

    muru가 지적했듯이, 그렇게 힘들지는 않습니다. 자체 FAT32 파티션으로 이동할 수 있습니다/boot . 이것은 Windows에서 마운트하기가 쉽지 않습니다.

  • next_entry=Windows해시 전에 주석 다음에 파일에 (또는 무엇이든) 삽입하십시오 .

  • 마운트 해제
  • 재부팅하십시오.

Windows에서 스크립팅은 내 안락 지대 밖에 있으며 실제로 우리가하는 일이 아닙니다. 그러나 이것이 당신이해야 할 전부입니다.


1
이 방법에서, 내가 지금 언급 한 의견에서 채팅으로 이동 한 것처럼 별도의 /boot파티션 으로 이동 하여 FAT32 또는 NTFS로 포맷 한 다음 Windows에서 편안하게 편집하는 것이 가장 좋습니다 . /boot특히 Unix-y 기능이 필요한 것은 없습니다 . Powershell을 사용하여이를 스크립팅하는 것이 쉬워야합니다.
muru

2

grub-set-defaultgrub-reboot와 동일하지만 설정을 영구적으로 만들어야합니다. 이것은 귀하가 요청 한대로 Windows UI에서 나온 것이 아니지만 아마도 효과가 있습니다.


이 질문은 부팅 순서와 관련이 없습니다.
Jennifer

나는 그 의견으로 당신이 의미하는 바를 잘 알지 못합니다. 설명 할 수 있습니까?
Sebastian Stark

Amon San은 Windows를 기본값으로 설정하는 방법을 묻지 않습니다 .ze는 이미 창을 부팅했는지, 지금 재부팅하는지, 어떤 OS를 부팅 할지를 묻습니다.
Jennifer

@Jennifer OP는 "지금 Windows로 재부팅하는 방법"을 묻지 않습니다. 그렇다면 OP는 단순히 Windows 다시 시작을 선택한 다음 grub 메뉴에서 Windows를 선택할 수 있습니다. OP는 "내가 없을 때 Windows가 자동으로 재부팅 될 때 기본 GRUB 메뉴 옵션이 아닌 Windows로 다시 부팅되도록하려면 어떻게해야합니까?"라고 묻습니다. 적어도 그것이 주요 문제를 보는 방식 입니다.
WinEunuuchs2Unix

예, OP는 Windows 다시 시작을 선택한 다음 grub 메뉴에서 Windows를 선택할 수 있습니다. 그러나 OP는 부팅 메뉴에서 Windows를 선택 하지 않고 Windows로 자동으로 돌아가는 방법을 구체적으로 묻습니다. 즉, 개입하지 않고 어떻게해야합니까? X 잉이 너무 많습니다!
제니퍼

1

어떤 Windows 버전 또는 UEFI를 사용 중인지 말하지 않았습니다.

레거시 부팅이 아닌 적절한 UEFI 부팅을 사용하는 경우 Windows UEFI 부팅 항목으로 임시 부팅 할 수 있습니다. Linux에서는 다음과 같은 도구를 사용하여 수행 할 수 있습니다 efibootmgr. Windows에서는 개인적으로 EasyUEFI를 사용 합니다 . 개인용 GUI 사용은 무료이지만 기업용 또는 CLI 용으로는 사용할 수 없습니다. 안전을 보증 할 수 없습니다. 또한 약간 느린 것처럼 보이지만 작동하는 것 같습니다.

Arch Linux (GRUB가없는 커널 EFI shim) 및 Windows 10을 사용하는 내 설정에서 시작 화면에서 "EFI Boot Option 관리"를 선택한 후의 모습입니다.

일회성 부팅 옵션을 보여주는 이미지

UEFI 부팅을 사용하는 경우 Windows와 비슷한 항목과 Ubuntu의 단일 항목 (GRUB로드) 및 기타 장치 별 옵션이 표시됩니다. 그런 다음 일회용 부팅 옵션을 사용하여 Windows 용 UEFI 부팅 항목으로 한 번 부팅 한 다음 부팅 후 GRUB으로 다시 설정할 수 있습니다. 설정 한 후 정상적으로 다시 시작합니다.


1
고마워,하지만 그것은 내 취향에 매번 너무 많은 수동 상호 작용이 필요합니다.
amon san

1
어깨를 으쓱하다. 여하튼 /bootext4로 편집하는 대신 NTFS 또는 FAT32 로 이동해야합니다 . Windows에서 ext4에 대한 쓰기 지원이 가능하다면 너무 위험합니다.
muru
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.