깨끗한 드라이브에 Linux Mint 20을 설치했는데 부팅할 때 이 터미널이 계속 나타납니다.
GNU GRUB version 2.02
Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists possible
device or file completions.
grub> _
저는 Linux를 처음 접했고 그것이 무엇인지 모르지만 이전에 Mint 19에서는 본 적이 없습니다. "exit" 명령을 사용하여 건너뛸 수 있지만 완전히 피하고 싶습니다. 이 주제에 관해 많은 토론을 찾았지만 모두 듀얼 부팅 문제에 대해 이야기하고 있는데 이는 내 경우에는 적용되지 않습니다.
다음을 통해 이 grub 구성 파일을 편집해 보았습니다.
xed admin:///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=0
GRUB_HIDDEN_TIMEOUT=0.0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0.0
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"
한 댓글에서는 "/boot/grub/grub.cfg"를 언급했는데, 그 내용은 다음과 같습니다:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 9352d93a-2417-49fe-8ed3-02e348bc18ec
else
search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Linux Mint 20 Cinnamon' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 9352d93a-2417-49fe-8ed3-02e348bc18ec
else
search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
linux /boot/vmlinuz-5.4.0-42-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro quiet splash
initrd /boot/initrd.img-5.4.0-42-generic
}
submenu 'Advanced options for Linux Mint 20 Cinnamon' $menuentry_id_option 'gnulinux-advanced-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-42-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-advanced-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 9352d93a-2417-49fe-8ed3-02e348bc18ec
else
search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
echo 'Loading Linux 5.4.0-42-generic ...'
linux /boot/vmlinuz-5.4.0-42-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro quiet splash
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-42-generic
}
menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-42-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-42-generic-recovery-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 9352d93a-2417-49fe-8ed3-02e348bc18ec
else
search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
echo 'Loading Linux 5.4.0-42-generic ...'
linux /boot/vmlinuz-5.4.0-42-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-42-generic
}
menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-26-generic' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-advanced-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 9352d93a-2417-49fe-8ed3-02e348bc18ec
else
search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
echo 'Loading Linux 5.4.0-26-generic ...'
linux /boot/vmlinuz-5.4.0-26-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro quiet splash
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-26-generic
}
menuentry 'Linux Mint 20 Cinnamon, with Linux 5.4.0-26-generic (recovery mode)' --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-26-generic-recovery-9352d93a-2417-49fe-8ed3-02e348bc18ec' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 9352d93a-2417-49fe-8ed3-02e348bc18ec
else
search --no-floppy --fs-uuid --set=root 9352d93a-2417-49fe-8ed3-02e348bc18ec
fi
echo 'Loading Linux 5.4.0-26-generic ...'
linux /boot/vmlinuz-5.4.0-26-generic root=UUID=9352d93a-2417-49fe-8ed3-02e348bc18ec ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-26-generic
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
"lsblk" 명령:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232,9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 232,4G 0 part /
========================================
UEFI 메뉴에는 Ubuntu, Ubuntu, SSD 및 일부 설정의 4가지 옵션이 있습니다. 첫 번째 Ubuntu 옵션은 일반적인 방식으로 운영 체제를 부팅합니다. 먼저 GRUB 메뉴를 표시한 다음 "exit"를 입력하고 Mint를 로드합니다. 두 번째 Ubuntu에서는 2개의 GRUB 메뉴가 차례로 제공되었고 Mint가 로드되었습니다. SSD를 선택하면 이러한 GRUB 메뉴가 무시됩니다(전혀 표시되지 않음). 이것이 제가 원하는 것입니다.
해결책: BIOS에서 SSD를 첫 번째 부팅 옵션으로 옮겼는데 GRUB 콘솔이 더 이상 없습니다!
답변1
최근에 새 버전의 운영 체제를 설치했기 때문에 표시되는 "콘솔"은 현재 부팅된 시스템에서 유지 관리되지 않는 오래된 GRUB 설치일 수 있습니다. 오래된 GRUB 인스턴스를 사용하지 않으려면 시스템의 부팅 순서 설정을 조정해야 합니다. 그러면 시스템에서 제거될 수 있습니다.
실행 sudo efibootmgr -v
하고 출력을 원래 질문으로 복사하고 편집해 보십시오.
시스템이 UEFI 모드에서 부팅되는 경우 보안 부팅과 관련된 사소한 문제가 발생할 수 있습니다. 설치 스크립트는 처음에 보안 부팅 심 부트 로더 없이 보안 부팅을 사용하여 GRUB에 대한 "일반" 부팅 항목을 생성할 수 있습니다. 부트로더를 실행하세요 shimx64.efi
. 보안 부팅이 적용되는 경우 GRUB 모듈은 보안 부팅이 인식하는 Windows PE 실행 파일 형식을 사용하지 않기 때문에 "일반" GRUB는 실행 코드를 로드할 수 없습니다. 결과적으로 GRUB 쉘 프롬프트로 들어갑니다.
"일반" GRUB을 종료하면 다른 부팅 항목이 shimx64.efi
부트 로더를 통해 GRUB를 시작합니다. 이를 통해 GRUB는 보안 부팅이 있는 상태에서 작동할 수 있습니다.
이것이 문제인 경우 사용된 부팅 항목을 식별 shimx64.efi
하고 이를 펌웨어 부팅 순서의 첫 번째 항목으로 설정하면 됩니다. 이 efibootmgr
명령으로 그렇게 할 수 있습니다.
이전 Mint 19 설치의 오래된 시작 항목이 여전히 존재하여 혼란을 야기할 수도 있습니다.
sudo efibootmgr -v
출력 에서 첫 번째 줄은 4자리 16진수 BootCurrent: XXXX
여야 합니다. XXXX
현재 실행 중인 운영 체제를 시작하는 시작 항목을 식별합니다. 해당 번호가 현재 출력 줄의 첫 번째가 아닌 경우 BootOrder:
이를 수정해야 합니다.
따라서 sudo efibootmgr -v
출력이 다음과 같을 경우:
BootCurrent: XXXX
Timeout: 1 seconds
BootOrder: YYYY, XXXX, ZZZZ, <...possibly other numbers...>
BootXXXX* Mint 20 <....> File(\EFI\Mint\SHIMX64.EFI)
<other boot entries...>
현재 이것은 BootXXXX
의 첫 번째 항목이 아니므 BootOrder
로 다음과 같이 첫 번째 항목으로 만들어야 합니다.
sudo efibootmgr -o XXXX,YYYY,ZZZZ,<any other Boot numbers listed in the original BootOrder line...>
원래 BootOrder:
줄의 쉼표 뒤에 공백이 있더라도 명령의 리드 번호를 지정할 때 공백을 사용해서는 안 됩니다 sudo efibootmgr -o ...
.
답변2
죄송합니다. GRUB를 구체적으로 살펴본 지 꽤 오래되었습니다. 그렇게 말하면, 제가 했던 것과 똑같은 일을 여러분도 할 수 있습니다. /boot의 일반 텍스트 파일과 온라인 GRUB 문서를 읽어보세요. 이는 Linux를 처음 사용하는 경우 특히 중요합니다.
귀하의 /etc/default/grub은 내 것과 동일해 보입니다. 내가 생각할 수 있는 것은 /boot/grub/grub.cfg에 주석 처리되지 않은 #GRUB_TERMINAL="console"의 또 다른 인스턴스가 있거나 해당 파일에 누락된 메뉴 항목이 있다는 것입니다.
항목과 메뉴 레이블은 모두 /boot/grub/grub.cfg에 있을 수 있으며, 그렇지 않으면 파일은 정보가 포함된 여러 다른 일반 텍스트 파일을 가리킵니다.
다음과 유사한 형식의 메뉴 항목이 표시됩니다.
menuentry "Start Linux Mint 18.2 Cinnamon 64-bit" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/linuxmint.seed boot=casper iso-scan/filename=${iso_path} quiet splash --
initrd /casper/initrd.lz
GRUB 및 기타 부팅 관련 파일은 일반적으로 초기 이미지 파일과 동일한 디렉터리 또는 그 근처에 있습니다.
당신은 시도 할 수 있습니다:
sudo find /boot -type f -iname *.png