긴 부팅 복구 프로세스 후 시스템 긴급 프롬프트가 표시됩니다. 문제: fstab 파일에 FS가 없습니다.

긴 부팅 복구 프로세스 후 시스템 긴급 프롬프트가 표시됩니다. 문제: fstab 파일에 FS가 없습니다.

이미 부팅하는 데 문제가 있는 사람들이 여러 가지 질문을 했다는 것을 알고 있지만 제 경우는 다소 특별한 경우인 것 같아서 몇 가지 새로운 문제를 해결하기 위해 또 다른 질문을 게시하고 있습니다.

더 이상 설치되지 않은 커널의 initramfs( initrd.imgvmlinuz파일이 있는 ) VM의 부팅 프로세스를 복구 중이었는데 여전히 부팅을 시도하고 있었습니다./boot

작업이 거의 끝나가는데 계속 systemd's' 로 재부팅됩니다 emergency mode(여기서: ).

You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode.
Give root password for maintenance
(or press Control-D to continue):

라이브 CD로 부팅하고 3개의 관련 파티션을 에 마운트하고 /mnt다음으로 루트를 지정했습니다 /mnt.

mount /dev/sda3 /mnt
mount /dev/sda2 /mnt/boot
mount /dev/sda1 /mnt/boot/efi
for i in proc dev dev/pts sys tmp run; do mount --bind /$i /mnt/$i; done
chroot /mnt

수리를 마치고 재부팅했습니다.

이제 fstab파티션을 마운트하지 않습니다. 나는 그것이 올바르게 구성되었다고 생각했습니다. UUID는 blkid | grep /dev/sda. 나는 그것이 아무것도 놓치고 있다고 생각하지 않았습니다.

비상 모드 프롬프트가 표시되기 직전에 표시되는 오류는 다음과 같습니다.

[FAILED] Failed to mount /boot
See 'systemctl status boot.mount' for details.
[DEPEND] Dependency failed for Local File Systems
[DEPEND] Dependency failed for Unattended Upgrades Shutdown
[DEPEND] Dependency failed for /boot/efi

그래서 물론 를 살펴봤지만 수동으로 마운트하지 않는 한 폴더가 비어 systemctl status boot.mount있어도 활성 상태(녹색)이고 로드되었다고 표시됩니다 ./boot/dev/sda2

매우 이상한 것 같습니다. 분명히 그렇지 않은데 파티션을 boot.mount로드 중이라고 말하는 이유는 무엇입니까 ?/boot

답변1

그래서 실제로 질문을 작성하는 동안 문제를 알아냈습니다. 처음에 쓴 내용을 보면 알 수 있듯이 매우 긴 과정이었습니다(2일 정도 작업하다가 도움을 요청하고 싶을 정도였습니다).

dmesgQ의 맨 끝 부분을 보면 부팅 프로세스 중에 다음 메시지를 받았습니다 .

[FAILED] Failed to mount /boot
See 'systemctl status boot.mount' for details.

그래서 물론 systemctl status boot.mount그 내용을 보려고 노력했지만 수동으로 마운트하지 않는 한 비어 있었음 boot.mount에도 불구하고 활성(녹색)이고 로드되어 제대로 작동한다고 표시되었습니다 (이는 예상한 것과 정반대입니다)./boot/dev/sda2

그래서 서비스에 문제가 있는 게 아닌가 하는 생각이 들기 시작했습니다. 비활성화 boot.mount했는데도말했다제대로 작동하고 있었습니다:

systemctl disable --now boot.mount

다시 활성화하려고 했지만 오류가 발생했습니다.

systemctl enable --now boot.mount
Failed to enable unit: Unit /run/systemd/generator/boot.mount is transient or generated

알겠습니다. 부팅 프로세스를 통해 트리거되며 사용자 명령을 통해 호출할 수 없습니다. 그래서 다음을 사용하여 모든 장치를 다시 마운트하려고했습니다.

mount -a

