Jump to content

GNU GRUB

From DawoumWiki, the free Mathematics self-learning
GNU GRUB
Original author(s)Erich Boleyn
Developer(s)GNU Project
Initial release1995; 31 years ago (1995)
Stable release
2.04 (GRUB 2) / July 4, 2019; 6 years ago (2019-07-04)[2]
Preview release
2.04~rc1 (GRUB 2)[1] / April 9, 2019; 6 years ago (2019-04-09)
Written inAssembly, C[3]
Operating systemLinux, macOS, BSD, Solaris (x86 port), and Windows (through chainloading)
PlatformIA-32, x86-64, IA-64, ARM, PowerPC, s390x, MIPS and SPARC
Available inEnglish and others
TypeBootloader
LicenseGPLv3[4]
Websitewww.gnu.org/software/grub/

GNU GRUB (GNU GRand Unified Bootloader의 약자, 공통적으로 줄여서 GRUB)는 GNU 프로젝트(GNU Project)부트 로더(boot loader) 패키지입니다. 그럽은 자유 소프트웨어 재단(Free Software Foundation)멀티부트 사양(Multiboot Specification)참조 구현(reference implementation)이며, 사용자에게 컴퓨터에 설치된 여러 운영 시스템(operating system) 중 하나를 부팅하는 것 또는 특정 운영 시스템의 파티션에서 사용할 수 있는 특정한 커널(kernel) 구성을 선택하기 위한 선택권을 제공합니다.

GNU 그럽은 Grand Unified Bootloader (Grand Unified Theory[5]에 대한 행위)라고 불리는 패키지에서 개발되었습니다. 그것은 주로 유닉스-계열(Unix-like) 시스템에 대해 사용됩니다. GNU 운영 시스템은, 대부분의 리눅스 배포판(Linux distribution)과 솔라리스 10 1/06 릴리스로 시작하는 x86 시스템의 솔라리스 운영 시스템처럼, GNU 그럽을 부트 로더로 사용합니다.

그럽은 이중-부트 컴퓨터, 예를 들어, 한 시스템은 리눅스이고 다른 시스템이 윈도우인 경우에 대해 컴퓨터의 시작시 OS 선택기로 자주 사용됩니다.[6]

Options

보통 리눅스 배포판이 설치될 때 자동으로 설치가 되므로, 별도로 설치할 필요가 없습니다.

배포판마다 기본 선택 사항이 다르기 때문에 몇 가지는 알아 두어야 합니다. 우분투에서 기본 설정은 /etc/default/grub입니다.

GRUB_DEFAULT="0"
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash rcu_nocbs=0-15 scsi_mod.use_blk_mq=1"
GRUB_CMDLINE_LINUX="iommu=1 amd_iommu=on kvm_amd.npt=1 rd.driver.pre=vfio-pci"
GRUB_TERMINAL="console"
  • GRUB_DEFAULT="0" 그럽 화면에서 첫 번째 항목이 선택됩니다. 멀티 부팅을 할 때, 이것으로 기본 부팅되는 운영 시스템을 정할 수 있습니다.
  • GRUB_TIMEOUT_STYLE=hidden 이것은 주석처리합니다. 왜냐하면, 그럽 화면이 표시되지 않고 지나가기 때문에 시스템에 문제가 생겼을 때, 리커버리 등으로 접근하려면 그럽으로 진입해야 하기 때문입니다.
  • GRUB_TIMEOUT=10 그럽 화면이 얼마나 유지될지를 결정합니다. 초 단위이기 때문에 적당히 바꿀 수 있습니다.
  • GRUB_CMDLINE_LINUX_DEFAULT 여기서 quiet splash는 화면에 커널 출력을 표시하지 않도록 설정합니다. 시스템의 하드웨어 또는 서비스에 문제가 있는지 확인하기 위해서 제거하는 것이 좋습니다.
  • GRUB_CMDLINE_LINUX 자신의 하드웨어에 맞는 추가적인 사항을 적어 줍니다. 개별적으로 정보를 찾아야 합니다.
  • GRUB_TERMINAL="console" 데비안은 설치시에 공개 드라이버로 사용하므로, 프레임버퍼(/dev/fb0)를 사용합니다. 이것이 부팅을 느리게 하는 원인이 되므로, 그래픽 드라이버를 설치하고 나면, 이 옵션을 사용할 수 있습니다.

