다음에 문제가 발생했습니다. pacman -Syu
를 통해 시스템을 업그레이드합니다.
업그레이드하는 동안 업그레이드 트랜잭션이 중단되는 파이썬 패키지 충돌이 발생했습니다. 그래서 충돌을 해결했습니다. pip uninstall pkg_name
로 파이썬 패키지를 제거한 다음 pacman -Syu
를 다시 시도했습니다. 이번에는 더 이상 오류가 없습니다.
그런 다음 시스템을 재부팅했는데 문제가 발생했습니다.
Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring starting version 239 /dev/nvme0n1p2: clean, 968023/31227904 files, 27066236/124895569 blocks mount: /new_root: unknown filesystem type "ext4" You are now being dropped into an emergency shell, sh: can"t access tty: job control turned off [rootfs] #
BTW : 경고에서 알 수 있듯이 커널 4.18을 4.19로 업그레이드했습니다.
댓글
답변
업데이트가 중단되고 커널이 업데이트되는 중이라면 /boot
부팅을 방지 할 수있는 새 커널을 설치하는 동안. 이것은 /boot
파티션을 올바르게 마운트하는 것을 잊은 경우 새로 설치된 시스템에서도 발생할 수 있습니다.
이 문제를 해결하는 가장 쉬운 방법은 archlinux로 부팅하는 것입니다. 설치 미디어, chroot
를 수행하고 pacman
# mount /dev/yourrootdisk /mnt # mount /dev/yourbootdisk /mnt/boot # if needed # mount /dev/yourefipartition /mnt/boot/EFI # if you use EFI (optionnal) # arch-chroot /mnt # pacman -S linux
를 사용하여 커널을 다시 설치합니다.
수정해야하는 파일은 /boot/initramfs-linux.img
및 /boot/initramfs-linux-fallback.img
이므로 EFI 파티션을 마운트 할 필요가 없습니다.
어떤 이유로 pacman
를 사용할 수없는 경우 mkinitcpio
를 직접 실행하여 사용할 initramfs를 다시 생성 할 수도 있습니다. 새로운 커널
댓글
- 답은 맞지만 사람들에게 iv id = “를 권하지 마십시오. 마세요 791fa1af48 “>
, 끔찍한 조언이며 파손으로이 끕니다 .
pacman -Syu
명령이 부팅 할 수 없기 전에 충돌없이 실행 되었기 때문입니다. . 내 설정에 문제가있을 수 있습니다. 가능하다면 내 pacman.log를 확인하여 ' 누락 된 것이 있는지 알려주시겠습니까? 가능한 경우 파일 링크 : ix.io/2s1w 답변
텍스트 can"t access tty: job control turned off
는 작업 제어가 작동하지 않는다는 셸의 알림입니다. 즉, Ctrl + C 또는 Ctrl +로 프로그램을 중지 할 수 없습니다. Z .
문제는 위의 줄에서 볼 수 있으며 해당 줄 위에있는 것은 다음과 같습니다.
Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4"
그것 커널 모듈을 찾을 수없고 ext4
모듈이없고 ext4
루트 파일 시스템을 마운트하지 않는 것 같습니다.
대부분의 배포판은 새 커널에 문제가있는 경우 이전 커널을 삭제하지 않으므로 이전 커널로 부팅 해보십시오.
그래도 작동하지 않으면 라이브 시스템을 부팅하고 일치하는 모듈이있는 이전 커널, 새 커널 또는 작동하는 커널을 설치합니다.
initrd 파일 시스템 생성에 문제가있을 수도 있습니다. 는 어떤 이유로 포함되지 않았습니다. 이 경우 라이브 시스템을 부팅하고 ext4
로 initrd를 다시 만든 다음 재부팅 할 수 있습니다.
설명
- Arch는 이전 커널을 제거 합니다. OP '의 문제는 업그레이드 중에 / boot가 마운트되지 않았으므로 ' 설치된 모듈이 커널과 일치하지 않는다는 것입니다.
- @jasonwryan / boot가 마운트되지 않은 경우 일치하는 커널과 initrd가 루트 파일 시스템에 있어야하므로 여기에서로드 할 수 있어야합니다.
- 반드시 그런 것은 아닙니다. 실제 / boot가 맨 위에 마운트되거나 initrd가 손상 될 수 있습니다. 유일한 안전한 방법은 chroot하고 수정하는 것입니다.
답변
아래 명령을 내려주세요.
mdev -s
내 qemu 명령은
qemu-system-x86_64 \ -s \ -kernel bzImage \ -initrd initrd.img.gz \ -smp 4 \ -m 1024 \ -append "console=ttyS0 root=/dev/ram " \ -monitor vc -serial stdio \ -nographic
mdev -s
내 /init
파일에 있습니다.
도움이 되었기를 바랍니다.
pacman -Q linux && uname -r
의 출력으로 질문을 수정합니다.Warning
에 의해 차단되었습니다. 하지만 마지막으로 재부팅하기 전에uname -r
를 실행했고 출력 커널 버전이 여전히 4.18.xxx였습니다./
및/boot
가 마운트 된 다음 Linux를 다시 설치합니다.