저는 Debian 9.9를 설치하고 있으며 1TB 하드 드라이브와 8GB RAM에 이 레이아웃을 적용하고 싶습니다.
Size Name / Mounted at
512 MB EFI System Partition
40 GB /
8GB /swap
Remaining space /home
인터넷에서 사람들은 /boot 또는 /boot/efi에 마운트된 EFI 파티션을 사용합니다.
데비안 9에서는 /boot가 FAT32가 되는 것을 허용하지 않기 때문에 /boot를 사용할 수 없습니다. /boot/efi도 같은 이유로 옵션이 아니라고 생각하는 것이 맞습니까?
/grub 폴더에 GRUB2를 둘 이유가 있나요? EFI 시스템 파티션에 GRUB2를 자체적으로 설치하지 않습니까?
대체 파티션 구성표(즉, /boot, /boot/efi의 EFI 또는 /grub에 설치된 GRUB2)의 이점은 무엇입니까?
답변1
EFI 파티션의 표준 위치(적어도 Debian의 경우)는 /boot/efi
다음과 같습니다.~해야 한다FAT32 파티션.
표준 Debian Grub EFI 레이아웃에서 grub은 세 부분으로 구성됩니다:
/boot/efi
마운트된 EFI 파티션
에는 stub grub 부트로더 및 구성이 포함되어 있습니다./boot/grub
동일한 파티션 /boot 또는 /
에는 grub 모듈과 실제 grub 구성이 포함됩니다./etc/grub.d
/와
동일한 파티션에 자동 구성 스크립트가 포함되어 있습니다.
Grub은 EFI에 완전히 설치되지 않으며 대부분이 다른 곳에 있습니다. 따라서 부팅할 수 있으려면 여전히 필요합니다 /boot/grub
. 스텁과 스텁 구성을 설치하여 나머지 부분을 가리키기만 하면 됩니다. 일반적인 EFI 스텁 구성은 다음과 같습니다( /boot/efi/EFI/debian/grub.cfg
).
search.fs_uuid 2c675303-d207-4573-98f5-59a33c9890ab root hd0,gpt3
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
이 구성은 grub에게 실제 구성을 찾을 수 있는 위치( /boot/grub/grub.cfg
하드 드라이브 0, 파티션 3)만 알려줍니다.
또한 구성이 주로 /boot/grub에 저장되어 있더라도 수동으로 편집하지 말고 grub 스크립트에 편집을 요청하십시오. 따라서 grub을 재구성하려면(단순히 새 커널을 추가하기 위해서라도) 가 필요합니다 /etc/grub.d
. 이 디렉토리의 스크립트는 데비안이 설치한 다른 라이브러리에 따라 달라질 수 있습니다.
따라서 다음 두 가지 이유로 /boot/grub을 보존해야 합니다.
- 여기에는 실제 구성과 grub 모듈이 포함되어 있습니다.
- 자동 구성 스크립트는 새 구성을 작성할 위치를 알 수 있습니다.
정말로 EFI로 옮기고 싶다면 /boot/grub
... (비표준)
말 그대로 당신을 막을 수 있는 것은 아무것도 없습니다. 스크립트가 그것을 찾을 수 있는 위치를 알고 있는지 확인하세요 /etc/grub.d
(예: 심볼릭 링크 남겨두기)
나는 전에도 이런 일을 해본 적이 있습니다. 왜냐하면 난해한 이유로 말이죠. 저는 두 개의 디렉토리가 포함된 EFI 파티션이 있는 시스템을 실행하고 EFI
있으며 grub
다음과 같이 설정했습니다.
# Move /boot/grub onto my EFI partition
mv /boot/grub /boot/efi
# Leave a symbolic link from the old location to the new location
ln -s /boot/efi/grub /boot/grub
# Update the stub config /boot/efi/EFI/debian/grub.cfg to point to the new location
grub-install
# For safety update the contents of /boot/efi/grub aka /boot/grub
update-grub
저는 실제로 이 설정을 좋아합니다. 여기서 여러 번 본 버그, 즉 사람들이 OS를 삭제하고 grub을 중단하고 다른 OS가 부팅되지 못하게 하는 버그를 방지하기 때문입니다.
파티션을 나누는 이유
구역화는 여러 가지 목적으로 사용됩니다. 부트로더의 파티셔닝 부분과 관련하여 이는 시스템의 다양한 부분의 다양한 기능을 처리하는 데 유용합니다.
- BIOS는 FAT 기반 파일 시스템만 읽을 수 있습니다.
- Grub은 파일 시스템을 훌륭하게 지원하지만 LVM 및 암호화된 볼륨이 문제가 될 수 있습니다.
- 리눅스는 모든 것을 읽을 수 있습니다
- 오래된이전 버전의 Grub은 매우 큰 디스크나 파티션을 읽을 수 없습니다.
BIOS는 grub을 로드하고 실행할 수 있어야 하므로 EFI는 FAT 기반 파일 시스템에 있어야 합니다.
홈 파티션은 grub이 읽을 수 없는 파티션에 있을 수 있지만 grub은 커널, Initramfs 및 자체 구성에 액세스해야 하므로 /boot 및 /boot/grub은 grub이 읽을 수 있는 파티션에 있어야 합니다. 그럽 레거시 시절에는 파티션이 충분히 작고 매우 작은 디스크의 드라이브 시작 부분 근처에 위치하는지 확인해야 했습니다.
Linux는 모든 것을 읽을 수 있지만 Linux가 LVM 또는 암호화된 볼륨에서 실행되기를 원할 수도 있습니다.