AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 531012
Accepted
Forivin
Forivin
Asked: 2019-07-20 03:36:11 +0800 CST2019-07-20 03:36:11 +0800 CST 2019-07-20 03:36:11 +0800 CST

Como modificar um ISO de instalação e mantê-lo inicializável?

  • 772

Eu sei que tem havido algumas perguntas semelhantes, mas elas não são específicas o suficiente.

Eu tenho um ISO de instalação do Windows 10 x64 e estou tentando extrair os arquivos fazer algumas modificações e depois fazer um novo ISO dos arquivos extraídos/modificados.

Basicamente funciona bem, mas o problema é que não consigo descobrir como torná-lo inicializável UEFI novamente (no modo legado/BIOS ele inicializa bem).

Eu passei por inúmeras postagens seguindo instruções sobre como fazer isso, mas nenhuma delas funcionou para o meu Windows 10 ISO. A maioria dessas postagens menciona apenas versões mais antigas do Windows e aquelas que mencionam o Windows 10 não especificam se conseguiram funcionar com uma versão x64 atual e se conseguiram inicializar UEFI a partir dela. (Provavelmente não, porque certamente não funciona para mim.)

Acabei tentando replicar a saída de isoinfo -d -i ./windows10.isoe dumpet -i ./windows10.isoo máximo que pude.

E isso é o mais próximo que consegui: (Edit: Atualizado -eltorito-alt-bootconforme sugerido pela telcoM)

ISO original (isoinfo):

$ isoinfo -d -i ./original.iso
CD-ROM is in ISO 9660 format
System id: 
Volume id: CCCOMA_X64FRE_EN-US_DV9
Volume set id: CCCOMA_X64FRE_EN-US_DV9
Publisher id: MICROSOFT CORPORATION
Data preparer id: MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (425) 882-8080
Application id: CDIMAGE 2.56 (01/01/2005 TM)
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 2411879
El Torito VD version 1 found, boot catalog is in sector 22
NO Joliet present
NO Rock Ridge present
Eltorito validation header:
    Hid 1
    Arch 0 (x86)
    ID 'Microsoft Corporation'
    Key 55 AA
    Eltorito defaultboot header:
        Bootid 88 (bootable)
        Boot media 0 (No Emulation Boot)
        Load segment 0
        Sys type 0
        Nsect 8
        Bootoff 202 514

ISO modificado (isoinfo):

$ isoinfo -d -i ./modified.iso
CD-ROM is in ISO 9660 format
System id: 
Volume id: CCCOMA_X64FRE_EN-US_DV9
Volume set id: CCCOMA_X64FRE_EN-US_DV9
Publisher id: Microsoft Corporation
Data preparer id: MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (425) 882-8080
Application id: CDIMAGE 2.56 (01/01/2005 TM)
Copyright File id: 
Abstract File id: 
Bibliographic File id: 
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 2411275
El Torito VD version 1 found, boot catalog is in sector 1506
NO Joliet present
NO Rock Ridge present
Eltorito validation header:
    Hid 1
    Arch 0 (x86)
    ID 'Microsoft Corporation'
    Key 55 AA
    Eltorito defaultboot header:
        Bootid 88 (bootable)
        Boot media 0 (No Emulation Boot)
        Load segment 0
        Sys type 0
        Nsect 8
        Bootoff 8CD 2253

Diferença entre as saídas isoinfo acima:

$ diff <(isoinfo -i ./original.iso) <(isoinfo -i ./modified.iso)
5c5
< Publisher id: MICROSOFT CORPORATION
---
> Publisher id: Microsoft Corporation
14,15c14,15
< Volume size is: 2411879
< El Torito VD version 1 found, boot catalog is in sector 22
---
> Volume size is: 2411275
> El Torito VD version 1 found, boot catalog is in sector 1506
29c29
<         Bootoff 202 514
---
>         Bootoff 8CD 2253

ISO original (dump):

$ dumpet -i ./original.iso
Validation Entry:
        Header Indicator: 0x01 (Validation Entry)
        PlatformId: 0x00 (80x86)
        ID: "Microsoft Corporation"
        Checksum: 0x494c
        Key bytes: 0x55aa
