가상 디스크, 부트로더 누락. 부팅하는 방법?

가상 디스크, 부트로더 누락. 부팅하는 방법?

저는 HDD가 3개로 분할된 넷북을 가지고 있었습니다. 파티션 중 하나(예: /dev/sda2)에 Crunchbang Linux 인스턴스가 설치되어 있었습니다. 'dd' 명령(dd if=/dev/sda2 of=<...>)을 사용하여 외장 HDD에 백업했습니다.

이제 해당 넷북의 파티셔닝 구성표를 변경하여 이미지가 더 이상 더 작은 새 파티션에 맞지 않지만 이전 인스턴스의 일부 구성 파일을 보고 싶었기 때문에 원시 백업을 vmware(.dll)로 변환하기로 결정했습니다. vmdk) 파일을 생성하고 VM을 생성한 후 인스턴스를 실행합니다.

하지만..그 당시에는 백업하는 것을 잊어버린 별도의 파티션(/dev/sda1)에 /boot가 있어야 했던 것 같습니다. 이제 가상 환경에서 운영 체제를 찾을 수 없기 때문에 VMware 인스턴스가 부팅되지 않습니다. 하드 디스크.

어떤 해결책이 있습니까? 작은 가상 디스크를 만들고 VM 내부에 grub2 및 커널 이미지를 설치하고 거기에서 부팅할 수 있나요? 어떻게? 어떤 아이디어라도 감사하겠습니다!

답변1

Crashbang Linux VM을 생성하고 is에서 VM을 부팅한 다음 VMDK 또는 원본 백업을 보조 볼륨으로 마운트합니다. 이미지를 별도의 파티션으로 마운트하는 방법은 VMWare 사용자 가이드 7페이지를 참조하세요.여기.

답변2

필요한 것이 일부 파일을 찾는 것뿐이라면 VM 없이도 Linux에 .vmdk 파일을 쉽게 마운트할 수 있습니다.

 losetup /dev/loop0 /path/to/your/file.vmdk
 losetup -o 32256 /dev/loop1 /dev/loop0
 mount /dev/loop1 /your/mount/point

이 경우 트릭은 오프셋 32256에 있습니다. 이는 첫 번째 파티션에 대해 작동하지만 첫 번째 파티션을 마운트하지 않으려면 첫 번째 명령 후에 다음을 사용해야 합니다.fdisk루프 장치에서:

 fdisk -l /dev/loop0

그런 다음 오프셋은 마운트하려는 파티션의 시작 부분에 섹터당 바이트를 곱한 값입니다.

당신도 부팅하고 싶다면 나는생각하다당신이 해야 할 일은 동일한 아키텍처의 다른 Crunchbang 설치에서 /boot 디렉토리를 이전 이미지로 복사하고, chroot하고, grub을 업데이트하고, 종료하는 것입니다. 실행되지 않는 동안 Crunchbang VM의 인스턴스에서 이 작업을 수행할 수 있습니다. 새 인스턴스의 이미지를 새 vmdk 파일에 저장하고 다른 인스턴스와 마찬가지로 마운트하고 새 이미지에서 이전 이미지로 /boot를 복사하면 됩니다. , 이전 이미지로 루트를 변경하고 grub을 업데이트하세요.

관련 정보