すべての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つのファイルがまだ不足しています。
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
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
うまくいかない、私はより良いアイデアを考えることができません。