Boot Catalog Default Entry:
        Entry is bootable
        Boot Media emulation type: no emulation
        Media load segment: 0x0 (0000:7c00)
        System type: 0 (0x00)
        Load Sectors: 8 (0x0008)
        Load LBA: 514 (0x00000202)
Section Header Entry:
        Header Indicator: 0x91 (Final Section Header Entry)
        PlatformId: 0xef (EFI)
        Section Entries: 1
        ID: ""
Boot Catalog Section Entry:
        Entry is bootable
        Boot Media emulation type: no emulation
        Media load address: 0 (0x0000)
        System type: 0 (0x00)
        Load Sectors: 1 (0x0001)
        Load LBA: 516 (0x00000204)

ISO modificado (despejo):

$ dumpet -i ./modified.iso 
Validation Entry:
        Header Indicator: 0x01 (Validation Entry)
        PlatformId: 0x00 (80x86)
        ID: "Microsoft Corporation"
        Checksum: 0x494c
        Key bytes: 0x55aa
Boot Catalog Default Entry:
        Entry is bootable
        Boot Media emulation type: no emulation
        Media load segment: 0x0 (0000:7c00)
        System type: 0 (0x00)
        Load Sectors: 8 (0x0008)
        Load LBA: 2253 (0x000008cd)
Section Header Entry:
        Header Indicator: 0x91 (Final Section Header Entry)
        PlatformId: 0xef (EFI)
        Section Entries: 1
        ID: ""
Boot Catalog Section Entry:
        Entry is bootable
        Boot Media emulation type: no emulation
        Media load address: 0 (0x0000)
        System type: 0 (0x00)
        Load Sectors: 2984 (0x0ba8)
        Load LBA: 1507 (0x000005e3)

Diferença entre as saídas do dumpet acima:

$ diff <(dumpet -i ./original.iso) <(dumpet -i ./modified.iso)
13c13
<       Load LBA: 514 (0x00000202)
---
>       Load LBA: 2253 (0x000008cd)
24,25c24,25
<       Load Sectors: 1 (0x0001)
<       Load LBA: 516 (0x00000204)
---
>       Load Sectors: 2984 (0x0ba8)
>       Load LBA: 1507 (0x000005e3)

Eu escrevi um script para reproduzir completamente o problema com o mesmo ISO que estou usando:

#!/usr/bin/env bash

##################################
# Download the Windows 10 x64 ISO

WIN10_IMG_DESTINATION="./windows.iso"
WIN10_IMG_ARCH="x64"

