Windows 설치 후 Fedora가 더 이상 시작되지 않습니다. 오류가 발생했습니다. '/vmlinuz' 파일을 찾을 수 없습니다. 시작을 수정하는 방법?

Windows 설치 후 Fedora가 더 이상 시작되지 않습니다. 오류가 발생했습니다. '/vmlinuz' 파일을 찾을 수 없습니다. 시작을 수정하는 방법?

윈도우 10을 설치해야겠네요. 설치 문제로 인해 처음 두 개의 드라이브(Fedora 데이터가 포함되어 있음)를 분리했습니다. 그래서 하드 드라이브를 연결하기만 하면 Windows를 성공적으로 설치할 수 있었습니다.

이제 모든 드라이브가 연결되었습니다. Windows를 정상적으로 부팅할 수 있었지만 Fedora가 더 이상 시작되지 않습니다.

grub에서 Fedora를 선택할 때 발생하는 오류는 다음과 같습니다.

오류: 해당 장치 없음: 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2

오류: "/vmlinuz-4.13.9-300.fc27.x86_64" 파일을 찾을 수 없습니다.

오류: 먼저 커널을 로드해야 합니다.

그래서 구글링해서 이런걸 발견했어요질문, 하지만 솔직히 말해서 답변을 완전히 이해하지는 못합니다. 어쨌든, 나는 cgrub 명령줄을 쳤습니다. ls명령줄에 입력 하면 다음과 같이 표시됩니다.

(lvm/fedora_hdd-swap) (lvm/fedora_sdd-root) (lvm/fedora_sdd-home) (hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1, gpt12) (hd1,gpt11) (hd2) (hd3) (hd3,gpt4) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1)

이제 입력하면 ls (lvm/fedora_hdd-root)//boot, /etc 등과 같은 필수 Linux 파일이 모두 표시됩니다. 그러면 내 파일은 안전하고 건전합니다. grub을 올바르게 구성하면 된다고 가정하겠습니다.

grub으로 돌아가서 eedit Fedora list를 입력하면 다음이 표시됩니다.

getparams 'Fedora (4.13.9-300.fc27.x86_64) 27 (Workstation Edition)
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=achi0,gpt2 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
    else
        search --no-floppy --fs-uuid --set=root 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
    fi  

grub 명령줄에 표시된 내용을 토대로 그에 따라 목록을 편집해야 한다고 생각합니다.

답변1

GRUB는 Linux 루트 파티션에는 전혀 관심이 없습니다. Linux 루트 파티션에만 관심이 있습니다. 오직 Linux 커널만이 이에 관심을 갖고 있습니다. GRUB은 파일 시스템이 포함된 파티션을 찾고 있습니다 /boot. GRUB는 여러 가지 이유로 이것을 "GRUB 루트 파일 시스템"이라고 부릅니다.

오류 메시지의 커널 경로 이름에는 접두사 error: file '/vmlinuz-4.13.9-300.fc27.x86_64' not found가 없습니다 /boot. 이는 /boot별도의 파일 시스템이 있을 수 있음 을 알려주며 , set root='hd0,gpt2'Fedora를 부팅하는 데 사용된 GRUB 구성의 행은 GPT 파티션 디스크에서 특정 시점에 두 번째 파티션이었다는 것을 알려줍니다.

를 입력하면 ls (lvm/fedora_hdd-root)/boot/단지 빈 디렉토리라는 것을 알 수 있습니다. 이는 /boot실제 파일 시스템의 마운트 지점 역할을 합니다.

파일 시스템 UUID도 있지만 error: no such device: 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2찾을 수 없다는 오류 메시지가 나타납니다.

내 생각에 가장 좋은 시나리오에서는 드라이브 감지 순서가 변경되었을 수 있으며 이전 순서 hd0,gpt2는 이제 hd3,gpt2.

최악의 시나리오에서는 /boot파티션이 실제로 Windows 10이 설치된 디스크에 있고 Windows 설치가 파티션을 덮어쓰는 경우가 있습니다. 그러나 파티션 교체는 상대적으로 쉽습니다. /boot부팅 메뉴 옵션 Troubleshooting-> Rescue a Fedora system또는 부팅 옵션을 사용하여 inst.rescueFedora 설치 미디어에서 복구 모드로 부팅 해야 합니다.

복구 모드가 시작되면 명령 프롬프트가 제공됩니다. 모든 것이 순조롭게 진행된다면 Fedora 시스템을 설치해야 합니다 /mnt/sysimage. 따라서 명령을 먼저 사용하면 모든 경로 이름 앞에 접두사를 붙일 chroot /mnt/sysimage필요가 없으며 /mnt/sysimage일반 패키지 관리 도구를 사용할 수 있습니다.

이제 새 /boot파티션을 생성하여 마운트하거나 GRUB가 분명히 LVM 논리 볼륨을 읽을 수 있으므로 /boot파일 시스템의 내용을 /boot루트 파일 시스템의 디렉터리에 다시 마운트하면 됩니다.

분명히 UEFI 기반 시스템을 사용하고 있으므로(모든 파티션이 GPT 유형이므로) 이는 /boot/efi아직 존재하지 않는 경우 빈 디렉토리(EFI 시스템 파티션 또는 ESP의 마운트 지점으로)를 생성할 수 있음 을 의미합니다. 을 실행하고 mount /boot/efi설정이 /etc/default/grub현재 구성과 일치하는지 확인한 다음 를 사용하여 최신 커널 패키지를 다시 설치하십시오 rpm --reinstall.

커널 패키지에는 이 /vmlinuz-*파일이 포함되어 있으며 패키지 설치 프로세스에서 이에 대한 적절한 initramfs 파일이 자동으로 생성됩니다. 완료되면 이제 존재해야 하는 모든 중요한 파일이 /boot복구되어야 합니다. 커널 패키지 재설치 프로세스에서는 실제 GRUB 구성 파일도 업데이트해야 합니다.

GRUB에는 단순화된 구성 파일 /etc/default/grub과 실제 자동 생성된 구성 파일( /boot/efi/EFI/fedora/grub.cfgUEFI 시스템의 경우)이라는 두 가지 구성 파일이 있습니다. 커널 패키지를 다시 설치한 후 전자를 업데이트하는 경우 다음 명령을 사용하여 후자 파일의 업데이트를 수동으로 트리거할 수 있습니다.

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

관련 정보