Arch-Linux

Archlinux 啟動失敗:無法訪問 tty:作業控制已關閉

  • December 16, 2020

升級系統後我遇到了這個問題pacman -Syu

在升級過程中,我遇到了 python 包衝突導致升級事務中止。所以我解決了衝突:刪除python包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] #

順便說一句:正如警告所示,我正在將核心 4.18 升級到 4.19

如果更新被中止並且核心正在更新過程中,您可能仍然擁有舊核心的 initramfs,/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 以使用新核心

引用自:https://unix.stackexchange.com/questions/481857