%20%E3%81%A7%E7%B5%82%E4%BA%86%E3%81%97%E3%80%81%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%91%E3%83%8B%E3%83%83%E3%82%AF%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B.png)
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 のプライマリ ブート オプションとして設定されたということでしょう。