更新後無法啟動archlinux:找不到uuid
我用“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,我也嘗試重新配置它。
我能做些什麼?
我只是忘記了安裝啟動(謝謝,jasonwryan)。
就我而言,這個問題的解決方案是:
- 使用 livecd 掛載所有分區並使用 chroot。
- 更新:
吃豆人-Syu 3. 使用以下命令重新生成 initramfs:
mkinitcpio -p linux 4. 如果你使用 grub:
grub-mkconfig -o /mnt/boot/grub/grub.cfg 5. 重新開始。
這對我有用(antergos,使用 Windows 10 雙啟動)。這是對上述答案的輕微修改。
- 使用 live usb 掛載根分區和引導分區。這些命令在這裡。在這種情況下,我的引導分區是 EFI-boot (fat) 分區。
- 更新:
吃豆人-Syu 3. 使用以下命令重新生成 initramfs:
mkinitcpio -p linux 4. 如果你使用 grub:
grub-mkconfig -o /boot/grub/grub.cfg 5. 重新開始。