起動できず、(initramfs) で終了し、カーネルパニックが発生する

起動できず、(initramfs) で終了し、カーネルパニックが発生する

Linux カーネル パッケージのアップグレード中にいくつかのエラーapt(イメージが保存されているブート パーティションのディスク領域不足など) が発生し、起動できなくなりました。

まず、私のセットアップでは、ハードディスクが 1 つあり、/dev/sdaブート パーティションが 1 つあります/dev/sda1(これはカーネル イメージが保存される場所で、/boot にマウントされています)。「ルート」パーティションは です/dev/mapper/ubuntu--vg--usbkey-root

より正確に:

$ sudo fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device     Boot  Start       End   Sectors   Size Id Type
/dev/sda1  *      2048    499711    497664   243M 83 Linux
/dev/sda2       501758 976771071 976269314 465.5G  5 Extended
/dev/sda5       501760 976771071 976269312 465.5G 8e Linux LVM

$ ls /dev/mapper
control  ubuntu--vg--usbkey-root  ubuntu--vg--usbkey-swap_1

$ sudo lvs
  LV     VG               Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   ubuntu-vg-usbkey -wi-a----- 457.51g                                                    
  swap_1 ubuntu-vg-usbkey -wi-a-----  <7.96g

$ lsblk
NAME                     MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                      7:0    0   1.7G  1 loop /rofs
loop1                      7:1    0  86.6M  1 loop /snap/core/4486
loop2                      7:2    0   140M  1 loop /snap/gnome-3-26-1604/59
loop3                      7:3    0   1.6M  1 loop /snap/gnome-calculator/154
loop4                      7:4    0  12.2M  1 loop /snap/gnome-characters/69
loop5                      7:5    0    21M  1 loop /snap/gnome-logs/25
loop6                      7:6    0   3.3M  1 loop /snap/gnome-system-monitor/36
sda                        8:0    0 465.8G  0 disk 
├─sda1                     8:1    0   243M  0 part 
├─sda2                     8:2    0     1K  0 part 
└─sda5                     8:5    0 465.5G  0 part 
  ├─ubuntu--vg--usbkey-root
  │                      253:0    0 457.5G  0 lvm  /mnt
  └─ubuntu--vg--usbkey-swap_1
                         253:1    0     8G  0 lvm  
sdb                        8:16   1   1.9G  0 disk /cdrom
├─sdb1                     8:17   1   1.8G  0 part 
└─sdb2                     8:18   1   2.3M  0 part 
sr0                       11:0    1  1024M  0 rom  

私の最後の試みは、この記事

そこで私は次のことを行いました:

$ sudo mount /dev/sda1 /mnt/boot/
$ sudo mount /dev/mapper/ubuntu--vg--usbkey-root /mnt/
$ sudo mount -t proc none /mnt/proc
$ sudo mount -o bind /dev /mnt/dev
$ sudo mount -t sysfs sys /mnt/sys
$ sudo chroot /mnt

# update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-127-generic
Found initrd image: /boot/initrd.img-4.4.0-127-generic
Found linux image: /boot/vmlinuz-4.4.0-124-generic
Found initrd image: /boot/initrd.img-4.4.0-124-generic
Found linux image: /boot/vmlinuz-4.4.0-116-generic
Found initrd image: /boot/initrd.img-4.4.0-116-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
done

この警告は問題でしょうか? とにかく、私は次のことを行いました:

# /usr/sbin/grub-install --recheck --no-floppy /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

その後、再起動するとプロンプトが表示されました(initramfs)。画面には次のエラー メッセージが表示されました。

fsck: error 2 (No such file or directory) while executing fsck.ext2 for /dev/sda1

ただし、起動可能な USB キーから/dev/sda1をチェックしたところ、エラーは報告されませんでした... も同様です。fsck/dev/sda5/

また、コマンド

(initramfs) ls /root

の内容を報告します/dev/sda1。ただし、予想される内容の他に、ディレクトリ も存在します/root/boot/grub

(initramfs) ls /root/boot/grub
fonts locale grubenv i386-pc

ランニング

(initramfs) exit

画面は次のように終わります

end Kernel panic - not syncing: Attempted to kill init! 

これらすべてが私にとって非常に混乱を招きます。 何かご提案があれば、ぜひお聞かせください。

答え1

まず、ブート パーティションが 243 MB を占めている場合は、ブート パーティションに少なくとも 1 つのバックアップ カーネルがあると思われます。GRUB の高度なブート オプションで古いカーネル バージョンを起動して、起動できるかどうかを確認してみましたか? (Ubuntu では、起動中に Shift キーを押すと GRUB メニューが表示されます)

すでに試したところによると、これらのコマンドは一般に起動しないシステムを修復するのには役立ちますが、どれも (私の理解では) ブート パーティションの使用領域を削減したり、領域容量を増やしたりすることはできません。

私の最初の推測は、ブート パーティションに新しいカーネルのファイル全体が収まらなかったが、不完全なカーネルが grub のプライマリ ブート オプションとして設定されたということでしょう。

関連情報