Arch Linux를 설치한 후 재부팅했지만 이제 부팅 프로세스를 완료할 수 없습니다. 이 메시지와 함께 위 화면이 나타납니다
ERROR: Boot device mounted successfully, but /sbin/init does not exist. Bailing out, you are on your own. Good luck.
sh: can't access tty; job control turned off.
그리고
[rootfs ]#
프롬프트.
라이브 디스크를 통해 확인하고 확인했습니다.스빈으로 존재한다상징적인 링크에게/usr/빈. 그러나 나는 가지고 있지 않습니다초기화내 파일/폴더/usr/빈예배 규칙서. 어디서 구해야 하나요?초기화파일/폴더? 설치 중에 한 단계를 놓쳤습니까? 이 문제를 해결하기 위해 제가 할 수 있는 일이 있나요? 감사해요.
답변1
내 의견에 따라 이 문제를 해결하기 위해 권장하는 방법은 livecd(또는 설치 환경으로 부팅하는 데 사용한 방법)를 사용하여 시스템을 재부팅하고 다음 설치 프로세스 단계를 다시 실행하는 것입니다.
이 후에도 여전히 작동하지 않으면 부트로더가 실제로 어떤 파일 시스템을 마운트하고 있는지 확인하는 것이 좋습니다. 아마도 어떤 파일의 목록을 제공할 것입니다.~이다디렉토리 에 있으면 /usr/bin
더 많은 도움을 드릴 수 있습니다.
답변2
나는 이 문제로 반나절을 보냈고 결국 내 경우의 원인은 /usr을 별도의 파티션에 설정했고 grub boot가 /usr에 액세스하려고 시도하는 지점에 루트 파티션만 마운트되었기 때문이라는 것을 깨달았습니다. /빈/초기화.
/usr 파일 계층 구조를 루트 파티션으로 이동하여 문제를 해결했습니다.
리차드
답변3
별도의 /usr
파티션을 사용하려면 initramfs/mkinitcpio를 사용해야 하며 usr-hook를 추가해야 합니다. 이에 대해 정확히 설명하는 댓글이 있습니다 /etc/mkinitcpio.conf
. 파일 주석에 설명된 추가 후크도 필요할 수 있습니다. 나중에 initramfs를 다시 생성하십시오 mkinitcpio -P
. 예: .
/usr
배경: 현재 모든 주요 배포판은 바이너리와 라이브러리의 일관성 없는 저장으로 인해 별도의 파티션으로 인해 어느 정도 손상되었습니다 . Linux Standard Base에 따르면 /bin, /sbin 및/ 또는 /lib를 사용해야 합니다. 대신 대부분은 자신의 것을 굴리고 /usr/bin을 채우고 /usr/sbin으로 속임수를 쓰고 이를 다른 라이브러리 경로와 혼합합니다. 이는 부분적으로는 사용자가 물건을 깨뜨리는 것을 방지하고 편리하게 만들기 위한 것이며 부분적으로는 모든 표준을 만드는 데 필요한 보드가 없기 때문입니다.
최소한 Arch Linux와 Gentoo Linux는 Wiki에서 정교한 설정을 위한 최신 가이드를 제공합니다. 나는 Gentoo의 글을 읽는 것을 추천합니다초기 사용자 공간 마운트사용자 정의 initramfs를 생성하는 데 무엇이 필요한지 알아보십시오. 아치 리눅스는 이에 대해 좀 더 높은 수준입니다.
일반적인 데스크톱 시스템의 경우 안전한 측면을 유지하고 파티셔닝을 거의 사용하지 않고 실행하는 것이 좋습니다. 매일 로그인하면 파일 시스템이 가득 차는 것을 매우 빠르게 인식할 수 있습니다. /home
별도의 파티션(및 디스크)으로 분할하고 다른 모든 디렉터리를 단일 파티션/운영 체제 드라이브에 보관하는 것이 안전합니다 .
데스크탑/서버가 아닌 경우 파티션을 채워서 전체 시스템을 차단하는 것을 방지해야 합니다. 그들은 몇 달 또는 몇 년 동안 무인으로 운영됩니다. 로그, 데이터를 작성하고 패키지를 자동으로 업데이트할 수도 있습니다. 에 남은 공간이 /tmp
없거나 /run
( /var
배포판에 따라) 수집된 로그 또는 다운로드한 패키지 아카이브로 인해 더 이상 시스템에 로그인할 수 없습니다 . 또한 일부 파티션에는 RAID 장치 및/또는 정교한 파일 시스템이 있을 가능성이 매우 높습니다. 이를 위해서는 더 많은 후크와 부트로더 및 아래의 모든 항목을 수동으로 구성해야 합니다 /sbin/init
.