GRUB는 기본 항목을 두 번째 운영 체제로 설정합니다.

GRUB는 기본 항목을 두 번째 운영 체제로 설정합니다.

저는 Ubuntu와 Arch를 이중 부팅으로 사용하고 있으며 두 번째 OS를 부팅하도록 GRUB의 기본 부팅 항목을 설정하는 방법이 있어야 한다고 생각합니다. 예를 들어 Arch에서 재부팅하면 Ubuntu로 부팅되고 그 반대의 경우도 마찬가지입니다. 어쩌면 새로운 grub 항목을 생성하여 수행할 수도 있지만 이전 부팅 항목을 확인하는 방법을 모르므로 다른 항목을 선택하십시오.

답변1

GRUB의 최신 버전에서는 이를 달성하기 위해 두 가지 명령을 사용할 수 있습니다: grub-set-defaultgrub-reboot.

grub-set-default기본 시작 항목에 대한 변경 사항은 유지되지만 변경 사항을 적용하려면 Universal 또는 Debian/Ubuntu 전용 래퍼를 사용하여 실제 GRUB 구성 GRUB_DEFAULT=saved을 업데이트해야 합니다 ./etc/default/grubgrub-mkconfigupdate-grub

grub-reboot지정하다한 번다음 발사의 발사 대상으로만 사용됩니다. 이름에도 불구하고 실제로 시스템을 재부팅하지는 않습니다.

두 가지 모두 숫자, 메뉴 항목 제목 또는 메뉴 항목 식별자를 인수로 사용합니다. 원하는 메뉴 항목이 하위 메뉴에 있는 경우 주 메뉴 항목의 이름/식별자, 문자 >및 하위 메뉴 항목의 이름을 지정해야 합니다.

예를 들어 데비안에서는 첫 번째(일반적인 기본) 메뉴 항목의 이름은 일반적으로 이고 Debian GNU/Linux, 두 번째 메뉴 항목의 제목 Advanced options for Debian GNU/Linux은 현재 설치된 커널에 대한 하위 메뉴를 여는 입니다. 각 코어에 대해 하위 메뉴에는 Debian GNU/Linux, with <kernel version>및 의 두 가지 항목이 있습니다 Debian GNU/Linux, with <kernel version> (recovery mode).

이전 커널 버전을 사용하여 일반 모드로 한 번 부팅하려면 다음을 수행할 수 있습니다.

grub-reboot 'Advanced options for Debian GNU/Linux>Debian GNU/Linux, with <kernel version>'

명령을 실행하고 변수에 값이 있는지 확인하면 grub-reboot현재 부팅 주기에서 명령이 사용되었는지 확인할 수 있습니다. 한 번도 사용된 적이 없다면 변수가 전혀 존재하지 않을 수도 있습니다.grub-editenv listnext_entry=grub-reboot

saved_entry=마찬가지로 변수가 있으면 해당 grub-set-default명령이 사용되었음을 의미하지만 와 달리 next_entry=부팅 시도 후 해당 값이 자동으로 삭제되지 않습니다.

답변2

현재 사용 중인 시스템을 확인하는 스크립트(서비스) 를 작성할 수 있습니다 systemd(예를 들어 명령이 있는지 확인하여 lsb_releaseUbuntu에 있어야 하지만 Arch에는 없어야 함). 그런 다음 GRUB 구성 파일의 내용을 확인합니다 /boot/grub/grub.cfg(GRUB에 관한 위키 페이지). 그런 다음 시스템에 따라 GRUB 구성의 항목을 전환합니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 이것권장되지 않음이를 수행하는 방법은 기본 구성 파일을 "수동으로"(즉, 스크립트/서비스 사용) 편집하는 것입니다. 이론적으로는 시스템 부팅을 방해하는 실수를 저지르기가 쉽기 때문에 이렇게 하면 안 됩니다. GRUB 항목을 편집하는 데 권장되는 방법은 사용자 정의 항목을 사용하는 것이지만 스크립트(또는 일반 명령줄)에서 이를 처리하는 것은 약간 까다로울 수 있습니다.

물론 스크립트/방법에 몇 가지 문제점이 있습니다 systemd(예를 들어 실제로 이와 같은 두 개의 스크립트가 있어야 합니다. 하나는 Arch에 있고 다른 하나는 Ubuntu에 있으며 둘 다 동일한 기능을 구현합니다). 하지만 원하는 기능에 매우 가깝습니다. 그건 그렇고, 당신은 다음과 같이 썼습니다:

이전 시작 항목을 확인하는 방법을 모르므로 다른 항목을 선택하세요.

꼭 읽어보시길 권합니다GRUB의 아치 리눅스 위키--여러번. GRUB의 작동 방식을 최종적으로 이해하는 데 많은 도움이 되었습니다. 나는 이 문서를 만든 사람을 존경하며, 훌륭한 설명이라고 말하고 싶습니다. 웹상의 최고 중 하나입니다(위키 페이지의 예로서).

대체로 귀하의 질문에서 원하는 결과를 얻는 쉬운 방법은 없습니다. 반면에 "쉬운" 솔루션의 재미는 어디에 있습니까? :) 행운을 빕니다. 즐거운 코딩이 되시길 바랍니다. 추가 조언이 필요하면 알려주시기 바랍니다.

관련 정보