일반적으로 내비게이터와 텍스트 편집기를 사용할 때 내 OS가 충돌하여 수동으로 강제 종료하기로 결정했고 화면이 켜져 있고 OS가 로드 중일 때 initramfs를 입력해야 하는 비지박스 화면에 나타나서 다음을 입력합니다.
<initramfs> fsck /dev/sda2/
이 과정에서 저는 모든 질문에 '예'라고 답했습니다.
이제 컴퓨터를 켤 때마다 다음 화면이 나타납니다.
어떻게 진행하나요? 도움이 될 수 있는 답변을 찾기 위해 웹 전체를 검색했지만 해결책이 없는 것 같습니다. 내 Ubuntu 버전은 Ubuntu 20.04 Focal Fossa입니다.
이 게시물에서 아래 명령을 실행해 보았습니다.https://askubuntu.com/questions/910218/sbin-init-no-such-file-or-directory-not-able-to-boot-ubuntu-desktopTopHat은 커널 업데이트를 제안했지만 그렇게 했을 때 다음과 같은 문제가 sudo mount -a
발생했습니다.sudo: error while shared libraries: libselinux.so.1: cannot open shared object file: no such file or directory
답변1
커널 패닉은 이전 오류의 결과이기 때문에 여기서는 약간 빨간 청어입니다. 스크린샷에서 첫 번째 비정상적인 시작 메시지는 다음과 같습니다.
/sbin/init: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory
libselinux.so.1
그래서 지금은 파일이 없어진 것 같습니다 .
~에 따르면우분투 패키지 검색 엔진는 파일이 있어야 하는 libselinux.so.1
패키지에 있습니다 .libselinux1
/lib/x86_64-linux-gnu/libselinux.so.1
( Hardware name:
스크린샷의 행과 호출 추적에 Rxx 레지스터 이름이 있다는 do_syscall_64
것은 귀하가 64비트 x86 버전의 Ubuntu를 사용하고 있음을 알려주므로 다운로드해야 하는 패키지의 "아키텍처"는 이어야 합니다 amd64
.)
당신은해야해당 패키지를 다운로드하세요복구 부팅 미디어와 함께 사용할 수 있는 일부 미디어의 경우 아래 1, 2, 3단계를 따르세요.당신이 찾은 설명손상된 Ubuntu 설치의 루트 파일 시스템에 액세스합니다.
<boot using external media>
mount /path/to/disk /mnt
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
그런 다음 누락/손상된 라이브러리가 포함된 패키지를 현재 설치된 설치 위치에 다시 설치합니다 /mnt
.
dpkg --root=/mnt -i <path to the package>/libselinux1_3.0-1build2_amd64.deb
분명히 <path to the package>
다운로드한 파일의 실제 경로로 바꾸십시오 libselinux1_3.0-1build2_amd64.deb
.
mount
그런 다음 손상된 설치 명령을 성공적으로 사용할 수 있는지 확인하십시오 .
chroot /mnt mount -a
이로 인해 누락된 다른 라이브러리에 대한 또 다른 오류 메시지가 나타나면 "패키지 내용 검색" 섹션을 사용하세요.패키지 검색 페이지라이브러리가 포함된 패키지를 찾은 다음 동일한 방법으로 다운로드하여 다시 설치하세요.
(많은 수의 라이브러리가 손상된 경우 이 작업은 매우 지루할 수 있습니다. 이 경우 홈 디렉터리를 백업하고 다시 설치하는 것을 고려할 수 있습니다. 모든 라이브러리가 단일 디렉터리에 있는 경우 /mnt/etc
홈 디렉터리는 이제 /mnt/home
파일 시스템 에 위치해야 합니다 . 그렇지 않으면 /mnt/etc/fstab
홈 디렉터리에 액세스하기 위해 마운트해야 하는 파일 시스템을 확인하세요.)
chroot mount -a
명령이 성공 하면 chroot /mnt
chroot 환경으로 들어간 다음 최신 커널의 initramfs를 다시 빌드할 수 있습니다.
update-initramfs -u -k 5.13.0-30-generic