Grub의 콘솔 ls 명령이 내가 실제로 가지고 있는 드라이브보다 하나 더 많은 드라이브를 감지했습니다.

Grub의 콘솔 ls 명령이 내가 실제로 가지고 있는 드라이브보다 하나 더 많은 드라이브를 감지했습니다.

드라이브가 두 개 있습니다. 첫 번째 파티션에는 데이터를 저장하는 데 사용되는 ext4 파티션이 하나만 있습니다. 두 번째에는 EFI 부팅 파티션과 4개의 운영 체제를 포함하여 7개의 파티션이 있습니다. 어떤 이유로 grub의 콘솔은 세 개의 드라이브를 감지합니다.

grub> ls
(hd0) (hd1) (hd1,gpt1) (hd2) (hd2, gpt1) (hd2, gpt2) (hd2, gpt3) (hd2, gpt4) (hd2, gpt5) (hd2, gpt6) (hd2, gpt7)

비록 그럽이지만엘에스명령은 오른쪽으로 "이동된" 드라이브를 나열합니다(예: 실제 드라이브 표시).(HD1, GPT1)~처럼(HD2, GPT1),진짜(HD1, GPT2)~처럼(HD2, GPT2)등), grub.cfg의 메뉴 항목은 실제 드라이브 순서에 따라 올바르게 구성됩니다.

...
set root='hd1,gpt2' #Part of Fedora's menu entry. Boots normally.
...
set root='hd1,gpt3' #Part of Slackware's menu entry. Boots normally. 
...
set root='hd1,gpt1' #Part of Windows 10 menu entry. Points to EFI Boot Partition and boots normally.
...

grub.cfg에 구성된 파티션에 대해 불만을 표시하는 유일한 운영 체제는 FreeBSD입니다.

...
set root='hd1,gpt5' #Part of FreeBSD's menu entry. Causes an error.
...

FreeBSD를 시작하려고 하면 다음 메시지가 표시됩니다:

../../grub-core/net/net.c:1547:disk not found

FreeBSD 메뉴 항목을 다음으로 변경하면HD2, GPT5, 부팅을 시도하지만 시스템을 재부팅합니다. 그러나 나는 이 행동이 문제와 관련이 없다고 생각합니다.

grub이 이 "유령"을 표시하는 이유는 무엇입니까?(HD0)운전하다? 그거 어디서 났어? 고칠 수 있나요?

추신: 저는 이 동작이 두 개의 다른 grub 인스턴스에서 발생하는지 테스트했습니다. 하나는 Fedora에서 가져온 것이고 다른 하나는 Slackware에서 가져온 것입니다. 부스 인스턴스는 grub 2.04입니다.

관련 정보