OpenSuse를 시작할 수 없으며 grub을 제거할 수 없습니다.

OpenSuse를 시작할 수 없으며 grub을 제거할 수 없습니다.

Kubuntu 18.04를 새 nvme 드라이브에 설치할 때 간단히 GPT를 만든 다음 ext4 파티션 /dev/nvme0n1p1과 스왑 파티션을 만듭니다 /dev/nvme0n1p2. 미래의 시스템을 위해 할당되지 않은 공간을 남겨두었습니다.

이제 공간을 할당할 차례입니다. OpenSuse를 사용하고 싶습니다. 설치 프로그램이 자동화된 작업을 수행하도록 하고(기존 ext4 파티션을 덮어쓰지 않는지 확인) 저장 매체의 이전에 할당되지 않은 영역에 두 개의 새로운 파티션이 생겼습니다. /dev/nvme0n1p3KDE 파티션 관리자(설치 프로그램)에 따르면 , "v-fat"이라는 fat16 파티션 /dev/nvme0n1p4과 btrfs 파티션입니다.

내 문제는 내 컴퓨터가 여전히 쿠분투만 부팅할 수 있다는 것입니다. Grub에서는 이 시스템만 표시됩니다. UEFI 구성은 전체 nvme 드라이브를 하나로 취급하는 것 같습니다(썸 드라이브를 2~5개 부분으로 분할하더라도).

sudo update-grub쿠분투에서 실행 해 보았습니다 . 아무것도 바뀌지 않습니다.

sudo grub-install /dev/nvme0n1또한 및 실행을 시도했는데 sudo grub-install /dev/nvme0n1p1둘 다 오류 메시지가 나타납니다.

$ sudo grub-install /dev/nvme0n1
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
$ sudo grub-install /dev/nvme0n1p1
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

그런 다음 질문을 읽고 OpenSuse 설치 프로그램에서 생성한 fat 파티션에 grub을 설치하려고 했습니다.

$ sudo grub-install /dev/nvme0n1p3
Installing for i386-pc platform.
grub-install: warning: File system `fat' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

이 답변또한 도움이 되지 않습니다:

$ sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi
grub-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.

컴퓨터에서 OpenSuse를 시작하려면 어떻게 해야 합니까?

답변1

UEFI 설정으로 이동한 다음 부팅 → UEFI 하드 드라이브 BBS 우선 순위로 이동했습니다. 첫 번째 우선순위는 "Windows 부팅..."입니다. "opensuse-secureboot"로 변경했습니다. 그런 다음 일반 부팅 순서로 돌아가서 "UEFI Hard Disk:opensuse-secureboot"를 맨 위로 이동했습니다.

이제 부팅 시 OpenSuse 테마 메뉴가 표시되며 OpenSuse와 Kubuntu 중에서 선택할 수 있습니다. Windows 항목도 있는데, 이를 선택하면 Windows가 실행될 것 같습니다. :)

답변2

"v-지방" 같은 것

이것이 제가 아래에 언급한 ESP임에 틀림없습니다! 이제 다시 읽어보니 설명하신 대로군요.


나는 John이 당신에게 올바른 방향을 제시한다고 생각합니다.

BIOS 메뉴에서는 "Legacy BIOS"(=MBR)와 "UEFI" 중에서 선택할 수 있습니다. 두 가지를 동시에 활성화할 수도 있습니다. 그러나 이것만으로는 충분하지 않습니다.

"GPT 생성"(쉬움 여부)에도 옵션이 있습니다. 만일을 대비해 보호 MBR을 사용했습니다.

grub에 들어가면 명령줄을 변경하고 새 커널, initrd 및 루트를 넣을 수 있습니다. 내가 이해하는 바에 따르면, 그것은 차단 목록(Q의 오류 메시지 참조)이 아닌 파일 시스템을 사용하여 작동하므로 두 번째 메뉴 항목을 추가하고 기본값으로 설정할 수 있습니다. 설치자가 이 상황에 적응하지 못했다는 사실은 놀랍지 않습니다. vfat 및 btrfs 파티션을 얻는 이유는 무엇입니까?

Q를 다시 통과한 후:

MBR이 없는 것 같습니다("이 GPT 파티션 레이블에는 BIOS 부팅 파티션이 포함되어 있지 않습니다."). 그런데 당신은 어디에 있나요?EFI 시스템 파티션? 새로 생성된 grub이 아니라 grub이 가야 할 곳입니다./dev/nvme0n1p3.

UEFI 구성은 전체 nvme 드라이브를 하나로 취급하는 것 같습니다(썸 드라이브를 2~5개 부분으로 분할하더라도).

이는 썸 드라이브에 부팅 가능한 .EFI 파일(UEFI 애플리케이션: 부트 로더 및 기타 유틸리티)이 있는 파티션이 포함되어 있기 때문입니다.

UEFI는 드라이브에 부트로더가 없다는 것을 분명히 알고 있습니다. efibootmgrLinux 내부에서는 .

그러나 UEFI Shell이라는 내장 부트로더가 있습니다. UEFI BIOS 메뉴에 있는 일종의 부팅 옵션이어야 합니다.

UEFI는 모든 파티션에서 grub(또는 systemd-boot 또는...)을 부팅할 수 있고 grub은 모든 파티션에서 커널 이미지를 로드할 수 있으므로 새로 설치한 후 새 메뉴 항목을 추가하고 편안하게 사용할 수 있습니다. . 실제 Grub 설치 단계는 필요하지 않습니다.

(단순히 확인하면 기존 ext4 파티션을 덮어쓰지 않습니다.)

예. 좋은 생각이에요! 이는 이러한 설치 프로그램의 품질에 대해 많은 것을 말해줍니다.

관련 정보