web-dev-qa-db-ja.com

vmlinuzがシステムにありません。修正するにはどうすればよいですか?

すべてのLinuxには、「/」の下にvmlinuzがあり、「/boot/」も付いているはずです。しかし、私のシステムにはそれがありません:

% ls -l /vmlinuz* /initrd* /boot/vmlinuz*
ls: cannot access '/vmlinuz*': No such file or directory
ls: cannot access '/initrd*': No such file or directory
ls: cannot access '/boot/vmlinuz*': No such file or directory

3つすべてを取り戻すにはどうすればよいですか?

私は試した、

apt-get install --reinstall linux-image-generic linux-headers-generic
update-initramfs -u

実際のパッケージも再インストールされるため、私が読んだ記事によると、これで問題が修正されたはずです。

% apt-get install --reinstall linux-image-generic linux-headers-generic 
Preparing to unpack .../linux-headers-generic_4.15.0.20.23_AMD64.deb ...
Unpacking linux-headers-generic (4.15.0.20.23) over (4.15.0.20.23) ...
Preparing to unpack .../linux-image-generic_4.15.0.20.23_AMD64.deb ...
Unpacking linux-image-generic (4.15.0.20.23) over (4.15.0.20.23) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Processing triggers for systemd (237-3ubuntu10) ...
Processing triggers for man-db (2.8.3-2) ...
Setting up linux-image-generic (4.15.0.20.23) ...
Setting up linux-headers-generic (4.15.0.20.23) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for systemd (237-3ubuntu10) ...

しかし、上記の3つのファイルがまだ不足しています。

2
xpt
apt-get install --reinstall linux-image-generic

実際のカーネルコードを含まない空のパッケージのみを再インストールしますが、プルする依存関係に対してのみ存在します。

欠落している/bootファイルを回復するために代わりに(再)インストールする必要があるのは、現在 linux-image-generic によって依存関係として示されているパッケージです。今日は linux-image-4.15.0-20-generic です。そう:

apt-get install --reinstall linux-image-4.15.0-20-generic

不足しているファイルが(再)表示されるはずです。実際には、最小限必要なファイル/boot/vmlinuz-4.15.0-20-genericのみが含まれています。また、その依存関係 linux-modules-4.15.0-20-generic を再インストールすると、/bootにある他のいくつかの欠落ファイルが回復されます( list によると):

/boot/System.map-4.15.0-20-generic
/boot/abi-4.15.0-20-generic
/boot/config-4.15.0-20-generic
/boot/retpoline-4.15.0-20-generic
2
A.B

apt-get install --reinstallどうやら役に立たなかったので、最初にすべてを削除してから、再度インストールすることにしました。

apt-get --purge remove linux-headers-4.15.0-20 linux-headers-4.15.0-20-generic linux-image-4.15.0-20-generic
apt-get install linux-image-generic linux-headers-generic 

% ls -l /vmlinuz* /initrd* /boot/vmlinuz* /boot/initrd*
-rw-r--r-- 1 root root 57592934 Apr 28 16:55  /boot/initrd.img-4.15.0-20-generic
-rw------- 1 root root  8249080 Apr 24 04:42  /boot/vmlinuz-4.15.0-20-generic
lrwxrwxrwx 1 root root       33 Apr 28 16:54  /initrd.img -> boot/initrd.img-4.15.0-20-generic
lrwxrwxrwx 1 root root       33 Apr 28 16:54  /initrd.img.old -> boot/initrd.img-4.15.0-20-generic
lrwxrwxrwx 1 root root       30 Apr 28 16:54  /vmlinuz -> boot/vmlinuz-4.15.0-20-generic
lrwxrwxrwx 1 root root       30 Apr 28 16:54  /vmlinuz.old -> boot/vmlinuz-4.15.0-20-generic

多分それは強すぎるが、apt-get install --reinstallうまくいかない、私はより良いアイデアを考えることができません。

0
xpt