if [ ! -f "${WIN10_IMG_DESTINATION}" ]; then
    if [[ "$WIN10_IMG_ARCH" == "x86" ]] || [[ "$WIN10_IMG_ARCH" == "i386" ]] ; then
        echo "Retrieving the x86 Windows 10 iso URL..."
        WINDOWS_10_ISO_URL=$(curl -LsI -o /dev/null -w %{url_effective} "https://windows101tricks.com/1903-iso-32")
    else
        echo "Retrieving the x64 Windows 10 iso URL..."
        WINDOWS_10_ISO_URL=$(curl -LsI -o /dev/null -w %{url_effective} "https://windows101tricks.com/1903-iso-64")
    fi

    echo "Making sure the URL comes from a trusted Microsoft (sub)domain..."
    if [[ $WINDOWS_10_ISO_URL == https://software-download.microsoft.com/* ]] ; then
        echo "Downloading the Windows 10 installation iso..."
        wget "$WINDOWS_10_ISO_URL" -O "$WIN10_IMG_DESTINATION"
    else
        echo "URL validation failed. Please download the Windows 10 iso manually."
        exit 1
    fi
else
    echo "Windows 10 iso already exists. Skipping download..."
fi
#
##################################



# Variable containing the path to the windows.iso
WIN10_IMG="$WIN10_IMG_DESTINATION"

TMP="./tmp"
ISO_FILES="${TMP}/iso-files"
ISO_MP="${TMP}/iso-mountpoint"

# Remove ./tmp if it already exists, then create ./tmp/iso-files and ./tmp/iso-mountpoint
rm -rf "${TMP}"
mkdir -p "${ISO_FILES}"
mkdir -p "${ISO_MP}"
# Extract the files fromt he ISO to ./tmp/iso-files
sudo mount -t udf "${WIN10_IMG}" "${ISO_MP}"
sudo cp -Rva ${ISO_MP}/* "${ISO_FILES}"
sudo umount "${ISO_MP}"

# Make modifications to the Windows ISO
#BOOT_DIR="${ISO_FILES}/efi/microsoft/boot"
#sudo mv "${BOOT_DIR}/cdboot.efi" "${BOOT_DIR}/tmp.efi"
#sudo mv "${BOOT_DIR}/cdboot_noprompt.efi" "${BOOT_DIR}/cdboot.efi"
#sudo mv "${BOOT_DIR}/tmp.efi" "${BOOT_DIR}/cdboot_noprompt.efi"

# Extract the boot.img (didn't help at all)
#BOOT_SECTOR_LENGTH="$(isoinfo -d -i "${WIN10_IMG}" | grep "Nsect " | grep -o "[^ ]*$")"
#STARTING_SECTOR="$(isoinfo -d -i ./vm-files/windows10.iso | grep "Bootoff " | grep -o "[^ ]*$")"
#dd if="${WIN10_IMG}" of="${ISO_FILES}/boot.img" bs=2048 count="${BOOT_SECTOR_LENGTH}" skip="${STARTING_SECTOR}"


# Extract boot load segment address and size
BOOT_LOAD_SEG="$(dumpet -i "${WIN10_IMG}" | grep "Media load segment: " | cut -d ':' -f2 | cut -d ' ' -f2)"
BOOT_LOAD_SIZE="$(dumpet -i "${WIN10_IMG}" | grep "Load Sectors: " | grep -o "[^:]*$" | cut -d ' ' -f2 | head -1)"

# Extract meta data :
SYSTEM_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "System id: " | cut -d ' ' -f3-)"
VOLUME_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Volume id: " | cut -d ' ' -f3-)"
VOLUME_SET_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Volume set id: " | cut -d ' ' -f4-)"
#PUBLISHER_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Publisher id: " | cut -d ' ' -f3-)" # Always uppercase
PUBLISHER_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "ID '" | cut -d "'" -f2)"
DATA_PREPARER_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Data preparer id: " | cut -d ' ' -f4-)"
APPLICATION_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Application id: " | cut -d ' ' -f3-)"
COPYRIGHT_FILE_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Copyright file id: " | cut -d ' ' -f4-)"
ABSTRACT_FILE_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Abstract file id: " | cut -d ' ' -f4-)"
BIBLIOGRAPHIC_FILE_ID="$(isoinfo -d -i "${WIN10_IMG}" | grep "Bibliographic file id: " | cut -d ' ' -f4-)"

# Create a new ISO image using mkisofs
# (.mkisofsrc is necessary, because some options are not available on the cli directly)
rm ".mkisofsrc"
echo "APPI=${APPLICATION_ID}" >> ".mkisofsrc"
echo "COPY=${COPYRIGHT_FILE_ID}" >> ".mkisofsrc"
echo "ABST=${ABSTRACT_FILE_ID}" >> ".mkisofsrc"
echo "BIBL=${BIBLIOGRAPHIC_FILE_ID}" >> ".mkisofsrc"
echo "PREP=${DATA_PREPARER_ID}" >> ".mkisofsrc"
echo "PUBL=${PUBLISHER_ID}" >> ".mkisofsrc"
echo "SYSI=${SYSTEM_ID}" >> ".mkisofsrc"
echo "VOLI=${VOLUME_ID}" >> ".mkisofsrc"
echo "VOLS=${VOLUME_SET_ID}" >> ".mkisofsrc"

sudo rm "${WIN10_IMG}.tmp.iso"
sudo mkisofs \
  -no-emul-boot \
  -b boot/etfsboot.com \
  -boot-load-seg "${BOOT_LOAD_SEG}" \
  -boot-load-size "${BOOT_LOAD_SIZE}" \
  -eltorito-alt-boot \
  -e efi/boot/bootx64.efi \
  -no-emul-boot \
  -iso-level 2 \
  -boot-info-table \
  -udf \
  -D \
  -N \
  -relaxed-filenames \
  -allow-lowercase \
  -o "${WIN10_IMG}.tmp.iso" \
  "${ISO_FILES}"

rm ".mkisofsrc"


# Print the variables that we gathered
echo
echo "Extracted meta data (form original image):"
echo "BOOT_LOAD_SEG: ${BOOT_LOAD_SEG}"
echo "BOOT_LOAD_SIZE: ${BOOT_LOAD_SIZE}"
echo "-------"
echo "SYSTEM_ID: ${SYSTEM_ID}"
echo "VOLUME_ID: ${VOLUME_ID}"
echo "VOLUME_SET_ID: ${VOLUME_SET_ID}"
echo "PUBLISHER_ID: ${PUBLISHER_ID}"
echo "DATA_PREPARER_ID: ${DATA_PREPARER_ID}"
echo "APPLICATION_ID: ${APPLICATION_ID}"
echo "COPYRIGHT_FILE_ID: ${COPYRIGHT_FILE_ID}"
echo "ABSTRACT_FILE_ID: ${ABSTRACT_FILE_ID}"
echo "BIBLIOGRAPHIC_FILE_ID: ${BIBLIOGRAPHIC_FILE_ID}"

# Show difference between new and old image as reported by isoinfo
echo
echo "-------------- isoinfo diff -----------------"
diff <(isoinfo -d -i "${WIN10_IMG}") <(isoinfo -d -i "${WIN10_IMG}.tmp.iso")

# Show difference between new and old image as reported by dumpet
echo
echo " -------------- dumpet diff -----------------"
diff <(dumpet -i "${WIN10_IMG}") <(dumpet -i "${WIN10_IMG}.tmp.iso")


# Overwrite the original ISO with the new one
#sudo rm "${WIN10_IMG}"
#sudo mv "${WIN10_IMG}.tmp.iso" "${WIN10_IMG}"
bash windows
  • 5 5 respostas
  • 5888 Views

5 respostas

  • Voted
  1. telcoM
    2019-07-22T22:16:26+08:002019-07-22T22:16:26+08:00

    A dumpetsaída indica que o original contém duas imagens de inicialização ElTorito: uma para inicialização no estilo BIOS e outra para UEFI. Depois de especificar a primeira imagem de inicialização para o BIOS com mkisofsopções, você precisará usar as opções -eltorito-alt-boote -eltorito-platform efipara especificar uma segunda imagem de inicialização. Algo assim:

    sudo mkisofs \
      -no-emul-boot \
      -b boot/etfsboot.com \
      -boot-load-seg "${BOOT_LOAD_SEG}" \
      -boot-load-size "${BOOT_LOAD_SIZE}" \
      -eltorito-alt-boot \
      -b <UEFI boot image name here> \
      -eltorito-platform efi \
      [...]
    

    Não sei ao certo qual arquivo pode ser usado como imagem de inicialização UEFI.


    Atualização: coloquei as mãos em uma imagem ISO original do Windows 10 e fiz um pouco de experimentação. Na minha versão, o Load LBAvalor era 519 para a entrada de inicialização UEFI. Lembrando que o tamanho de um bloco de CD-ROM é 2048 bytes, despejei o bloco:

    $ dd if=<silly_long_name>.iso bs=2048 skip=519 count=1 > win_efi_boot.dmp
    
    $ file win_efi_boot.dmp
    win_efi_boot.dmp: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "MSDOS5.0", 
    root entries 224, sectors 2880 (volumes <=32 MB) , sectors/FAT 9, sectors/track 18, 
    serial number 0xef56c0, label: "EFISECTOR  ", FAT (12 bit), followed by FAT
    

    Parece o início de uma imagem de disquete de 1,4 MB. 2880 setores de disquete * 512 bytes por setor de disquete / 2048 bytes por setor de CD-ROM = 720 setores de CD-ROM. Acho que o firmware simplesmente ignora o Load Sectorsvalor e analisa o setor de inicialização FAT para encontrar o tamanho real.

    dd if=<silly_long_name>.iso bs=2048 skip=519 count=720 of=win_efi_boot.img
    

    E sim, ele contém um sistema de arquivos (v)FAT12 com apenas um arquivo: \EFI\BOOT\BOOTX64.EFI, tamanho 936352 bytes.

    $ sudo mount -o loop,ro win_efi_boot.img /mnt
    $ ls -l /mnt/EFI/BOOT/BOOTX64.EFI
    -rwxr-xr-x 1 root root 936352 Apr 11  2018 /mnt/EFI/BOOT/BOOTX64.EFI
    

    Eu também despejei o win_efi_boot.imgarquivo em hexadecimal: após o final do BOOTX64.EFIarquivo, o restante da imagem do disquete é preenchido com zero bytes, então acho que count=720está correto.

    Portanto, você deve poder fazer o mesmo para extrair a imagem do sistema de arquivos de inicialização UEFI do ISO original (como my win_efi_boot.img) e usá-lo com sua -eopção.

    • 5
  2. Best Answer
    mkey
    2021-02-23T08:56:42+08:002021-02-23T08:56:42+08:00

    Para expandir e esboçar as informações úteis que @telcoM forneceu acima, forneço este procedimento que me levou a um trabalho (ou seja, inicializável por EFI, Wn10_20H2_v2_English_x64.iso) ISO. Minha intenção era dividir o install.wimarquivo para permitir a instalação a partir de uma unidade USB FAT32 e o uso ISO simples com o Ventoy .

    Visão geral rápida:

    • usou as ferramentas Schily para contornar possíveis mkisofsproblemas
    • usou Wimlib para dividir o wimarquivo
    • usou o método da telcoM para extrair a imagem do disquete de inicialização do ISO. Parece ser crucial usar a imagem real do disquete. boofx64.eficontido não parece ser o mesmo arquivo do efi/boot/diretório
    • o processo de construção da ISO é semi-automatizado, pois o usuário será solicitado a fornecer o LBA da imagem do disquete e o tamanho final (que presumivelmente sempre será de 720 setores)

    O roteiro:

    #!/bin/bash
    
    # provide paths, no closing /
    
    ISO_IMAGE="/path/to/Win10.iso"
    ISO_IMAGE_OUT="/path/to/Win10_split.iso"
    WORKING_DIR="/home/user/working"
    
    echo "Paths set"
    echo "ISO_IMAGE $ISO_IMAGE"
    echo "WORKING DIRECTORY: $WORKING_DIR"
    
    # prerequisites
    # sudo apt-get install libxml2-dev ntfs-3g-dev libfuse-dev libattr1-dev dumpet
    
    # install schily tools http://schilytools.sourceforge.net/
    # alias smake=/opt/schily/bin/smake
    # alias mkisofs=/opt/schily/bin/mkisofs
    
    # install wimlib https://wimlib.net/
    
    # git clone git://wimlib.net/wimlib
    # cd wimlib
    
    # libtoolize --force
    # aclocaldc
    # autoheader
    # automake --force-missing --add-missing
    # autoconf
    # ./configure
    
    # sudo make install
    # gsudo ldconfig -v
    
    printf "\nRemoving/recreating the working directory\n"
    rm -r -d -f $WORKING_DIR
    mkdir $WORKING_DIR
    
    printf "\nMounting the ISO image\n"
    sudo mount -r -t udf $ISO_IMAGE /media/iso
    
    printf "\nCopying the ISO image contents to the working directory\n"
    cp -r /media/iso/* $WORKING_DIR
    chmod -R 755 $WORKING_DIR
    
    printf "\nUnmounting the ISO image\n"
    sudo umount /media/iso
    
    printf "\nSplitting the install.wim archive\n"
    wimsplit $WORKING_DIR/sources/install.wim $WORKING_DIR/sources/install.swm 2000
    rm -d -f $WORKING_DIR/sources/install.wim
    
    printf "\nGetting the boot image LBA from the ISO\n----------\n"
    dumpet -i $ISO_IMAGE
    
    printf "\nShould be a integer number following the second 'Load LBA': "
    read LOAD_LBA
    
    printf "\n"
    dd if=$ISO_IMAGE bs=2048 skip=$LOAD_LBA count=1 > $WORKING_DIR/efi/win_efi_boot.img
    
    printf "\nNow we get the boot.img and check the right file size.\nThe below output should detect a 'DOS/MBR boot sector' and sectors size should be 2880 which would mean 2880 * 512 / 2048 = 720.\n----------\n"
    file $WORKING_DIR/efi/win_efi_boot.img
    
    printf "\nThat would make the input 720: "
    read LOAD_COUNT
    
    printf "\n"
    dd if=$ISO_IMAGE bs=2048 skip=$LOAD_LBA count=$LOAD_COUNT > $WORKING_DIR/efi/win_efi_boot.img
    
    printf "\nBuilding an image\n"
    /opt/schily/bin/mkisofs \
    -no-emul-boot \
    -b boot/etfsboot.com \
    -boot-load-seg 0 \
    -boot-load-size 8 \
    -eltorito-alt-boot \
    -no-emul-boot \
    -b efi/win_efi_boot.img \
    -boot-load-size 1 \
    -iso-level 4 \
    -UDF \
    -o $ISO_IMAGE_OUT \
    $WORKING_DIR/
    
    printf "\n\nImage ready!\n\n" 
    
    • 3
  3. eyoung100
    2019-07-22T15:48:01+08:002019-07-22T15:48:01+08:00

    Veja aqui:

    Crie um ISO personalizado para Windows 10: Parte 1 de 6

    Se eu tivesse que adivinhar, o ISO não inicializará no UEFI porque você está fazendo uma cópia direta do setor de inicialização. Você não pode fazer isso. Consulte a Parte 5, que usa o DISM - Gerenciamento e Manutenção de Imagens de Implantação . A Microsoft criou ferramentas nativas para fazer exatamente o que você deseja, mas eles esperam que você use um ambiente Windows funcional para realizar a tarefa. Você também pode precisar do Windows ADK - Windows Assessment and Deployment Kit se seguir as seções do Blog que vinculei acima.

    • 1
  4. nubjai
    2019-12-13T05:20:32+08:002019-12-13T05:20:32+08:00

    Você pode tentar com o seguinte comando:

    mkisofs -iso-level 4 -l -R -UDF -D -b Boot/etfsboot.com -no-emul-boot -boot-load-size 8 -hide boot.catalog -eltorito-alt-boot -eltorito-platform efi -no-emul-boot -b efi/microsoft/boot/efisys.bin -o modified.iso .\source
    

    Tirado daqui: http://forum.imgburn.com/index.php?/topic/24193-problem-i-can-not-create-a-uefi-bootable-iso-image/&do=findComment&comment=158044

    • 1
  5. AntiCat
    2021-09-03T13:05:27+08:002021-09-03T13:05:27+08:00

    Passei muito tempo experimentando o método dd descrito acima. No entanto, esse despeja apenas parcialmente no código de inicialização EFI e, por sua vez, o EFI-Boot ainda falhará. Encontrei a dica importante em: https://docs.microsoft.com/en-us/troubleshoot/windows-server/deployment/create-iso-image-for-uefi-platforms

    O código de inicialização para efi está localizado em "efi/microsoft/boot/efisys.bin"

    Sabendo desse detalhe o resto é direto. Apenas varia um pouco dependendo da variante de mkisofs em um sistema *nix específico. Testei com sucesso os dois exemplos a seguir, até o UEFI Secure Boot funciona.

    Cent OS:

    genisoimage \
      --allow-limited-size \
      -no-emul-boot \
      -b "boot/etfsboot.com" \
      -boot-load-seg 0 \
      -boot-load-size 8 \
      -eltorito-alt-boot \
      -no-emul-boot \
      -e "efi/microsoft/boot/efisys.bin" \
      -boot-load-size 1 \
      -iso-level 4 \
      -udf \
      -o "win.iso" \
      "source/"
    

    MacOS (mac brew):

    mkisofs \
      -no-emul-boot \
      -b "boot/etfsboot.com" \
      -boot-load-seg 0 \
      -boot-load-size 8 \
      -eltorito-alt-boot \
      -eltorito-platform efi \
      -no-emul-boot \
      -b "efi/microsoft/boot/efisys.bin" \
      -boot-load-size 1 \
      -iso-level 4 \
      -UDF \
      -o "win.iso" \
      "source/"
    
    • 1

relate perguntas

  • exportar variáveis ​​​​env programaticamente, via stdout do comando [duplicado]

  • Problema estranho ao passar variáveis ​​do arquivo de texto

  • Enquanto a linha lê mantendo os espaços de escape?

  • ordem de substituição de processos `te` e `bash`

  • Execute um script muito lento até que seja bem-sucedido

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve