Grub2에서 구성 파일을 자동 로드하려면 어떻게 해야 합니까?

Grub2에서 구성 파일을 자동 로드하려면 어떻게 해야 합니까?

내 파티션이 이전 버전의 grub에서 더 이상 지원되지 않기 때문에 grub2를 설치했지만 이전 grub 버전처럼 텍스트 메뉴를 표시할 수 없습니다. 컴퓨터를 부팅하면 구성 파일을 수동으로 로드해야 하는 CLI가 제공됩니까? 내 구성 파일은 괜찮습니다. 그런데 grub2를 사용하여 자동 시작하려면 어떻게 해야 합니까? 내 운영 체제는 openSUSE이고 grub2-mkconfig --output=/boot/grub2/grub.conf를 사용하여 구성 파일을 생성합니다. 그런 다음 grub2-install /dev/sda2를 사용하여 grub2를 설치했습니다. 또한 /etc/default/grub을 편집하여 메뉴를 표시하고 hideoutmenu 줄을 주석 처리했습니다. 이것은 매우 짜증나는 오류이므로 도와주세요. 매우 감사합니다!

업데이트: 제 질문을 읽어주세요. openSUSE와 Linux는 약간 이상합니다. grub2-mkconfig -o /boot/grub2/grub.conf를 시도했습니다. grub.cfg도 사용해 보았습니다. grub-mkconfig는 없고 grub2-mkconfig만 있습니다. update-grub(또는 update2-grub)도 없습니다. 이것은 openSUSE에 존재하지 않는 스크립트입니다! ! ! ? !

업데이트 2: 그래픽 카드 문제일까요? 내 grub2-mkconfig는 Windows 운영 체제를 인식합니다.http://ubuntuforums.org/showthread.php?t=1485072&page=3

업데이트 3: --force를 사용할 때도 이 오류 메시지가 나타납니다.

/usr/sbin/grub2-bios-setup: Warnung: Dateisystem »ext2« unterstützt keine   
Einbettungen.
/usr/sbin/grub2-bios-setup: Warnung: Einbettung ist nicht möglich. GRUB  
kann in dieser Konfiguration nur mittels Blocklisten installiert werden. 
Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher 
nicht empfohlen..
installation beendet. Keine Fehler aufgetreten.

업데이트 4:

  grub2-mkconfig --output=/boot/grub2/grub.cfg
  grub.cfg wird erstellt …
  Linux-Abbild gefunden: /boot/vmlinuz-3.4.4-1.1-desktop
  initrd-Abbild gefunden: /boot/initrd-3.4.4-1.1-desktop
     No volume groups found
  Windows 7 (loader) auf /dev/sdc1 gefunden
  erledigt

업데이트 5: 요청한 대로 /dev/sda2 대신 /dev/sda를 사용했는데 더 잘 작동했고 --force 명령이 필요하지 않았습니다.

   grub2-install --boot-directory=/boot/grub2 /dev/sda
   installation beendet. Keine Fehler aufgetreten.

하지만 이 추가 정보에는 update-grub2 스크립트가 있습니다.https://build.opensuse.org/package/view_file?file=README.openSUSE&package=grub2&project=openSUSE%3AFactory&rev=c3401e0f5ec23451c03caa9b77fa0d99

하지만 난 그렇지 않아?

업데이트 6:

# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg'     
afterwards to update 
# /boot/grub2/grub.cfg.
GRUB_DISTRIBUTOR="openSUSE"

GRUB_DEFAULT=2
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash=silent"
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=800x600

# 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_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_BACKGROUND=/boot/grub2/themes/openSUSE/background.png
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt

업데이트 7: 내 파일 grub-mkconfig_lib도 /usr/lib/grub이 아닌 /usr/share/grub2에 있습니다.http://forums.opensuse.org/english/get-technical-help-here/pre-release-beta/476722-grub2-broken-12-2-rc1.html?

업데이트 및 수정 사항:

  1. 오류: 내 grub 구성 파일에서 GRUB_HIDDEN_TIMEOUT_QUIET=true 줄을 GRUB_HIDDEN_TIMEOUT_QUIET=false로 변경하고 #GRUB_HIDDEN_TIMEOUT=0 줄에 주석을 달았습니다.
  2. 버그: /boot/grub2가 모든 곳에서 기본 경로임에도 불구하고 /boot/grub2가 아닌 /boot에서만 실행됩니다. 이상한. AHCI를 사용하고 있기 때문일까요? ? ?

답변1

기본 /boot/grub 디렉토리를 사용하지 않기 때문에 grub에게 /boot/grub2를 사용하도록 지시해야 합니다:

grub-install --boot-directory=/boot/grub2 /dev/sda2

답변2

다음 명령을 사용하여 grub.cfg 파일을 생성해야 합니다:

grub-mkconfig -o /boot/grub/grub.cfg

/etc/grub.d/ 및 /etc/default/grub 등의 다양한 grub conf 파일을 사용하여 grub.cfg 파일을 생성합니다.

이것아치스 위키Grub의 기사에서는 이 프로세스를 자세히 설명합니다. 비록 Arch용으로 작성되었지만 귀하의 시스템에 쉽게 적용할 수 있다고 믿습니다.

답변3

나도 같은 실수를 저질렀다. 구성 파일은 grub.cfg, 아니 grub.conf!

SUSE/오픈수세/RHEL/CentOS:

grub2-mkconfig --output=/boot/grub2/grub.cfg 

데비안/우분투

grub2-mkconfig --output=/boot/grub/grub.cfg

grub.cfg는 어디에 있나요?

다른 배포판은 다른 위치를 사용합니다 grub.cfg. 우분투는 /boot/grub/grub.cfg(문서), RHEL/CentOS 7은 /boot/grub2/grub.cfgBIOS 시스템에서 사용됩니다(문서), SUSE/OpenSUSE(문서).

관련 정보