Как создать загрузочный образ Windows 8 iso в Linux?

Как создать загрузочный образ Windows 8 iso в Linux?

Мне нужно вставить Autounattend.xmlфайл в образ ISO Windows 8, чтобы он автоматически установился. Моя система должна работать на Linux и может использовать только команды оболочки Linux, поэтому инструменты ISO на Winodws, такие как UltraISO, не могут быть использованы.

Я перепробовал несколько методов, но все созданные iso не загружались, только печатались

CDBOOT: Cannot boot from CD - Code: 5

А. Первый метод, который я попробовал, это:туто

  1. Смонтировать iso в папку
  2. Скопируйте содержимое смонтированного образа в новую папку.
  3. Добавить мои файлы в новую папку
  4. Используйте mkisofsкоманду для создания нового образа ISO

    mkisofs -o windows2008_new.iso -b boot/etfsboot.com -no-emul-boot   -boot-load-size 8 -boot-info-table  -V -J -l -D -N -UDF  -relaxed-filenames -V "WINSP"
    

Б. Второй метод, который я попробовал:

Инструмент MS cmd под названием "oscdimg" в Windows для создания нового образа Windows iso, он работает. Поэтому я копирую oscdimg в Linux и использую Wine для его запуска, но он не может быть запущен нормально.

Кто-нибудь знает, как создать загрузочный образ Windows ISO в Linux с помощью чистой команды оболочки?

решение1

Мне удалось успешно использовать genisoimage(ответвление Debian от mkisofs).

Метод:

  1. петлевое монтирование iso

    mount -o loop <image>.iso /mnt/iso
    
  2. копировать во вторичную папку для доступа на чтение и запись

    cp -R /mnt/iso/ /mnt/iso2
    
  3. вносить изменения

  4. genisoimage -b <relative boot-img path> -no-emul-boot -boot-load-size 8 -iso-level 2 -udf -joliet -D -N -relaxed-filenames -o <new-image>.iso /mnt/iso2.`
    

решение2

Предложенный метод для Windows 7, но он не работает с ISO-файлом Windows 10.

# https://rwmj.wordpress.com/2010/11/04/customizing-a-windows-7-install-iso/
$ dd if=../en_windows_10_x64_dvd.iso \
    of=boot.img bs=2048 count=8 skip=734

$ mkisofs -o ../new-win.iso -b boot.img -no-emul-boot -c BOOT.CAT \
    -iso-level 2 -udf \
    -J -l -D -N -joliet-long -relaxed-filenames .

Выход не удался на первом этапе

dd if=/home/masi/Downloads/en_windows_10_multiple_editions_version_1511_x64_dvd.iso of=/home/masi/Downloads/boot.img bs=2048 count=8 skip=734
8+0 records in
8+0 records out
16384 bytes (16 kB) copied, 0.000392973 s, 41.7 MB/s

Пожалуйста, дайте мне знать, если вы найдете какой-либо новый метод решения этой задачи.

ОС: Debian 8.5 64 бит
Аппаратное обеспечение: Asus Zenbook UX303UA
Целевое оборудование: Asus PC

решение3

Я хотел сделать то же самое, но с ei.cfg; вот как я это сделал:

Сначала создайте точку монтирования:

mkdir -p /mnt/image

Смонтируйте официальный образ Windows в /mnt/image:

sudo mount -o loop Win10_2004_English_x64.iso /mnt/image

Создайте отдельный каталог /tmp/bootableWinдля своих изменений, соблюдая структуру папок ISO, поскольку вы не можете редактировать петлевое монтирование.

В моем случае:

mkdir -p /tmp/bootableWin/sources
sudo tee /tmp/bootableWin/sources/ei.cfg <<EOF
[Канал]
Розничная торговля
ЭОФ

И наконец упакуйте:

mkisofs \
    -изо-уровень 4 \
    -л \
    -Р \
    -УДФ \
    -Д \
    -b boot/etfsboot.com \
    -no-emul-boot \
    -boot-load-size 8 \
    -скрыть boot.catalog \
    -eltorito-alt-boot \
    -eltorito-платформа efi \
    -no-emul-boot \
    -b efi/microsoft/boot/efisys.bin \
    -о /домой/имя пользователя/win10-outputimage.iso \
    /mnt/image /tmp/bootableWin/

Теперь у вас должны быть загрузочные образы BIOS и UEFI с добавленным файлом.

Связанный контент