
재설치에 문제가 생겼습니다아치 리눅스Windows 10으로 이중 부팅되는 컴퓨터에서.
관련되지 않은 여러 가지 이유로 저는 이전 Arch Linux 설치의 모든 것을 백업하고 새로 시작하기로 결정했습니다. 나는 USB에 Arch Linux 라이브 미디어를 가지고 있으므로 거기서 부팅했습니다.UEFI), 내 Linux 파티션을 포맷하고 Arch Linux 설치 가이드를 진행했습니다.
'부트로더 설치' 섹션에 도달할 때까지 모든 것이 제대로 작동하는 것 같았습니다. 이전에 사용했던 초보자 가이드가 (훨씬 더 간단한) 설치 가이드를 위해 삭제되었기 때문에 여기서 무엇을 해야 할지 100% 확신할 수 없었습니다.
나는 알고있다EFI파티션에는 이미 필요한 모든 GRUB 항목이 있었지만 새로 설치하려면 변경해야 한다고 생각했습니다.
- 스텁을 삭제
/boot/EFI/grub.efi
하고 이름/boot/grub/
을/boot/grub.bak
. - 나는 달렸다
및 (내 EFI 파티션의 마운트 지점)을pacman -S grub os-prober
grub-install
사용하여 아치 설치 가이드의 명령을 실행한 다음 실행했습니다.target=x86_64-efi
directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
이것이 내 문제가 시작된 곳입니다. 명령 을 실행하면 grub-mkconfig
'' 오류가 발생 failed to connect to lvmetad
하고 대체 모드로 돌아가는 중이라고 말했습니다. 올바른 디렉토리에 파일을 성공적으로 생성했지만 grub.cfg
메뉴 항목이 없습니다.
부팅하려고 하면 GRUB 명령줄만 표시됩니다. 내 Arch Linux 라이브 미디어로 돌아가서 를 다시 실행하고 arch-chroot
, 내 메뉴로 가서 /boot/grub.bak
거기에서 Arch Linux용 메뉴 항목 섹션을 복사하여 이전 UUID를 현재 보고된 UUID로 바꾸었습니다.fstab
내 루트 디렉토리에 대해. 재부팅하면 GRUB 메뉴가 다시 표시되지만 Arch Linux를 선택하면 /vmlinux couldn't be found
.
chroot
나는 라이브 미디어에 다시 들어가서 다시 방송했습니다 grub-config
. 아직 메뉴 항목이 없습니다. 나는 찾았다이 질문도우미 스크립트 에 알려진 문제가 있다는 비슷한 문제가 있습니다 grub-mkconfig
. 이것은 2014년의 것이므로 내 문제가 동일할 것 같지 않다고 생각했지만 거기에서 가장 좋은 답변을 따랐습니다. 제안은 다음과 같습니다.
방금 같은 문제가 발생하여 다른 해결 방법을 찾았습니다. 기본적으로
/run
게스트가 호스트 디렉터리를 사용할 수 있도록 만드는 작업이 포함됩니다 .
/run
먼저, 게스트가 접근할 수 있는 곳에 마운트합니다 . 설치 파티션이 에 마운트되어 있다고 가정하겠습니다/mnt
.mkdir /mnt/hostrun mount --bind /run /mnt/hostrun
그런 다음
chroot
게스트에 호스트를 마운트하고/run/lvm
게스트의/run
.arch-chroot /mnt /bin/bash mkdir /run/lvm mount --bind /hostrun/lvm /run/lvm
grub-mkconfig
그런 다음grub-install
LVM 오류 없이 실행할 수 있습니다 . 이는 또한 LVM을 사용하여 설치하는 경우 가치 있는 명령이 작동하도록 합니다.완료되면
/run/lvm
chroot를 종료하기 전에 umount를 수행하는 것을 잊지 마십시오.
fails to connect to lvmetad
그렇게 하면 실제로 내 오류가 제거되었지만 /dev/sdx not initialized in UDEV
. 이 명령은 여전히 grub.cfg
메뉴 항목 없이를 생성합니다.
F12내 노트북의 ' 부팅 중 망치' 메뉴 에서 Windows 부팅 관리자를 선택하여 Windows에 들어갈 수 있습니다 .
답변1
문제는 에 있고 arch-chroot
사용하고 있기 때문에 나타납니다 os-prober
. 내 사건을 해결한 방법은 다음과 같습니다.
- 현재 백업
grub.cfg
(아직 백업하지 않은 경우) - 제거하다
os-prober
(pacman -R os-prober
,아니면 비활성화할 수 있습니다) - 달리다
grub-mkcondig
- 아치로 재부팅
- 설치하다
os-prober
grub-mkconfig
다시 뛰어
답변2
나는 같은 문제가 있었다. 이것은 오래된 게시물이지만 누군가에게 도움이 될 수 있도록 해결 방법을 게시하겠습니다.
귀하와 마찬가지로 저도 작업 파일을 포함하여 완전한 백업을 갖고 있었습니다 grub.cfg
. 이전 파일에서 필요한 메뉴 항목을 추출 grub.cfg
하여 /etc/grub.d/40_custom
. 다음으로 다시 실행했습니다.
grub mkconfig -o /boot/grub/grub.cfg
이제 모든 것이 괜찮아졌습니다.
os-prober
우선 순위가 낮은 편의 항목이며 꼭 필요한 것은 아닙니다. 개인적으로 나는 그것이 작동하도록 노력하는 데 많은 시간을 소비하지 않을 것입니다. 그것은 개인적인 선택입니다. 어떤 사람들은 이런 종류의 문제를 해결하는 것을 좋아하고 그들의 노력에 감사하지만 다른 사람들은 실제 작업을 위해 시스템이 필요하고 시간 제약이 있으며 시작하고 실행해야 합니다.
결국 이 문제는 소프트웨어나 문서를 통해 해결될 것입니다. 파일에서 메뉴 항목을 설정하는 방법에 대해 궁금한 점이 있으면 40_custom
웹 검색을 통해 수많은 예제를 찾을 수 있습니다.