grub-install / grub boot는 정확히 어떻게 작동합니까?

grub-install / grub boot는 정확히 어떻게 작동합니까?

Linux 배포판이 완전히 설치된 USB를 만들려고 하다가 다음과 같은 많은 페이지를 발견했습니다.그럽을 고치는 방법? (Windows 설치 후 Ubuntu를 복원하는 방법은 무엇입니까?)) 장치에 grub을 설치/재설치하는 방법을 설명합니다.

절차와 방법을 이해하려고 노력하면서 몇 가지 질문이 생겼습니다.

  • 명령은 grub-install부팅할 운영 체제(파티션)를 찾을 위치를 어떻게 알 수 있습니까?

Linux USB 라이브 드라이브를 사용하여 Grub을 설치하려는 장치 파티션 중 하나를 마운트하고 다음 명령을 사용하는 것을 확인했습니다. for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done모든 운영 체제 시스템에서 모든 설치를 찾기 위해 grub-install에 필요한 모든 디렉터리를 마운트합니다. 인식된 장치(/dev/ 디렉토리 아래의 모든 장치를 고려해야 하기 때문에) 내 접근 방식이 맞습니까? 또한 모든 것이 설치되고 설정되면 grub-install이 장치에서 부팅할 OS가 어디에 있는지 grub에게 알려주는 구성을 생성한다고 생각합니다. 맞나요? 설치 후 이 구성을 수동으로 편집할 수 있습니까(예: 새 SO를 설치하고 해당 부팅 지시문을 grub 구성에 수동으로 추가)?

  • grub-pc와 패키지 grub-efigrub-legacy정확한 차이점은 무엇인가요 ?

저는 grub을 기존 부팅(BIOS를 사용하여 MBR에서 부팅) 및 EFI 부팅에 설치할 수 있다는 것을 알고 있지만 grub-install 명령( grub-pc패키지 중 하나를 설치한 후 시작할 수 있음 grub-efi) 에 매개 변수가 grub-legacy있다는 것도 알고 있습니다 --efi-directory. 이 매개변수를 사용하면 실행 중인 시스템에서 ESP 파티션이 설치될 위치를 지정할 수 있으므로 Grub을 EFI 부팅 모드로 설치할 수 있다고 가정합니다. 이것이 맞습니까? 이는 이러한 패키지 중 하나를 사용하여 EFI 또는 BIOS 모드에서 Grub을 설치할 수 있다는 의미입니까? 그렇다면 어떻게? 이러한 패키지 중 하나를 설치한 후 grub-install을 사용하여 Bios 또는 EFI 모드에서 Grub을 설치하도록 지정하려면 어떻게 해야 합니까? 또한 이러한 패키지 중 하나만 설치할 수 있는 것으로 나타났습니다(이미 패키지가 있고 aptitude를 사용하여 다른 패키지를 설치하려고 하면 aptitude가 현재 설치된 패키지를 제거 대상으로 표시합니다). 왜 이런 일이 발생합니까? ?

답변1

Grub Legacy는 grub2 이전의 grub 버전입니다. 약 10년 전에는 많은 배포판이 grub2로 전환되었습니다. 이제 grub이라고 하면 일반적으로 grub2를 의미합니다. 오래된 grub을 grub 레거시라고 부르기 때문입니다.

grub-pc 패키지는 BIOS 부팅 설치 및 MBR을 사용한 부팅에 사용됩니다. 드라이브가 gpt 파티션으로 분할된 경우 BIOS_grub 플래그가 있는 1MB 또는 2MB의 포맷되지 않은 파티션도 필요합니다.

grub-efi-amd64는 64비트 PC 및 UEFI 부팅에서 작동합니다. grub-efi-amd64에는 ESP가 필요합니다. Ubuntu를 사용하면 40년 된 MBR(msdos) 파티션 드라이브에 UEFI 모드로 설치할 수 있지만 그렇게 해서는 안 되지만 데이터 드라이브를 변환할 때 데이터 손실을 방지할 수 있습니다. UEFI에서는 gpt 파티션 사용을 적극 권장합니다. Windows에서는 UEFI 부팅을 위해 gpt가 필요합니다.

https://help.ubuntu.com/community/Grub2

매뉴얼 2.04 https://www.gnu.org/software/grub/manual/grub/grub.pdf

관련 정보