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마지막 두 개는 필요하지 않을 수도 있지만 만일을 대비해 항상 설치합니다.

다음을 실행하여 이 작업을 수행할 수 있습니다(외부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>

관련 정보