dd'ed Windows 파티션을 부팅할 수 없습니다.

dd'ed Windows 파티션을 부팅할 수 없습니다.

어제까지는 파티션 스키마에 만족했습니다.

Device         Boot   mounted at    
/dev/nvme0n1p1 *      /boot/efi
/dev/nvme0n1p2        swap
/dev/nvme0n1p3        /             ext4
/dev/nvme0n1p6        /media/Volume ext4
/dev/nvme0n1p5        /home         ext4

나는 또한 가상 박스와 함께 Windows 10을 사용하는데, vdi는 /home 어딘가에 있습니다.

이제 나는 vdi의 크기를 확대해야 하며 가능하더라도 내 /home에 100GB vdi 파일을 갖고 싶지 않습니다. 기본적으로 Windows를 부팅할 수 있다는 아이디어에 감사하고 디스크에 100GB 이상의 분할되지 않은 공간이 있기 때문에

  1. 원시 img 생성:VBoxManage internalcommands converttoraw Win7.vdi win10.img
  2. 분석된 출력:parted win10.img unit B print

Number Start End Size Type File system Flags 1 1048576B 105906175B 104857600B primary ntfs boot 2 105906176B 54022924799B 53917018624B primary ntfs 3 54023684096B 54522806271B 499122176B primary ntfs diag

  1. /dev/nvme0n1p7gparted를 사용하여 포맷되지 않은 파티션을 생성했습니다.
  2. win10.img에서 두 번째 파티션을 복사했습니다.sudo dd if=.local/win10.img of=/dev/nvme0n1p7 skip=105906176 count=53917018624 iflag=skip_bytes,count_bytes

이제 로 마운트하면 sudo mount /dev/nvme0n1p7 /media/xWindows가 적절하게 종료되지 않았으며 ro로 마운트해야 한다고 불평합니다. . ntfsfix​에 견고한 Windows 설치가 있는 것 같습니다 /dev/nvme0n1p7.

불행히도 grub이 아닌 가상 상자를 사용하여 부팅할 수 없습니다. VirtualBox의 경우 VBoxManage internalcommands createrawvmdk -filename win10.vmdk -rawdisk /dev/nvme0n1 -partitions 7. vbox를 시작한 후 검은 화면이 나타나고 그게 전부입니다. grub의 경우 다음을 편집했습니다 /etc/grub.d/40_custom.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows 10 (loader) (on /dev/nvme0n1p7)" {
 insmod part_msdos
 insmod ntfs
 set root='(hd0,msdos7)'
 chainloader +1
}

그런 다음 실행합니다 sudo update-grub. 표시됩니다 error: not a valid root device.

grub은 Windows를 직접 시작할 수 없고 전용 Windows 부트로더(체인로더)만 시작한다는 내용을 읽었습니다. 제 생각엔 그런 게 없다는 게 문제인 것 같아요.

내 질문: Windows 부트로더를 어떻게 구하고 설치할 수 있나요? vbox로 파티션을 어떻게 부팅할 수 있나요?

답변1

문제를 해결하지는 못했지만 전체 시스템을 다시 설치했습니다(먼저 Windows 10을 설치한 다음 라이브 Linux에서 Windows 파티션을 축소하고 Arch용 새 파티션을 만든 다음 여기에 Arch를 설치합니다). 사용재정의, Windows나 Arch로 부팅할 수 있습니다. Arch에서 다음을 사용하여 VirtualBox에서 Windows를 부팅할 수 있습니다.원시 디스크.

가장 어려운 문제는 다음과 같습니다.

  1. 어떤 파티션을 사용해야 합니까? 없기그만큼윈도우 파티션. 오히려 4가지가 있습니다.

    • 기본 데이터 파티션(ntfs, 500MiB)
    • EFI 시스템 파티션(fat32, 100MiB)
    • Microsoft 예약 파티션(?, 16MiB)
    • 기본 데이터 파티션(ntfs, 100GiB)

    해결 방법: 4개( VBoxManage internalcommands createrawvmdk -filename /whatever/you/want.vmdk -rawdisk /dev/nvme0n1 -partitions 1,2,3,4 -relative)를 모두 사용하세요. 모두 필요한지 확실하지 않지만 작동합니다.

  2. Virtual Box가 부팅되지 않습니다. 모든 정보(위에 언급된 모든 파티션)가 있더라도: efi 모드를 활성화합니다( Settings-> System-> Enable EFI (special OSes only)).

  3. 권한 문제: 사용자를 disk-group: 에 추가하세요 sudo usermod -a -G disk $USER.

관련 정보