그리고 파일에 오류가 있는 것을 확인했습니다 /etc/fstab.

error: rw,relatime is not a valid file system

(또는 그에 상응하는 것).

여기서 핵심은 파일 시스템을 수동으로 마운트하지 않았다면 해당 피드백을 결코 받지 못했을 것이라는 것입니다. 부적절한 구문이 포함된 mount -a경우 발생하는 오류 메시지는 매우 유용합니다. fstab다음보다 훨씬 더 도움이 됩니다:

[FAILED] Failed to mount /boot
See 'systemctl status boot.mount' for details.

... 그리고 마운트되지 않은 boot.mount경우 에도 "작동하는" 시스템 장치가 표시됩니다 /boot(비록 그것이했다결국 나를 올바른 장소로 데려다주세요).

그래서 를 편집 fstab하고 마운트에 실패한 파티션에 대한 파일 시스템 정보를 입력한 다음 /boot다시 실행했고 mount -a(본질적으로 와 동일한 작업을 수행함 boot.mount) 긍정적인 응답을 받았습니다.

이제 재부팅 후 두 개의 파티션이 제대로 마운트되고 양 고추 냉이와 마멀레이드의 세계에서는 모든 것이 정상입니다.

이것이 귀하의 문제를 해결하지 못하는 경우, 제가 도움을 구했던 위의 지점에 도달하기 전에 제가 겪었던 프로세스에 대한 몇 가지 추가 참고 사항이 있습니다. 문제가 발생한 후에는 읽기를 중단하시기 바랍니다.

이틀 전에 겪었던 원래 문제는 시스템이 더 이상 시스템에 없는 커널에서 부팅을 시도하는 것이었습니다. 그래서 라이브 CD로 부팅한 후 /boot폴더 내용(모든 initrd파일이 있는 위치)을 삭제했습니다.

initramfs나는 내가 설치한 현재 커널에서 사용하여 다시 생성할 것이라고 생각했지만 혼자서는 또는 파일을 update-initramfs -c -k all다시 생성할 수 없다는 것을 알게 되었습니다 . 이것은 내가 예상했던 것보다 조금 더 골치 아픈 일이었습니다.configSystem.mapdepmod

이러한 모든 파일을 다시 생성하거나 획득하는 가장 쉬운 방법은 다음과 같습니다.

  1. 의 모든 내용을 삭제합니다 /boot.
  2. 사용하려는 의도가 없는 모든 파일 및 파일을 제거 linux-image하고 linux-header,linux-modules
  3. 의 모든 잔여 디렉토리를 삭제 /usr/lib/modules한 다음
  4. 다시 설치 linux-image하고 사용하려는 파일(가장 최근의 일반 두 버전 linux-modules)linux-headers

참고: 이 3가지 유형의 파일을 다시 설치하려면모두 동시에/boot/System.map및 파일을 다시 가져올 수 있었던 방법은 파일을 /boot/config다시 설치하기 전에는 수행 linux-image되지 않았습니다. modules(모듈이 의미가 있을 것입니다) 또는 패키지 에 포함되어 있을 수도 있지만 headers이것이 저에게 효과적이었습니다.

  1. update-grub그런 다음 해당 파일을 다시 설치한 후 실행하여 /boot올바르게 채워졌는지 확인했습니다.
  2. bootctl install또한 및 도 실행했으므로 대체용으로 설치했을 /etc/kernel/postinst.d/zz-udpate-systemd-boot것입니다 .systemd-boot

재부팅 후 어느 시점에서 나는 며칠 전에 프로그램을 실행하기 위해 그래픽 라이브 CD에 모든 마운트를 ed 했기 때문에 그래픽이 필요한 대신에 로 재구성 system.target해야 했습니다 . 일하러 가다 ):multi-user.targetgraphical.targetchrootboot-repair/dev/pts /tmp/rundisplay :0.0

systemctl set-default multi-user.target

알았어 그게 다야. 이것이 누군가에게 도움이 되기를 바랍니다.

관련 정보