chroot で grub 構成を更新できません。

chroot で grub 構成を更新できません。

編集:削除を要求しましたが閉じました。

chroot BTRFS システム (/mnt/arch(/@)) の GRUB 構成を編集したいと思います。次のコマンドを実行しました。

> sudo chroot /mnt/arch/@/
> grub-mkconfig -o /boot/grub/grub.cfg

しかし、次のエラーが発生しました。/usr/bin/grub-probe: error: cannot find a device for / (is /dev mounted?).

この問題をどのように解決できますか?

答え1

chrootにインストールされていることを/dev /proc確認してください。/sys最後の2つは必要ないかもしれませんが、もし備えて常にインストールしてください。

以下を実行してこれを行うことができます(外部chroot)このコマンドは次のとおりです。

for i in /dev /proc /sys; do sudo mount -o bind $i /path/to/chroot${i}; done

私の記憶が正しい場合、Arch Linuxにはこれを自動的に実行する特別なコマンドがありますが、名前は覚えていません。

答え2

chrootディストリビューションの代わりにarch-chrootラッパー/dev固有の一般的なコマンドを使用する場合(例:need。/proc/sys

最も合理的な最新のLinuxで回復する必要があるルートファイルシステムがマウントされている場合は、/mnt/arch/@/次のコマンドが機能します。

sudo mount -o rbind /dev /mnt/arch/@/dev
sudo mount -t proc none /mnt/arch/@/proc
sudo mount -t sysfs none /mnt/arch/@/sys
sudo chroot /mnt/arch/@

準備をキャンセルするには:

exit    # = come back out of the chroot
sudo umount /mnt/arch/@/sys
sudo umount /mnt/arch/@/proc
sudo umount /mnt/arch/@/dev

答え3

arch-chroot.

arch-chroot -a

アーチパーティションを自動的に検出してマウントします。手動

arch-chroot /dev/<device name>

関連情報