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에 액세스하려고 할 때 루트 파티션 /bin/init만 마운트되었다는 점을 깨달았습니다.
/usr 파일 계층 구조를 루트 파티션으로 이동하여 이 문제를 해결했습니다.
리차드
답변3
별도의 /usr
파티션의 경우 initramfs/mkinitcpio를 사용해야 하며 usr-hook를 추가해야 합니다. /etc/mkinitcpio.conf
이를 정확하게 설명하는 댓글이 있습니다 . 추가 후크가 필요할 수 있으며 이는 파일 주석에 설명되어 있습니다. 나중에 initramfs를 다시 생성하십시오 mkinitcpio -P
. 예: .
/usr
배경: 현재 모든 주요 배포판은 바이너리와 라이브러리의 일관성 없는 저장으로 인해 별도의 파티션으로 인해 어느 정도 손상되었습니다. Linux Standard Base에 따르면 /bin, /sbin 및/또는 /lib를 사용해야 합니다. 대신, 대부분의 사람들은 /usr/sbin을 속이고 다른 라이브러리 경로와 혼합하기 위해 /usr/bin을 직접 만들고 채웁니다. 그 중 일부는 사용자가 물건을 망가뜨리는 것을 방지하고 사용하기 쉽게 만드는 것이며, 일부는 애초에 표준을 정한 보드가 없기 때문입니다.
최소한 Arch Linux와 Gentoo Linux는 위키에서 최신의 복잡한 설정 가이드를 제공합니다. 나는 Gentoo의 글을 읽는 것을 추천합니다.초기 사용자 공간 마운트사용자 정의 initramfs를 생성하는 데 필요한 것이 무엇인지 알아보세요. 이와 관련하여 Arch Linux는 더 높은 수준에 있습니다.
일반적인 데스크탑 시스템의 보안을 유지하거나 아주 적은 파티션으로 실행하는 것이 좋습니다. 매일 로그인하면 파일 시스템이 꽉 찼다는 사실을 금방 알 수 있습니다. 별도의 파티션(및 디스크)으로 안전하게 분할 /home
하고 다른 모든 디렉터리를 단일 파티션/OS 드라이브에 유지할 수 있습니다.
채워진 파티션으로 인해 전체 시스템이 차단되는 것을 방지하려면 데스크톱/서버가 아닌 파티션을 반드시 분할해야 합니다. 그들은 몇 달 또는 몇 년 동안 무인으로 운영됩니다. 로그, 데이터는 물론 업데이트 패키지도 자동으로 작성합니다. 남은 공간이 /tmp
없거나 /run
(배포판에 따라) 수집된 로그 또는 다운로드한 패키지 아카이브로 인해 더 이상 시스템에 로그인할 수 없습니다. /var
일부 파티션에는 RAID 장치 및/또는 복잡한 파일 시스템이 있을 수도 있습니다. 이를 위해서는 더 많은 후크와 부트로더 및 아래의 모든 항목에 대한 수동 구성이 필요합니다 /sbin/init
.