![更新后无法启动 archlinux:找不到 uuid](https://linux22.com/image/115131/%E6%9B%B4%E6%96%B0%E5%90%8E%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%20archlinux%EF%BC%9A%E6%89%BE%E4%B8%8D%E5%88%B0%20uuid.png)
我用“pacman -Syu”更新了 archlinux,然后当我重新启动时,系统无法启动。这是报告:
Warning: /lib/modules/4.11.9-1-ARCH/modules.devname not found - ignoring
version 232
Error: device 'UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d' not found. Skipping fsck.
Error: can't find UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d
You are now being dropped into a emergency shell.
Can't access tty: job control turned off
在那个外壳中我的键盘不起作用。
我正在尝试使用 archlinux 的 livecd:安装分区并使用 chroot。我在“/etc/fstab”中检查根分区的uuid。这是我的 fstab:
# /dev/sda2 UUID=b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d / ext4 rw,relatime,data=ordered 0 1
# /dev/sda1 UUID=FBA9-977B /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
# /dev/sda4 UUID=a43b8426-c93a-4f32-99c8-9dd5cf645373 /home ext4 rw,relatime,data=ordered 0 2
# /dev/sda3 UUID=9eec735e-3157-4e0e-a5c6-ef3a7c674201 none swap defaults 0
这是“lsblk -f”的结果
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 squashfs /run/archiso/sfs/airootfs
sda
├─sda1 vfat FBA9-977B
├─sda2 ext4 b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d /mnt
├─sda3 swap 9eec735e-3157-4e0e-a5c6-ef3a7c674201
└─sda4 ext4 a43b8426-c93a-4f32-99c8-9dd5cf645373 /mnt/home
我已经用“pacman -Syu”再次更新了系统,并尝试制作“mkinitcpio -p linux”,但它没有解决问题(尽管命令的结果是好的)。这是报告:
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.11.9-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [block]
-> Running build hook: [block]
WARNING: Possubly missing firmware for module: aic94xx
WARNING: Possubly missing firmware for module: wd719x
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.11.9-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [block]
WARNING: Possubly missing firmware for module: aic94xx
WARNING: Possubly missing firmware for module: wd719x
-> Running build hook: [modconf]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
我尝试更改“/etc/mkinitcpio.conf”中HOOKS的顺序。但这不起作用。这是当前的订单:
base udev block autodetect modconf filesystems keyboard fsck
“uname -r”返回:
4.11.7-1-ARCH
“pacman -Q linux”返回:
linux 4.11.9-1
警告文件“/lib/modules/4.11.9-1-ARCH/modules.devnam”存在。
我尝试安装并使用“linux-lts”,但结果是一样的。我使用 grub,也尝试重新配置它。
我能做些什么?
答案1
我只是忘记了安装引导(谢谢你,jasonwryan)。
就我而言,这个问题的解决方案是:
- 使用 livecd 挂载所有分区并使用 chroot。
更新:
吃豆人-Syu
使用以下命令重新生成 initramfs:
mkinitcpio -p linux
如果您使用 grub:
grub-mkconfig -o /mnt/boot/grub/grub.cfg
重新开始。
答案2
这是对我有用的(antergos,与 Windows 10 双重启动)。这是对上面答案的轻微修改。
- 使用实时 USB 挂载根分区和启动分区。这些命令是这里。在本例中,我的引导分区是 EFI 引导(FAT)分区。
更新:
吃豆人-Syu
使用以下命令重新生成 initramfs:
mkinitcpio -p linux
如果您使用 grub:
grub-mkconfig -o /boot/grub/grub.cfg
重新开始。