나는 5.10.0-11-cloud-amd64
커널을 가지고 있고 5.10.0-12-amd64
그것을 Debian에 설치 했습니다 11.2
. 5.10.0-12-amd64
일시적으로 기본 커널로 설정하고 싶습니다 . 저는 Grub을 처음 사용합니다. 기본 커널을 어떻게 설정합니까 5.10.0-12-amd64
? 내 거 /lib/modules
:
5.10.0-10-cloud-amd64 5.10.0-11-cloud-amd64 5.10.0-12-cloud-amd64
5.10.0-11-amd64 5.10.0-12-amd64
내 /boot/에는 grub2 폴더가 아닌 grub 폴더만 있습니다. 명령 grep -e "menuentry " -e submenu -e linux /boot/grub/grub.cfg
출력:
### BEGIN /etc/grub.d/10_linux ###
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-12-cloud-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
menuentry 'Debian GNU/Linux, with Linux 5.10.0-12-cloud-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-12-cloud-amd64-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-12-cloud-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-12-cloud-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-12-cloud-amd64-recovery-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-12-cloud-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro single console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-12-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-12-amd64-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-12-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-12-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-12-amd64-recovery-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-12-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro single console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-11-cloud-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-11-cloud-amd64-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-11-cloud-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-11-cloud-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-11-cloud-amd64-recovery-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-11-cloud-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro single console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-11-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-11-amd64-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-11-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
menuentry 'Debian GNU/Linux, with Linux 5.10.0-11-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-11-amd64-recovery-ccb4ba21-fd62-42c9-b8eb-75a437b1747d' {
linux /boot/vmlinuz-5.10.0-11-amd64 root=UUID=ccb4ba21-fd62-42c9-b8eb-75a437b1747d ro single console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
위의 명령을 제공해 주신 TelcoM에게 감사드립니다.
답변1
먼저, 내부에 변수가 있는지 /etc/default/grub
확인 하세요. GRUB_DEFAULT=
설정하거나 GRUB_DEFAULT=0
설정하지 않으면 부팅 메뉴의 첫 번째 항목(항목 #0)이 기본적으로 실행됩니다. 로 설정한 경우와는 별개로 GRUB_DEFAULT=saved
, 기본값을 안정적으로 변경하는 유일한 방법은 편집한 GRUB_DEFAULT=
다음 루트 (또는 ) /etc/default/grub
로 실행하는 것 입니다 .update-grub
grub-mkconfig > /boot/grub/grub.cfg
설정된 경우예 GRUB_DEFAULT=saved
, 그러면 두 명령을 사용할 grub-reboot
수 grub-set-default
있습니다. 전자는 커널 부팅을 설정합니다한 번의 실행에서만 작동합니다.그러면 이전 기본값으로 돌아갑니다. 후자는 grub-set-default
GRUB 부팅 메뉴에서 다른 항목을 사용하거나 선택하여 다시 변경할 때까지 GRUB 기본 항목을 토글합니다 .
기본 설정의 가장 간단한 형태는 단순히 메뉴 항목 번호(맨 위의 항목 #0부터 시작)를 지정하는 것입니다. 그러나 최신 GRUB 메뉴는 일반적으로 최신 커널을 먼저 배치한 다음 다음으로 구성됩니다.다른 모든 코어에 대한 하위 메뉴두 번째 위치에는 해당 하위 메뉴 뒤의 다른 운영 체제 및 기타 사용자 정의 항목이 있습니다.
유용한 방법으로 GRUB 메뉴를 보려면 를 실행하십시오 grep -e "menuentry " -e submenu -e linux /boot/grub/grub.cfg
. (다음 공백은 menuentry
일부 잘못된 적중을 필터링하는 데 사용됩니다.) 다소 긴 menuentry
합계 submenu
선이 표시됩니다.실제 메뉴와 순서가 똑같네요. 또한 하위 메뉴 항목은 들여쓰기되지만 주 메뉴 항목은 들여쓰기되지 않습니다. 이렇게 하면 시스템을 다시 시작하지 않고도 현재 활성화된 GRUB 메뉴의 구조를 볼 수 있습니다.
최상위 메뉴 항목의 제목은 일반적으로 커널 버전 번호 없이 "Debian GNU/Linux"이지만, 위에서 제공한 명령은 linux /boot/vmlinuz-<kernel version number> ...
첫 번째 메뉴 항목 블록의 일부인 명령도 나열합니다. 최상위 항목으로 부팅된 커널 버전이 됩니다.
하위 메뉴 내에서 메뉴 항목(예: 줄 들여쓰기)을 선택해야 하는 경우 기본 항목 사양은 해당 줄의 식별자, 한 문자, 그리고 원하는 실제 메뉴 항목의 식별자여야 menuentry
합니다 . 메뉴 항목 식별자는 메뉴 항목 번호(각 메뉴에서 0부터 시작), 식별자 문자열( 각 또는 줄 뒤에 따옴표 붙은 문자열 ) 또는 각 메뉴 항목과 하위 메뉴의 표시 제목이 될 수 있습니다.submenu
>
$menuentry_id_option
menuentry
submenu
Linux 커널의 식별자 문자열은 gnulinux-simple-<Linux root filesystem UUID>
첫 번째 항목과 gnulinux-<kernel version>-advanced-<Linux root filesystem UUID>
"고급 옵션..." 하위 메뉴의 항목 형식을 취하는 것으로 보입니다.
Debian 11의 미국 영어 구성에 표시되는 메뉴 항목의 제목은 첫 번째 항목으로 "Debian GNU/Linux"이고, 하위 메뉴에는 "Debian GNU/Linux, with Linux"가 있으며, 하위 메뉴에는 "Debian GNU/Linux, with Linux"가 있습니다. 비 하위 메뉴. - 하위 메뉴에 복구 모드 항목이 있습니다.
따라서 GRUB 메뉴에 문제를 복잡하게 만드는 다른 운영 체제가 없다고 가정하면 다음 줄을 편집하여 다시 변경할 5.10.0-12-amd64
때까지 커널을 기본값으로 설정할 수 있습니다 .GRUB_DEFAULT=
/etc/default/grub
GRUB_DEFAULT="1>Debian GNU/Linux, with Linux 5.10.0-12-amd64"
update-grub
루트로 실행하십시오 .
더 많은 유연성을 원할 경우 을 설정하고 GRUB_DEFAULT=saved
실행한 update-grub
다음 grub-set-default "1>Debian GNU/Linux, with Linux 5.10.0-12-amd64"
기본값을 다시 변경할 때까지 실행하여 기본값을 변경하거나 grub-reboot "1>Debian GNU/Linux, with Linux 5.10.0-12-amd64"
한 번의 실행에 대한 기본값을 변경하기 위해 실행하면 됩니다.
이 1>
접두사는 하위 메뉴 항목을 먼저 선택해야 한다는 요구 사항에서 비롯되며 항상 기본 GRUB 메뉴(예: 메뉴 항목 #1)의 두 번째 항목입니다.
를 사용하는 경우 를 grub-set-default
사용하여 간단한 영숫자 정렬을 기반으로 현재 "최신" 커널을 반환할 수 있습니다 grub-set-default 0
.
각 메뉴 수준의 첫 번째 항목 번호는 #0입니다. 메뉴 항목의 경우 menuentry 'Debian GNU/Linux, with Linux 5.10.0-12-amd64'
메뉴 항목 번호가 포함된 행을 다음과 같이 지정할 수 있습니다.
GRUB_DEFAULT="1>2"
즉, 두 번째 항목(항목 #1)이 하위 메뉴를 열고 하위 메뉴의 세 번째 항목(항목 #2)이 선택됩니다.
또는 메뉴 제목은 다음과 같습니다.
GRUB_DEFAULT="Advanced options for Debian GNU/Linux>Debian GNU/Linux, with Linux 5.10.0-12-amd64"
또는 메뉴 ID 문자열을 사용하십시오.
GRUB_DEFAULT="gnulinux-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d>gnulinux-5.10.0-12-amd64-advanced-ccb4ba21-fd62-42c9-b8eb-75a437b1747d"
또는 위 방법을 조합하여 사용하세요.
메뉴 제목이나 ID 문자열을 사용하면 커널 패키지를 설치하고 제거하더라도 선택한 커널을 계속 사용할 수 있는 한 동일한 커널을 계속 참조한다는 장점이 있습니다. 메뉴 항목 번호를 사용하려면 커널을 업데이트할 때마다 설정을 확인(필요한 경우 조정)해야 하므로 자동 업데이트와 함께 사용하면 불쾌한 결과를 초래할 수 있습니다.
답변2
클라우드 이미지는 클라우드 환경에서 불필요한 기능을 지원하기 위해 구축되지 않았습니다.
대부분의 하드웨어 드라이버가 비활성화되고 x32 ABI 지원이 비활성화되며 마이크로코드 업데이트 및 컴퓨터 검사 예외도 마찬가지입니다.
선택하는 커널은 인스턴스에 제공하는 유틸리티에 따라 달라집니다.