Virtual Box에서 원시 Linux 파티션을 사용하도록 EFI 부트 로더 구성


1

Windows 호스트의 Virtualbox에서 기존 Archlinux 설치를 시작하려고합니다. Linux는 자체 EFI 부트 로더 인 EFISTUB, Windows를 사용합니다.

-/ dev / sda1 -EFI 파티션이며 호스트에서 Linux 용 / boot로 마운트됩니다. vmlinuz-linux 및 initramfs를 포함합니다. Windows 부팅 관리자도 있습니다.

-/ dev / sda2- 리눅스 파티션

-/ dev / sda3 -Windows 파티션

파티션 sda1 및 sda2를 나타내는 .vmdk 파일을 만든 다음 관리자 권한으로 Vbox를 시작했습니다. .vmdk를 VM에 연결했습니다. 그런 다음 VM 내부의 라이브 DVD iso에서 부팅하여 실행

# efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sda2 rw initrd=/initramfs-linux.img"

(Vbox가 VM을 닫은 후 모든 EFI 변수를 지우므로 최선의 아이디어는 아닙니다. / sda1에 부트 로더가 설치되어 있지 않습니다)

Efi 부팅 옵션이 성공적으로 생성되었습니다. 그러나 그것은 원인

Waiting 10 secs for device /dev/sda2 ...
ERROR: device '/dev/sda2' not found.  Skipping fsck.
ERROR: Unable to find root device '/dev/sda2'.
You are being dropped to a recovery shell 

이 경우 EFISTUB 구성에 성공한 사람이 있습니까? 아니면 grub-efi를 시도해야합니까?


그것은 당신의 가상화 환경이 사실 /dev/sda2을 가상화 된 것에 매핑하지 않는 것처럼 보이 /dev/sda2므로 문제가됩니다. OTOH, 저는 VirtualBox에 "실제"디스크 장치에 대한 액세스 권한을 부여하는 전문가가 아니므로 여기에서 무언가를 잘못 해석 할 수 있습니다 ....
Rod Smith

@ Rod-Smith 가설에 감사드립니다. EFI 부팅 항목을 만드는 동안 / dev / sda / 대신 PARTUUID를 사용하여 확인했습니다. 이전과는 조금 다른 결과를 얻었습니다- 오류 : 루트 장치 / dev / disk / by-partuuid / MY_PARTUUID를 찾을 수 없습니다. 가상화 환경 내부의 PARTUUID는 실제 하드웨어와 동일합니다. live-dvd의 시스템은 VM 내부의 모든 파티션을 볼 수 있지만 sda1 및 sda2에만 읽고 쓸 수 있습니다.
MichaelZelenoborskyLong
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.