원료: LinuxMint(메인 시스템) 및 이전 Windows 7 이미지를 포함한 기타 운영 체제가 포함된 실행 시스템입니다. 시스템은 아무런 문제 없이 GRUB2를 통해 Ubuntu 및 Windows로 부팅됩니다.
다음은 시스템의 파티션 맵입니다.
(parted) print
Modell: ATA HGST HTS721010A9 (scsi)
Festplatte /dev/sda: 1000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: msdos
Disk-Flags:
Nummer Anfang Ende Größe Typ Dateisystem Flags
1 1049kB 252GB 252GB primary ntfs boot
4 252GB 306GB 54,6GB extended
6 252GB 273GB 21,0GB logical ext4
5 273GB 306GB 33,6GB logical linux-swap(v1)
2 306GB 359GB 52,4GB primary ext4
3 359GB 983GB 624GB primary ext4
파티션 1에는 가상 볼륨으로 변환할 이전 W7 이미지가 들어 있습니다.
상상하다:
- Windows에서 disk2vhd 도구를 사용하여 기존 레거시 W7 시스템을 VM 이미지로 변환합니다. 결과 w7.vhdx 이미지 파일 ✓ (참고: 이 이미지는 이미 QEMU 및 Super Grub2 디스크를 통해 부팅될 수 있습니다.)
- qemu-image를 사용하여 w7.vhdx를 qcow2 형식으로 변환✓
qemu-system-x86_64 -enable-kvm -m 4096M -hda 'w7.qcow2' -vga virtio -usb -device usb-tablet -device usb-host,bus=usb-bus.0,hostbus=1,hostport=1.2 -cdrom /dev/sr0
❌ => w7.qcow2 시작 => grub 복구를 위해 시스템 부팅 사용- 재시작
qemu-system-x86_64 -enable-kvm -m 4096M -hda 'w7.qcow2' -vga virtio -usb -device usb-tablet -device usb-host,bus=usb-bus.0,hostbus=1,hostport=1.2 -cdrom /dev/sr0 -boot menu=on
- Esc 키를 누르고 DVD 드라이브의 Super Grub2 디스크에서 부팅합니다. ✓ => Windows 시스템을 부팅할 수 있으며 모든 것이 정상입니다.
- Live Stick 또는 Ubuntu DVD에서 부팅을 시도 중 ❌ => 시스템이 중단됨(w7.qcow2에서 W7 시스템으로 직접 부팅할 수 있도록 GRUB2를 다시 설치해 보았습니다)
관찰 결과:
분명히 disk2vhd는 디스크의 파티션 레이아웃을 재현합니다. Super Grub은 드라이브의 원시 파티션(위 참조)을 나열하며, 그 중 "파일 시스템이 감지되지 않음"이 유일한 파티션입니다.예외올바른 파일 시스템 유형 NTFS와 올바른 크기를 가진 복사된 W7 파티션입니다.
분리된:
(parted) print disk
Fehler: W7.VHDX: unbekannte Partitionstabelle
디스크:
Festplatte W7.VHDX: 226,3 GiB, 242934087680 Bytes, 474480640 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
질문: QEMU가 Windows 시스템으로 직접 부팅하거나 Windows를 기본 시스템으로 사용하는 GRUB 부팅 메뉴로 부팅할 수 있도록 w7.qcow2의 시작을 수정하는 방법은 무엇입니까?
논평: 이 문제를 해결하기 위해 kpartx, losstup 및 /dev/loop0을 사용해 보았으나 소용이 없었습니다.
답변1
다음은 가상화된 Windows 7 시스템으로 직접 부팅할 수 있는 QEMU/KVM용 부팅 가능한 VM을 생성하는 단계입니다. 내 시스템은 GRUB2를 부팅 관리자로 사용합니다(시스템이 다른 경우 필요에 맞게 다음을 조정해야 할 수도 있습니다).
전제 조건: Windows 7 DVD(사용 가능한 ISO 이미지가 없는 경우 Microsoft에서 ISO 이미지 다운로드), Windows 라이센스 키, CD의 SuperGRUB2 디스크(www.supergrubdisk.org에서 다운로드).
- GRUB2 메뉴에서 기존 레거시 W7 시스템을 부팅합니다.
- DISK2VHD 도구를 다운로드합니다. 변환을 시작하기 전에 7Zip 또는 유사한 소프트웨어가 Windows에 설치되어 있는지 확인하는 것이 가장 좋습니다.
- DISK2VHD로 기존 시스템을 변환합니다(일반적인 Windows 혼란을 미리 정리해야 할 수도 있음). 그러면 .VHDX(필자의 경우 w7.vhdx) 파일이 생성됩니다. (참고: 이 이미지는 이미 QEMU 및 SuperGrub2 디스크로 부팅 가능합니다.)
- qemu-image를 사용하여 w7.vhdx를 qcow2 형식(또는 원하는 다른 형식)으로 변환하세요.
- DVD 드라이브의 SuperGRUB2 디스크를 사용하여 명령으로 w7.qcow2를 시작합니다
qemu-system-x86_64 -enable-kvm -m 4096M -drive file=w7.qcow2 -vga virtio -cdrom /dev/sr0 -boot menu=on
(이는 w7.qcow2가 있는 디렉터리에서 명령을 실행한다고 가정합니다. 그렇지 않으면 전체 경로를 제공합니다(예: /home/W7/w7.qcow2). 내 경우에는 lsblk가 알려줄 것을 모르는 경우에 대비해 CDROM 장치에 다른 이름이 있을 수도 있습니다. 시스템이 시작되면 ESC를 눌러 부팅 메뉴로 들어갑니다. 시스템이 grub 복구로 부팅되면 재부팅하고(기존의 Ctrl-Alt-Del) ESC를 눌러 부팅 메뉴로 들어갑니다. - DVD에서 부팅을 선택합니다. SuperGRUB 메뉴가 나타나고 검색된 Windows(제 경우에는 2개)가 나열됩니다. Windows 시스템을 선택하고 실행합니다. 이제 모든 것이 잘 작동할 것입니다. 그러나 첫 번째 부팅은 느리고 Windows는 여러 장치 드라이버를 설치합니다. 재부팅하기 전에 이 작업을 수행하십시오!
- QEMU Windows 시스템의 화면 해상도는 형편없을 가능성이 높으므로 필요에 맞게 조정하세요. 다음으로 명령 프롬프트를 열고
bootrec.exe /?
. Windows에서는 사용할 수 있는 bootrec 명령이 없다고 말할 가능성이 높습니다. 그렇지 않고 bootrec의 도움말이 표시되면 아래 10단계를 계속 진행하세요. - 이제 Windows DVD가 필요합니다(bootrec.exe는 Microsoft에서 다운로드할 수 없지만 Windows 7 ISO에서 사용 가능). QEMU 모니터에서 SuperGRUB 디스크를 꺼내고 Windows DVD로 변경합니다.
- 7Zip(또는 WIM 파일을 읽을 수 있는 다른 도구)을 사용하여 \sources\boot.wim을 엽니다. Bootrec.exe는 \1\Windows\System32에 있습니다. 압축을 풀고 C: 드라이브에 저장하세요.
- Windows 명령 프롬프트에서 실행
bootrec /fixmbr
한 다음bootrec /fixboot
장치 드라이버 설치가 완료되었는지 확인하고 마지막으로shutdown /s /t 0
명령 프롬프트에서 시스템을 종료하십시오(그렇지 않으면 시스템이 최대 절전 모드로 전환될 수 있음).
이거 야. 원래 설정을 보존하려면 QEMU 오버레이 이미지를 사용하여 가상 W7을 부팅하는 것이 가장 좋습니다.