Closed WSHAPER closed 4 months ago
I do not understand so well how you ended up with these files in/storage
. To start you have a boot.iso
, but this project does nothing with a boot.iso
(its from another project called qemu-docker
but not used here). Secondly you have a file called windows.old
which is only used when legacy booting Windows XP. So you have a very strange collection of files and I dont know what you did.
Also I do not know where you got this HBCD_PE_x64.iso
so there is no way for me to try it myself.
First of all, thank you for the quick response for taking the time to resolve my question.
I've retried the entire procedure documented below and got the bootable .iso
running.
However, I'm still not certain on how to properly map the installed partition, so it's visible in the bootable WinPE's diskmgmt.msc
.
Apologies for the confusion, I was indeed switching between qemu-docker
and docker-windows
.
HBCD_PE_x64.iso
refers to Hiren's Boot CD, a bootable toolkit based on WinPE
boot.iso
comes from an attempt to map HBCD_PE_x64.iso
as the boot drive in compose.yml
volumes:
- ~/github/windows/storage/HBCD_PE_x64.iso:/storage/boot.iso
tiny11_2311_x64.iso
manuallytiny11_2311_x64.iso
to custom.iso
and place in storage/
compose.yml
:
storage/
win11x64.xml
(unattended install)
volumes:
- ~/github/dockur-windows/storage:/storage
- ~/github/dockur-windows/assets/win11x64.xml:/run/assets/win11x64.xml
compose.yml
, since src/install.sh:195
seems to match custom.iso
:
environment:
VERSION: "win11"
docker-compose up -d
localhost:8006
and shut down after install with:
docker-compose down
storage/
should look like this (custom.iso
now missing):
[4.0K] ./
├── [4.0K] shared/
│ └── [ 566] readme.txt
├── [ 64G] data.img
├── [ 0] windows.boot
├── [ 18] windows.mac
├── [3.5M] windows.rom
├── [528K] windows.vars
└── [ 5] windows.ver
In a comment on Issue #362 (Boot from ISO After Installation), you suggested setting
BOOT_INDEX
environment variable to a value lower than 3.
Modify compose.yml
and run docker-compose up -d
:
BOOT_INDEX
HBCD_PE_x64.iso
to custom.iso
environment:
BOOT_INDEX: "1"
volumes:
# Add (or place `HBCD_PE_x64.iso` as `custom.iso` in `storage/`):
- ~/path/to/your/file/HBCD_PE_x64.iso:/storage/custom.iso
# Keep:
- ~/github/dockur-windows/storage:/storage
# Remove:
# - ~/github/dockur-windows/assets/win11x64.xml:/run/assets/win11x64.xml
Open localhost:8006
and run diskmgmt.msc
inside the bootable WinPE .iso
, where only the virtio-win-0.1.248
shows up, not the drives created in previous installation.
I guess it is normal that the drive doesnt show up, because Windows PE do not have the drivers build-in to read/recognize the Virtio SCSI disks. Normally these drivers are installed during the automatic installation (via the unattended.xml file).
So you need a copy of the Hirens PE ISO that has VirtIO drivers, but I do not think such thing exists.
I dont understand why you need this PE ISO at all? You can just install normal Win11 via the normal way, and if you want to manipulate another disk image with it, you can just rename that disk image to data2.img
and place it in /storage2
and it will be a secondary disk inside Windows.
I never used WinPE, but I cannot imagine it contains a tool that you cannot run under normal Windows. So why make everything so complicated?
@kroese Thanks, you're totally right! :)
tiny11_2311_x64.iso
normallydata.img
) image to data2.img
/storage2
diskpart
list disk
select disk X
uniqueid disk
uniqueid disk id=xxxxxxxx-...
online disk
exit
diskpart
(start the diskpart utility)list disk
select disk X
(replace X with the offline disk number)uniqueid disk
(display the disk's current unique identifier)uniqueid disk id=xxxxxxxx
(replace xxxxxxxx with a random 8-digit hexadecimal number, e.g. uniqueid disk id=1234abcd
)online disk
(bring the selected disk online)exit
(exit the diskpart utility)exit
Command Prompt and reopen diskmgmt.msc
(Disk Management)
Is your question not already answered in the FAQ?
Is this a general question and not a technical issue?
Question
TL;DR
I'm seeking guidance on whether it's possible to mount a WinPE ISO and work on a drive containing an already installed OS, specifically to create an image with prepackaged software after running sysprep on the previously installed OS contained in
storage/
.Could you please advise on the following:
Thank you for your assistance in advance!
Setup
Here is my
storage/
directory structure:I've attempted the following
compose.yml
configuration, but it results in the Windows logo appearing without booting into WinPE: