부트로더로 사용되는 실제 파일을 "보는" 방법은 무엇입니까?

부트로더로 사용되는 실제 파일을 "보는" 방법은 무엇입니까?

저는 Ubuntu의 "디스크" 프로그램을 사용하여 친구의 노트북에 파티션 이미지를 생성한 다음 이를 복원하려고 시도했지만 성공하지 못했습니다. 외장 하드 드라이브에 백업을 한 다음 노트북의 모든 파티션을 삭제하고, 정확한 원본 바이트 수로 빈 파티션을 생성하고 외장 HDD에서 이미지를 복원하지만 Windows는 자체 부트로더조차 찾을 수 없습니다. 부팅할 수 없습니다.

그래서 지금은 뭔가 다른 것을 시도하고 있어요. 어쨌든 그녀는 Windows를 사용하지 않으므로 Windows 파티션을 그대로 두고 Ubuntu 16.04 부트로더를 설치하기 위해 sda7을 선택했습니다.

여기에 이미지 설명을 입력하세요

이제 BIOS에서 별도의 Windows 부트로더와 부트로딩을 위해 신뢰할 수 있는 UEFI 파일로 선택한 Ubuntu grub64 파일을 볼 수 있습니다. 이제 그녀는 이중 부팅 시스템을 갖게 되었습니다.

이제 sda7의 복제본(Ubuntu의 "디스크" 앱 사용)을 생성해 sda7, sda5 및 sda6 파티션을 삭제한 다음 다시 생성하고 sda7의 복제본을 복원하더라도 부트로더를 선택할 수 있도록 하려고 합니다. BIOS에서 sda7을 신뢰할 수 있는 부트로더로 설정하고 이전과 같이 듀얼 부팅 시스템을 갖습니다.

하지만 그 전에 부트로더가 실제로 sda7에 있는지 확인하고 싶습니다. 루트 폴더에서 작업을 시도했지만 grep -r "grub" .아마도 잘못된 것일 수 있습니다. 도움을 주실 수 있나요? 부트로더가 sda7에 있는지 어떻게 확인하나요? 어떤 파일인가요?

답변1

UEFI BIOS에서 실행되는 부트로더는 /dev/sda7에서 로드되지 않고 EFI 파티션인 /dev/sda2에서 로드됩니다. 현재 시스템에는 /boot/efi/에 이 파티션이 마운트되어 있습니다. grub 바이너리와 grub cfg 파일을 찾으려면 이 파티션을 루트로 검색하세요.

이 cfg 파일은 grub을 부팅 파티션으로 지정한 다음 /boot/grub/grub.cfg에서 볼 수 있는 자동 생성된 다른 cfg 파일을 가리킵니다. 이 cfg 파일에는 grub 부팅 메뉴를 구축하는 데 사용되는 모든 데이터가 포함되어 있으며 Linux 내에서 "sudo grub-install"을 입력하면 작성됩니다.

답변2

먼저, 실제로 부팅하고 있는지 다시 확인하는 것이 좋습니다.EFI그리고 아니 낡은 것바이오스:

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

EFI로 갑자기 부팅하는 경우 GRUB 파일이 저장됩니다.

  • ESP 파티션에서(에서 /EFI/ubuntu)
  • ~에/boot/grub
  • ~에/etc/grub

그래, /dev/sda7좀 있어애벌레/etc/grub및 의 파일과 가장 유사한 파일입니다 /boot/grub.

이에 대해 100% 확신할 수는 없지만, /dev/sda7지워지면 /boot/grub/grub.cfgGRUB가 누락되고 제대로 작동하지 않을 것입니다.

관련 정보