Debian 10 설치 프로그램 중에는 GRUB를 설치할 수 없습니다(답변: UEFI, SuperMicro 마더보드).

Debian 10 설치 프로그램 중에는 GRUB를 설치할 수 없습니다(답변: UEFI, SuperMicro 마더보드).

내 서버에 새 마더보드를 설치했습니다(슈퍼 마이크로 X9DRi-F) 그리고 데비안 10을 새로 설치하려고 합니다. 그러나 GRUB 설치를 시도하면 실패합니다.

Unable to install GRUB in dummy
Executing 'grub-install dummy' failed.
This is a fatal error.

BIOS로 들어가서 강제로 부팅할 때 UEFI 모드에서 설치 프로그램(USB 드라이브)을 부팅했는지 확인했습니다("UEFI: Sandisk"가 올바르게 표시됨).

/var/log/syslog 메시지를 잘라내어 붙여넣을 수는 없지만 기본적으로 다음과 같습니다.

Installing grub on 'dummy'
grub-install does not support --no-floppy
Running chroot /target grub-install  --force "dummy"
Installing for x86_64-efi platform.
grub-install: warning: Cannot read EFI Boot* variables.
grub-install: warning: read_file: could not read from file: Input/output error.
grub-install: warning: vars_get_variable: read_file(...) failed: Input/output error.

검색해 보니 다른 사람들도 이 문제를 겪고 있는 것 같은데, 어떻게 해결하셨는지 모르겠네요.

누구든지 나를 도와줄 수 있나요?

답변1

시스템에 grub을 다시 설치할 때도 동일한 문제가 발생했습니다. 내 솔루션(데비안 라이브 시스템 사용):

~ # mount /dev/sdX /target
~ # mount -o rbind /dev /target/dev
~ # mount -t proc proc /target/proc
~ # mount -t sysfs sys /target/sys
~ # mount -t efivarfs efivarfs /target/sys/firmware/efi/efivars # added that line (in difference to all other manuals found on the internet..)
~ # chroot /target/
~ # grub-install
~ # update-grub

답변2

또한 이 오류가 발생하여 다른 방법으로 수동으로 grub을 설치해야 한다고 생각합니다. 추가 정보는 다음과 같습니다. GPT 테이블 드라이브에 UEFI 모드로 설치하고 BTRFS를 루트 파일 시스템으로 사용했습니다.

내 하드 드라이브는 NVME Samsung 970 evo입니다.https://pcpartpicker.com/product/JLdxFT/samsung-970-evo-10tb-m2-2280-solid-state-drive-mz-v7e1t0baw

내 마더보드는 ASUS PRIME B360M-A입니다.https://pcpartpicker.com/product/WfF48d/asus-prime-b360m-a-micro-atx-lga1151-motherboard-prime-b360m-a

Linux 시스템이 부족하여 Rufus를 사용하여 Windows 10 시스템에서 USB 설치 미디어를 만들었습니다.

나는 여기의 지시를 따랐다.https://wiki.debian.org/GrubEFI 재설치

1.) efi debian을 설치합니다. grub 오류가 발생하면 부트로더를 사용하여 설치하지 않도록 선택합니다(설치 미디어는 efi 모드에서 부팅해야 함).

2.) 일부 부팅 미디어에 refind를 쓰고(1단계와 동일한 미디어를 덮어쓸 수 있음) efi로 부팅한 다음 방금 설치한 데비안 시스템으로 부팅합니다.

3.) 터미널/셸을 열고 로그인합니다.

4.) 실제로 efi 모드로 부팅하고 있는지 확인하세요. [ -d /sys/firmware/efi ] && echo "efi, continue" || echo "No efi, restart in efi"

5.) efi 파티션이 /boot/efi에 마운트되어 있는지 확인하세요. (그렇다면 lsblk를 실행하여 확인하세요.)

6.) sudo 그럽 설치

7.) sudo 업데이트-그럽

8.) 종료하고 이전 단계에서 부팅 미디어를 제거한 후 전원을 켜고 하드 드라이브에서 시스템이 부팅되는지 확인합니다.

아주 간단한 수정으로 작동할 것입니다.

PS 설치 단계에서 루트 사용자 생성을 건너뛰고 sudo를 사용했다는 점에 유의하세요. su 루트를 선호하는 경우 3단계부터 시작하세요.

답변3

고마워요 데이빗! 이것은 기본적으로 답변의 사본입니다. 초보자에게는 자명하지 않을 수 있는 몇 가지 세부 사항과 누락 사항을 추가했습니다. 모든 것이 기본값인데도 Debian 10 Buster(싱글 부팅)를 설치할 수 없습니다! 저는 온라인에서 해결책을 찾고 있었는데 귀하의 솔루션만이 저에게 도움이 될 만큼 명확하고 간단합니다. /dev/sdX1이 EFI 파티션이고 /dev/sdX2가 Debian Buster가 방금 설치되었지만 시작되지 않은 ext4라고 가정해 보겠습니다. 또한 설치가 실패한 후에도 grub 설치가 계속되는 것으로 가정됩니다. 이제 라이브 시스템으로 부팅하고 터미널을 열었습니다.

~ # sudo mkdir /target
~ # sudo mount /dev/sdX2 /target
~ # sudo mount /dev/sdX1 /target/boot/efi
~ # sudo mount -o rbind /dev /target/dev 
~ # sudo mount -t proc proc /target/proc 
~ # sudo mount -t sysfs sys /target/sys 
~ # sudo mount -t efivarfs efivarfs /target/sys/firmware/efi/efivars 
~ # sudo chroot /target/ 
~ # sudo rm -f /sys/firmware/efi/efivars/dump*
~ # sudo grub-install 
~ # sudo update-grub

도움이 되길 바랍니다. 응원합니다.

관련 정보