설정이 완료되면 다음 명령으로 적용해야 합니다.

  • sudo update-grub

GRUB 2 Command Shell

루트 파티션을 dd 등의 유틸리티를 사용하여 옮겼을 때, 그럽을 설치하지 않거나, 루트 파티션 조작을 잘못하면, 그럽의 메뉴가 올라오지 않고, 그럽 명령줄을 출력합니다.

이것으로부터 디스크의 커널 이미지를 지정해서 부팅을 할 수 있습니다.

먼저, 디스크를 확인합니다.

  • grub> ls
디스크가 많으면, 꽤 많은 파티션이 출력될 것입니다.

그런-다음 루트 파티션이 무엇인지 확인하기 위해서,

  • grub> ls (hd4,gpt2)/
여기서 출력되는 것에서 boot 디렉토리가 존재해야 합니다.

이제 아래와 같이 연속적으로 입력합니다.

  • grub> set root=(hd4,gpt2)
  • grub> linux /boot/vmlinuz-5.8.3-uxd1 root=/dev/nvme1n1p2
  • grub> initrd /boot/initrd.img-5.8.3-uxd1
  • grub> boot

부팅이 되면, 새롭게 그럽을 설치해야 합니다.

부팅 중 오류 메시지 확인

간혹은 설치 시디로 부팅 중에 화면이 멈추는 경우가 있습니다. 대체로 하드웨어 지원이 되지 않아서 발생하는 경우가 많지만, 어쨌든, 어떤 부분의 오류로 화면이 멈추는지 확인할 필요가 있습니다.

부트 매체, 말하자면 usb로 부팅을 하고, 그럽 화면이 올라오면, 기본 선택된 값, 예를 들어, Ubuntu 20.04이 보이면, Tab ↹을 누릅니다.

그런-다음 그럽 명령줄에 커널과 부팅 옵션이 표시되면, splash와 quiet를 제거하고 부팅을 진행하십시오.

이제 부팅 중에 생기는 메시지가 화면에 출력될 것이고, 오류 메시지를 확인할 수 있을 것입니다.

Troubleshootings

Resolution in text consoles
다음 정보를 확인하십시오.
  • sudo hwinfo --framebuffer
  • sudo hwinfo --monitor
/etc/default/grub 파일을 수정하십시오.
GRUB_GFXMODE=1600x900 
GRUB_GFXPAYLOAD_LINUX=keep
  • echo "echo FRAMEBUFFER=y" | sudo tee /etc/initramfs-tools/conf.d/splash
  • sudo update-initramfs -u
  • sudo update-grub
Warning os-prober will not be executed to detect other bootable partitions
설정, /etc/default/grub에 다음 설정을 추가합니다:
GRUB_DISABLE_OS_PROBER="false"
위와 같이 설정해도 경고 메시지가 출력됩니다. 해당 메시지를 뿌리는 파일에서 실행 권한을 제거하거나, 해당 파일에서 grub_warn을 주석처리해서 메시지 출력을 막을 수 있습니다:
  • sudo chmod -x /etc/grub.d/30_os-prober


See also

References

  1. ^ https://alpha.gnu.org/gnu/grub/
  2. ^ Kiper, Daniel (July 4, 2019). "GRUB 2.04 release". grub-devel (Mailing list). Retrieved July 5, 2019. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  3. ^ "Ohloh Analysis Summary – GNU GRUB". Ohloh. Retrieved 2010-05-12.
  4. ^ "GNU GRUB license". Archived from the original on 2013-09-11.
  5. ^ EnterpriseLinux.com Definitions Definition of GRand Unified Bootloader
  6. ^ "Dual boot with Windows". archlinux.org.

How-Tos and troubleshooting

Distribution wikis have many solutions for common issues and custom setups that might help you:

Documentation

Introductory articles

Technicalities