ERROR: device '' not found. Skipping fsck.
ERROR: Unable to find root device ''.
You are being dropped to recovery shell
한동안 Arch Linux를 설치하려고 했는데 계속해서 이 오류가 발생합니다. 나는 정말로 무엇을 해야할지 모르겠습니다.
약간의 배경 정보: 내 컴퓨터에는 원래 Fedora와 Windows 10(모두 64비트) 이중 부팅이 있었고 Windows가 먼저 설치되었습니다. Fedora 대신 Arch를 사용하기로 결정했습니다. 루트와 에 대한 /boot/efi
별도의 파티션이 있으며 /home
루트만 다루었습니다. 파티션을 마운트하고 를 제외한 모든 항목을 삭제했습니다 /home
( /boot
실수로 보관했습니다). 을 실행하고 pacstrap -i /mnt base
시스템을 설치하고 재부팅했습니다. 정상적으로 부팅되지만 Fedora 로딩 애니메이션 및 모든 기능과 함께 Fedora 부트로더를 사용합니다. Fedora 부트 로더로 인해 발생한 것으로 의심되는 일부 서비스를 시작할 수 없는 것을 포함하여 시스템에 몇 가지 문제가 있습니다. Arch 설치 USB로 재부팅하고 이번에 포함한 모든 항목을 삭제했습니다 /boot
(하지만 /boot/efi
설치하지 않았습니다.). 다시 설치했는데 grub이 vmlinuz 이미지를 인식하지 못했습니다. 그래서 저는 USB로 재부팅하고 새로운 Arch 파티션으로 루트를 이동한 다음 개인적으로 가장 좋아하는 부트로더인 rEFInd를 설치하기로 결정했습니다. rEFInd가 설치된 후 pacman -S refind-efi
rEFInd refind-install
가 설치되고 재부팅됩니다. Windows가 시작되지만 Arch를 시작하려고 하면 이 오류가 발생합니다.
mkinitcpio -p linux
여러번 실행해봤는데 /etc/fstab
완전히 정상인 것 같습니다.
내가 시도한 것은 다음과 같습니다.
자동 감지 전 블록 이동, 효과 없음
http://www.linuxforums.org/forum/arch-linux/199189-error-device-not-found-skipping-fsck.html
Refind.conf 및 refind_linux.conf를 사용하면 아무 것도 작동하지 않습니다.
https://superuser.com/questions/835120/error-unable-to-find-root-device-dropped-to-recovery-shell
initramfs-linux.img가 올바른 디렉토리에 있는지 다시 확인하세요.
비슷한 문제를 보았지만 해결 방법 중 어느 것도 효과가 없었습니다. 아치를 시작하는 방법에 대한 아이디어가 있나요?
편집: LVM을 사용하고 있다는 사실을 발견했습니다. 음, 응. 내 기본, 루트 및 스왑 파티션은 모두 /dev/sda8에 있는 작은 LVM 항목입니다(무엇이라고 불러야 할지 모르겠습니다). 이것이 어떤 영향을 미치는지 모르겠습니다.
답변1
문제는 rEFInd가 디렉터리 refind_linux.conf
에 파일을 자동으로 생성하지 않는다는 것입니다 ./boot
"EFI 스텁 로더 지원 기술 세부 사항"의 4단계부터 시작하세요.rEFInd 문서:
rEFInd는 커널 파일과 동일한 디렉터리에서 refind_linux.conf라는 파일을 찾습니다. 이는 일련의 행으로 구성되며 각 행에는 레이블과 일련의 커널 옵션이 포함됩니다. 첫 번째 줄은 기본 옵션을 설정하고, 다음 줄은 기본 메뉴 탭의 하위 메뉴 화면에서 액세스할 수 있는 옵션을 설정합니다. refind-install 스크립트를 사용하여 rEFInd를 설치한 경우 스크립트는 컴퓨터에 맞게 사용자 정의된 샘플 refind_linux.conf 파일을 /boot에 생성합니다. 이 파일은 많은 설치에서 변경 없이 작동하지만 일부 설치에서는 조정이 필요할 수 있습니다.
왜 이 파일이 생성되지 않는지 잘 모르겠지만 파일을 생성하면 현재 발생한 문제를 해결할 수 있을 가능성이 높습니다.
refind_linux.conf
파일 만들기
Arch Linux 위키에는 하나가 있습니다우수한 출품작이를 수행하는 방법에 대해 설명하지만 기본적으로 커널과 동일한 디렉토리에 배치합니다(일반적으로 /boot
자동 또는 수동으로 생성하여). 이 파일에서 주석 처리되지 않은 첫 번째 줄은 커널을 시작하기 위한 기본 매개변수가 됩니다.
다음 명령을 사용하여 파일을 만들었습니다.mkrlconf
명령을 실행하면 생성된 파일 /boot/refind_linux.conf
은 다음과 같습니다.
"Boot with standard options" "archisobaseddir=arch archisolabel=ARCH_201610"
"Boot to single user mode" "archisobaseddir=arch archisolabel=ARCH_201610 single"
"Boot with minimal options" "ro root=UUID=514a997c-a921-403d-849f-d901d26a73db"
우리는 진전을 이루고 있지만 아직 작동하지 않습니다. 라이브 USB에서 생성 중이므로 처음 두 항목은 USB의 ISO를 참조하므로 올바르지 않습니다. 하지만 최종 항목은 실제로 정확합니다. 이는 받은 오류와 마찬가지로 루트 장치를 ''
디스크의 UUID로 설정하기 때문입니다 /
.
따라서 기본 시작 옵션으로 설정하려면 다른 줄을 삭제하고 레이블을 변경하면 됩니다.
"Boot with standard options" "ro root=UUID=514a997c-a921-403d-849f-d901d26a73db"
파일을 저장하고 시스템을 다시 시작하면 이제 작동할 것입니다!
각주
물론 파일을 만드는 것은 아직 멀었습니다. 생성하기 위해 을 사용할 필요는 없으며
mkrlconf
직접 수동으로 생성할 수 있습니다. 게다가 디스크 UUID(수동으로 복사하여 입력하고 싶지 않음)를 자동으로 채운다는 것입니다.스텁 로더 기술 세부 사항(위에 링크됨)의 5단계에서는
refind_linux.conf
파일이 존재하지 않는 경우 rEFInd가 작동하는 방법을 간략하게 설명합니다/etc/fstab
. 이상한 볼륨 구성에도 불구하고 작동하지 않을 가능성이 높습니다.
답변2
파티션을 루트로 설정하고 FIFO 스크립트의 "부트로더 설치/구성" 섹션을 시도해 보십시오.https://github.com/helmuthdu/aui
이것이 도움이 되지 않는다면. Elronnd가 제안한 것처럼 내 파티션을 백업 /home
하고 FIFO/LILO 스크립트를 사용하여 새로 설치해 봅니다.
행운을 빌어요!
답변3
방금 전체 파티션을 삭제하고 다시 설치했습니다. LVM이 계속 문제를 일으키고 있습니다. 이제 완벽하게 작동합니다.