![GRUB2: 마지막 그럽 선택을 기억하는 방법](https://linux55.com/image/29363/GRUB2%3A%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EA%B7%B8%EB%9F%BD%20%EC%84%A0%ED%83%9D%EC%9D%84%20%EA%B8%B0%EC%96%B5%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
저는 현재 다양한 배포판을 시도하고 있으므로 노트북을 부팅할 때 선택할 수 있는 운영 체제가 여러 개 있습니다. 일반적으로 이러한 배포판은 모두 설치되어 grub2
목록 맨 위에 있으므로 설치가 완료된 후 기본적으로 실행되는 배포판입니다.
그러나 Manjaro는 다른 일을 했습니다. grub2
일부 버전을 설치합니다기억하다마지막으로 부팅한 배포판은 무엇이며, 다른 배포판을 선택할 때까지(그러면 해당 배포판이 시작되는 등) 해당 배포판이 재부팅 후 계속 실행됩니다.
내가 이런 걸 상상한 걸까? 만자로가 정말 이런 일을 했나요? 그렇다면 어떻게 설치합니까?해당 버전grub
내 시스템 에 ? 건배.
이것은 내 /etc/grub.d/40_custom
파일입니다:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
이것은 내 /etc/default/grub
파일입니다:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
답변1
~에 따르면GRUB 매뉴얼:
'GRUB_DEFAULT'
.....................
"Saved"로 설정되면 기본 메뉴 항목은 "GRUB_SAVEDEFAULT", grub-set-default 또는 grub-reboot에 의해 저장된 메뉴 항목이 됩니다.
'GRUB_SAVEDEFAULT'
이 옵션을 "true"로 설정하면 항목을 선택할 때 향후 GRUB 실행을 위한 새 기본 항목으로 저장됩니다. 이는 'GRUB_DEFAULT=saved'를 사용하는 경우에만 유용합니다. 'GRUB_DEFAULT=saved'는 이 옵션 없이 grub-set-default 또는 grub-reboot와 함께 사용하면 유용하기 때문에 별도의 옵션입니다. 기본적으로 설정되지 않습니다. 이 옵션은 모든 경우에 사용 가능하지 않을 수 있는 환경 블록에 의존합니다(환경 블록 참조).
다음을 추가해야 합니다.
GRUB_DEFAULT=saved
그리고
GRUB_SAVEDEFAULT=true
또한 사용자 /etc/default/grub
정의 메뉴 파일을 사용하는 경우 /etc/grub.d/40_custom
옵션을 추가해야 합니다.
savedefault
이 파일의 메뉴 항목/메뉴 항목에. 나중에 GRUB를 업데이트하세요.
grub-mkconfig -o /boot/grub/grub.cfg
또는
update-grub
여러 배포판이 설치되어 있는 경우 구성 및 업데이트하고 있는지 확인하세요.긍정적인애벌레.
답변2
Arch를 VirtualBox 게스트로 사용하는 데 문제가 있습니다. 문제는 LVM을 사용할 때 발생합니다.
또, 부터GRUB 매뉴얼:
13.2 GRUB 환경 블록
한 번의 부팅에서 다음 부팅까지 소량의 정보를 기억할 수 있으면 종종 유용합니다. 예를 들어, 마지막으로 선택한 항목을 기준으로 기본 메뉴 항목을 설정할 수 있습니다. GRUB은 부트로더로 인한 파일 시스템 손상 가능성을 최소화하기 위해 의도적으로 파일 쓰기 지원을 구현하지 않으므로 GRUB 구성 파일은 일반적인 방법으로 파일을 생성할 수 없습니다. 그러나 GRUB은 소량의 상태를 저장하는 데 사용할 수 있는 "환경 블록"을 제공합니다.
환경 블록은 일반적으로 /boot/grub/grubenv에 있는 사전 할당된 1024바이트 파일입니다(이렇게 가정해서는 안 됨). 부팅 시 load_env 명령(load_env 참조)은 여기에서 환경 변수를 로드하고 save_env(save_env 참조) 명령은 환경 변수를 여기에 저장합니다. 실행 중인 시스템에서 grub-editenv 유틸리티를 사용하여 환경 블록을 편집할 수 있습니다.
보안상의 이유로 이 저장공간은일반 디스크(LVM 또는 RAID 없음)에 설치하는 경우, 비체크섬 파일 시스템 사용(ZFS 없음) 및 BIOS 또는 EFI 기능 사용(ATA, USB 또는 IEEE1275 없음).
grub-mkconfig는 이 도구를 사용하여 "GRUB_SAVEDEFAULT"를 구현합니다(간단한 구성 참조).