数週間前に誤ってカーネルを更新しましたが、突然画面に奇妙なピクセルラインがありました。だから私はlinux-ltsカーネルを使ってみることにしました。ただし、ルートディレクトリにルートを変更して実行しようとすると、32ビットVoidが実行されていることgrub-mkconfig /dev/sda
がわかります。/usr/bin/grub-probe: error: cannot find a device for / (is /dev mounted?)
答え1
ルートパーティション(chroot /mnt/sysimage/など)でchrootする前に、いくつかのシステムディレクトリをマウントする必要があります。
mount --bind /proc /mnt/sysimage/proc
mount --bind /dev /mnt/sysimage/dev
mount --bind /sys /mnt/sysimage/sys
mount --bind /run /mnt/sysimage/run
その後、chroot /mnt/sysimage
grub.cfgとinitramfsを再生成します。
答え2
古いカーネルは新しい Void エントリの後ろの grub メニューにあります。新しいカーネルをテストする前にxbps-removeを使用して古いカーネルを削除した場合は、chrootを使用して機能しないUSBドライブまたは他のリカバリディスクからインストールを起動できます。 chroot の指示は Void wiki にあります。
レッスン:デフォルトでは、vkpurgeコマンドは古いカーネルを維持するため、失敗したカーネルのインストールを修復できます。