소개
이 랩에서는 Linux 시스템에서 어떤 부트로더가 사용되고 있는지, 특히 GRUB 에 초점을 맞춰 확인하는 방법을 배우게 됩니다. /boot/grub 디렉토리에 위치한 주요 설정 파일을 탐색하여 GRUB 설치 구성 요소를 이해할 것입니다.
그런 다음 /etc/default/grub 파일을 검토하여 GRUB 의 동작을 제어하는 주요 설정 사항을 확인할 것입니다. 마지막으로, 시스템 시작 시 어떤 부트로더가 로드되었는지 확인하기 위해 dmesg 명령을 사용하여 부트로더 로그를 검사할 것입니다.
ls /boot/grub 명령어로 GRUB 확인
이 단계에서는 GRUB 부트로더 설정 파일을 탐색합니다. GRUB (GRand Unified Bootloader) 는 Ubuntu 를 포함한 대부분의 Linux 배포판의 기본 부트로더입니다. 컴퓨터를 시작할 때 실행되는 첫 번째 소프트웨어로, 운영 체제 커널을 메모리에 로드하는 역할을 합니다.
주요 GRUB 설정 파일은 일반적으로 /boot/grub 디렉토리에 위치합니다. 이 디렉토리의 내용을 나열하여 내부를 살펴보겠습니다.
아직 열려 있지 않다면 터미널을 엽니다. 데스크탑 왼쪽에서 Xfce 터미널 아이콘을 찾을 수 있습니다.
다음 명령을 입력하고 Enter 키를 누릅니다.
ls /boot/grub
ls 명령은 파일과 디렉토리를 나열하는 데 사용됩니다. /boot/grub과 같은 경로를 제공하면 해당 디렉토리의 내용이 나열됩니다.
다음과 유사한 파일 및 디렉토리 목록이 표시됩니다 (정확한 출력은 시스템에 따라 약간 다를 수 있습니다).
fonts grub.cfg grubenv i386-pc locale unicode.pf2 x86_64-efi
이 출력은 GRUB 설치의 다양한 구성 요소를 보여줍니다. 여기서 가장 중요한 파일은 실제 부팅 메뉴 설정을 포함하는 grub.cfg입니다. 다음 단계에서 해당 파일을 살펴보겠습니다.
/boot/grub의 내용을 이해하는 것은 Linux 시스템이 어떻게 부팅되는지 배우는 첫 번째 단계입니다.
다음 단계로 진행하려면 계속을 클릭하십시오.
cat /etc/default/grub으로 GRUB 설정 확인
이전 단계에서는 /boot/grub 디렉토리의 내용을 나열하고 grub.cfg 파일을 확인했습니다. grub.cfg는 활성 설정 파일이지만, 일반적으로 /etc/default/grub에 정의된 설정과 /etc/grub.d/의 스크립트에서 자동으로 생성됩니다.
/etc/default/grub 파일에는 GRUB 의 동작을 제어하는 주요 설정 옵션이 포함되어 있습니다. 예를 들어, 부팅할 기본 운영 체제, 부팅 전 시간 초과, 커널 매개변수 등이 있습니다.
cat 명령을 사용하여 /etc/default/grub 파일의 내용을 살펴보겠습니다. cat 명령은 파일의 내용을 표시하는 데 사용됩니다.
터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
cat /etc/default/grub
GRUB 기본 설정 파일의 내용이 표시됩니다. 다음과 유사하게 보일 것입니다.
## If you change this file, run 'update-grub' afterwards to update
## /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
## Uncomment to enable booting from a full graphics screen using grub-gfxpayload
## and grub-theme-ubuntu-mate ...
#GRUB_GFXPAYLOAD_LINUX=keep
## Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
## The resolution used on graphical terminal
## Note that you can only use resolutions specified in your gfxpayload.
## See the Graphics chapter in the Grub manual for more details.
#GRUB_GFXMODE=640x480
## Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to the Linux kernel
#GRUB_DISABLE_LINUX_UUID=true
## Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
## Uncomment to get a beep at boot start
#GRUB_INIT_TUNE="480 440 1"
이 파일에는 다양한 설정이 포함되어 있으며, 각 설정은 #로 시작하는 주석으로 설명되어 있습니다. 예를 들어:
GRUB_DEFAULT: 부팅할 기본 메뉴 항목을 지정합니다.0은 일반적으로 첫 번째 항목을 의미합니다.GRUB_TIMEOUT: 기본 항목이 자동으로 부팅되기 전의 시간을 초 단위로 설정합니다.GRUB_CMDLINE_LINUX_DEFAULT: 기본 부팅 항목에 전달되는 커널 매개변수를 포함합니다.
이 파일을 이해하는 것은 문제 해결을 위해 커널 매개변수를 추가하거나 기본 운영 체제를 변경하는 등 부팅 옵션을 수정해야 할 경우 매우 중요합니다.
다음 단계로 이동하려면 계속을 클릭하십시오.
dmesg 로 부트로더 로그 검토
이전 단계에서는 GRUB 설정 파일을 살펴보았습니다. 이제 부팅 프로세스 중에 커널에서 생성된 메시지를 검사해 보겠습니다. 이러한 메시지는 버퍼에 저장되며 dmesg 명령을 사용하여 볼 수 있습니다.
dmesg (diagnostic message buffer, 진단 메시지 버퍼) 는 커널의 메시지 버퍼를 출력하는 명령입니다. 시스템 시작 중에 생성되는 하드웨어 장치, 장치 드라이버 및 기타 커널 관련 메시지에 대한 정보가 포함되어 있습니다. 이는 부팅 문제를 해결하는 데 유용한 도구입니다.
터미널에 다음 명령을 입력하고 Enter 키를 누릅니다.
dmesg
이렇게 하면 시스템이 시작된 이후의 모든 커널 메시지를 보여주는 많은 양의 텍스트가 출력됩니다. 출력량이 많을 수 있으므로, 화면별로 보기 위해 less와 같은 페이저로 필터링하거나 파이프하는 것이 일반적입니다.
부트로더 또는 초기 부팅 프로세스와 관련된 메시지를 보려면 "GRUB", "boot", 또는 "kernel command line"과 같은 키워드를 검색할 수 있습니다.
grep을 사용하여 "Command line"을 포함하는 줄을 찾도록 출력을 필터링해 보겠습니다.
dmesg | grep "Command line"
| 기호는 파이프라고 합니다. 왼쪽의 명령 (dmesg) 의 출력을 가져와 오른쪽의 명령 (grep) 에 입력으로 보냅니다. grep은 텍스트 패턴을 검색하는 강력한 도구입니다. 이 경우 "Command line" 구문을 포함하는 줄을 검색하고 있습니다.
다음과 유사한 출력이 표시되어 부트로더에서 전달된 커널 명령줄 매개변수를 보여줍니다.
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro quiet splash
이 줄은 부팅되는 커널 이미지 (/boot/vmlinuz-...) 와 커널 매개변수 (root=UUID=... ro quiet splash) 를 보여줍니다. 이러한 매개변수는 이전 단계에서 살펴본 /etc/default/grub 파일에서 설정되는 경우가 많습니다.
dmesg를 탐색하는 것은 부팅 프로세스 중에 발생하는 문제를 진단하는 데 필수적입니다. 이는 커널이 처음부터 수행하는 작업에 대한 자세한 정보를 제공하기 때문입니다.
이 랩을 완료하려면 계속을 클릭하십시오.
요약
이 랩에서는 Linux 시스템에서 GRUB 이 부트로더로 사용되는지 확인하는 방법을 배웠습니다. 먼저 ls 명령을 사용하여 /boot/grub 디렉토리의 내용을 나열하여 GRUB 설정 파일, 특히 grub.cfg의 존재를 확인했습니다. 이 단계는 GRUB 설치의 존재를 확인했습니다.
그 후, cat 명령을 사용하여 /etc/default/grub 파일을 검사했습니다. 이 파일에는 기본 부팅 옵션 및 시간 초과 값과 같은 GRUB 의 주요 설정이 포함되어 있습니다. 이 파일을 검사하여 GRUB 이 부트로더로 구성되었음을 추가로 확인하고 해당 동작에 대한 통찰력을 얻었습니다.



