it-swarm-ja.com

更新後に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」でフックの順番を変えてみました。しかし、それは機能しません。これは現在の順序です:

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を使用し、それも再構成しようとしました。

私に何ができる?

10
Lifka

マウントブーツを忘れてしまいました(ありがとう、jasonwryan)。

この問題の解決策は、私の場合:

  1. Livecdを使用してすべてのパーティションをマウントし、chrootを使用します。
  2. 更新:

    パックマン-Syu

  3. 以下を使用してinitramfsを再生成します。

    mkinitcpio -p linux

  4. Grubを使用する場合:

    grub-mkconfig -o /mnt/boot/grub/grub.cfg

  5. 再起動。

10
Lifka

これが私のために働いたものです(antergos、windows 10でデュアルブート)。上記の答えを少し変更したものです。

  1. ライブUSBを使用して、ルートパーティションとブートパーティションをマウントします。これらのコマンドは here です。この場合、私のブートパーティションはEFIブート(脂肪)パーティションでした。
  2. 更新:

    パックマン-Syu

  3. 以下を使用してinitramfsを再生成します。

    mkinitcpio -p linux

  4. Grubを使用する場合:

    grub-mkconfig -o /boot/grub/grub.cfg

  5. 再起動。

0
Fleming