Grub 2 기본값을 영구적으로 변경하는 방법은 무엇입니까?

Grub 2 기본값을 영구적으로 변경하는 방법은 무엇입니까?

Fedora는 이제 Grub 2를 사용합니다. 커널 업그레이드를 수행할 때마다 기본 부팅 옵션(Windows)이 손실됩니다. 이 문제를 어떻게 해결할 수 있나요?

답변1

이 문제와 관련된 변경/ grubby개선 사항 이 있는지 잘 모르겠습니다 anaconda. Fedora 위키 페이지에서 다음 지침을 따르려고 시도한 사람이 있습니까?

그러나 다음에 anaconda를 사용하여 시스템을 업그레이드하면 grub2-mkconfig가 수동 변경 사항을 덮어쓸 수 있습니다. 일부 사용자 정의는 /etc/grubd/40_custom 또는 /boot/grub2/custom.cfg에 배치할 수 있으며 grub2-mkconfig가 실행될 때 계속 적용됩니다.

그렇지 않으면 위 파일에 정확히 무엇을 넣을 수 있는지회의살아남은 커널 업그레이드 및/또는 실행 grub2-mkconfig?

이것은에서 가져온 것입니다Fedora의 Grub 위키 페이지:

grub2-mkconfig(및 os-prober)로 인해 /boot/grub2/grub.cfg 항목의 순서를 예측할 수 없으므로 이름/제목으로 기본값을 설정합니다.

/etc/default/grub을 열고 다음 줄이 있는지 확인하세요.

GRUB_DEFAULT=saved

다음 명령을 실행하여 grub.cfg에 변경 사항을 적용합니다.

grub2-mkconfig -o /boot/grub2/grub.cfg

이제 가능한 모든 메뉴 항목이 나열됩니다.

grep "submenu\|^\smenuentry" /boot/grub2/grub.cfg | cut -d "'" -f2

이제 원하는 기본 메뉴 항목을 설정하세요.

grub2-set-default "<submenu title>><menu entry title>"

기본 메뉴 항목 확인

grub2-editenv list

답변2

귀하는 현재 Fedora를 사용 중입니다.할 수 없다이 설정을 영구 기본값으로 설정하세요.

kernel소프트웨어가 업데이트되는 경우 grubbyGrub2 메뉴 항목을 추가하는 데 사용됩니다 . 그리고 그것에 전혀 주의를 기울이지 않습니다 /etc/default.

인용문페도라 위키:

Fedora의 Grubby는 커널 업데이트를 수행할 때 구성을 패치하고 필요한 변경을 하지 않으려고 노력합니다.

그런데 업데이트 후에는 이전 커널을 제거 kernel하겠습니다 .package-cleanup --oldkernels --count=1grub2-mkconfig -o /boot/grub2/grub.cfg

답변3

저는 Fedora를 사용하지 않으며 이러한 변경 사항이 (커널 업그레이드 후) 영구적인지 100% 확신할 수 없지만 파일을 편집해야 한다고 생각합니다 /etc/default/grub. 6행에서는 다음을 볼 수 있습니다:

GRUB_DEFAULT="0"

여기서 0은 grub 목록의 첫 번째 항목입니다. 원하는 대로 편집하세요. 그런 다음 sudo update-grub2.

답변4

최소한 UEFI 시스템에서는 Fedora의 상황이 변경되었습니다. 이 부분은 에서 설명합니다.https://systemd.io/BOOT_LOADER_SPECIFICATION/

부팅할 Linux 커널 목록은 /boot/loader/entries/*.conf에서 수집됩니다(참고: 이는 ESP 내에 없습니다.)

디렉터리 경로나 .conf 없이 이러한 파일 중 하나의 이름을 사용하는 경우 다음과 같은 명령에서 사용할 수 있습니다.

  sudo grub2-set-default 2733f1c892a5422c98bdb188c4f62737-5.10.9-201.fc33.x86_64

이것은 나에게 효과적입니다. 얼마나 끈끈해졌는지 전혀 몰랐어요.

참고: 이전 커널을 기본으로 사용하려는 경우 업데이트로 인해 제거되지 않도록 할 수 있습니다. /etc/dnf/dnf.conf의 installonly_limit를 0으로 변경합니다.

관련 정보