Grub, USB 다중 부팅 우분투 및 Windows 10 설치 디스크

Grub, USB 다중 부팅 우분투 및 Windows 10 설치 디스크

USB 플래시 드라이브 멀티 부팅 설치, 우분투 및 Windows 10을 수행했습니다.

sudo parted -s /dev/sdb mklabel msdos

sudo parted -s /dev/sdb mkpart primary 1MiB 551MiB

sudo parted -s /dev/sdb set 1 esp on
sudo parted -s /dev/sdb set 1 boot on

sudo mkfs.fat -F32 /dev/sdb1
sudo parted -s /dev/sdb mkpart primary 551MiB 100%

sudo mkfs.ext4 /dev/sdb2

sudo mkdir /media/{efi,data}

sudo mount /dev/sdb1 /media/efi
sudo mount /dev/sdb2 /media/data

sudo grub-install --target=i386-pc --recheck --boot-directory="/media/data/boot" /dev/sdb
sudo grub-install --target=x86_64-efi --recheck --removable --efi-directory="/media/efi" --boot-directory="/media/data/boot"

그런 다음 iso용 폴더를 만들고 거기에 필요한 iso를 복사했습니다.

sudo mkdir /media/data/boot/iso
sudo chown 1000:1000 /media/data/boot/iso

hosek@yoga:/media$ ls -la /media/data/boot/iso/
total 7911028
drwxr-xr-x 2 hosek hosek       4096 čen 23 10:40 .
drwxr-xr-x 4 root  root        4096 čen 23 10:38 ..
-rw-rw-r-- 1 hosek hosek 3285123072 dub 20 09:09 ubuntustudio-19.04-dvd-amd64.iso
-rw-rw-r-- 1 hosek hosek 4815753216 čen 13 09:24 Win10_1903_V1_Czech_x64.iso
hosek@yoga:/media$ 

이제 그것을 삽입합니다./media/data/boot/grub/grub.cfg문서.

menuentry "ubuntustudio-19.04-dvd-amd64.iso" {
isofile="/boot/iso/ubuntustudio-19.04-dvd-amd64.iso"
loopback loop "${isofile}"
linux (loop)/casper/vmlinuz iso-scan/filename="${isofile}" file=/cdrom/preseed/ubuntustudio.seed boot=casper quiet splash ---
initrd (loop)/casper/initrd
}

menuentry "Win10_1903_V1_Czech_x64.iso" {
# Insert modules needed in order to access the iso-file
insmod part_gpt
#insmod part_msdos
insmod ntfs
insmod ext4
# Insert module needed in order to find partition
insmod search_fs_uuid

# Set UUID of partition with the iso-image
# and let grub2 find the partition
# (save it's identifier to the variable $root)
set uuid="8ff5d218-2b0c-471c-8356-98686a351111"
search --no-floppy --set=root --fs-uuid $uuid

# Mount the iso image by addressing it with (partition)/path
set iso=/boot/iso/Win10_1903_V1_Czech_x64.iso
loopback loop ($root)$iso

# boot (chain-load) the image using the cdboot.efi file located
# on the win10-image
chainloader (loop)/efi/microsoft/boot/cdboot.efi
}

컴퓨터를 다시 시작하고 USB로 부팅하면 메뉴가 표시됩니다.

ubuntustudio-19.04-dvd-amd64.iso
Win10_1903_V1_Czech_x64.iso

ubuntustudio-19.04-dvd-amd64.iso를 선택하면 작동합니다. 하지만 Win10_1903_V1_Czech_x64.iso를 선택하면 파일이 표시됩니다./efi/microsoft/boot/cdboot.efi찾을 수 없습니다.

문제가 어디에 있을 수 있습니까? 그렇다면 Windows 7 설치는 어떻습니까? 그럽 메뉴는 동일합니까?

감사해요.

답변1

ISO 파일에서 Windows를 부팅하고 설치할 수 없다는 것은 사실이지만 다음을 수행할 수 있습니다.

  1. GPT 생성

  2. 두 개의 파티션을 만들고 파일 시스템을 만듭니다.

    1. NTFS의 대형 파티션(0x0700 유형, 첫 번째 파티션이어야 함, 그렇지 않으면 Windows 설치 프로그램에서 이를 인식하지 못할 수 있음)
    2. FAT가 있는 작은 파티션(FAT16의 경우 10MB, FAT32의 경우 100MB)(유형 0xef00, EFI 시스템 파티션)
  3. 다운로드NFS:UEFI, 파일의 압축을 풀고 FAT16:\efi\boot\bootx64.efi가 존재하도록 ESP에 넣습니다.

  4. Windows Installer .iso의 콘텐츠를 NTFS 파티션으로 추출합니다.

  5. NTFS:\efi\boot\bootx64.efi를 NTFS:\efi\boot\windows.efi로 이동합니다.

  6. NTFS:UEFI를 멀리 이동하려면 일시적으로 FAT:\efi 이름을 바꾸세요.

  7. FAT ESP에 grub을 설치하려면 --removable 옵션을 사용하십시오.

  8. FAT:\efi를 NTFS:\efi로 이동하고 내용을 병합합니다(grubx64.efi의 이름을 Microsoft로 변경했음을 기억하세요).

  9. 6단계를 실행 취소합니다.

  10. FAT:\boot\grub\grub.cfg에 grub.cfg를 만듭니다.

     menuentry "Windows 10 Setup EFI" {
         search --file --set=root --no-floppy /efi/boot/windows.efi
         chainloader /efi/boot/windows.efi
     }
    
  11. FAT:/.disk/info 파일을 생성합니다(제거 가능한 모드에서 grub은 "부팅" 파티션을 식별하기 위해 이 파일을 찾습니다).

  12. .iso 스틱에서 Windows 설치를 즐기세요.

노트:

  • Windows Installer는 비EFI 시스템이나 CSM 모드에서 작동하지 않습니다.
  • 루퍼스1~4단계를 수행할 수 있습니다.
  • EFI가 NTFS를 직접 읽을 수 있는 경우 NTFS:UEFI와 관련된 모든 단계를 건너뛸 수 있습니다.
  • Linux "즉시" 설치를 위해 세 번째 파티션을 추가할 수도 있습니다.

때때로 우리는 좀 더 심층적인 콘텐츠를 업데이트할 예정입니다.내 블로그에 있는 기사.

답변2

확인하다이것. 내가 아는 한 GRUB를 사용하여 Windows ISO를 부팅할 수 없습니다.

기술적으로 Windows .iso 파일에서 설치하는 것은 불가능합니다. grub을 사용하여 .iso에서 부팅할 수 있지만, 그러면 Windows가 설치 위치와의 연결이 끊어지거나 부팅에 실패합니다. 따라서 grub과 Windows 모두 마운트하고 시작하는 방법을 알아야 합니다. 현재 Windows에서는 지원되지 않습니다.

내가 아는 방법은 하위 폴더가 아닌 USB 루트 디렉터리에 내용을 복사한 후 다음과 같은 메뉴를 사용하는 것입니다.

menuentry "Windows installer" {
  set root='hd01'
  insmod ntldr
  ntldr /bootmgr
}

EFI에서 부팅할 수 없으며 부팅도 불가능하다고 생각합니다.

관련 정보