automatic drive mount in coremaker

This commit is contained in:
YasInvolved 2024-07-20 11:56:35 +02:00
parent c94c451971
commit 4a413b344e

View file

@ -43,17 +43,17 @@ Clear-Host
$mainOSDrive = $env:SystemDrive $mainOSDrive = $env:SystemDrive
$hostArchitecture = $Env:PROCESSOR_ARCHITECTURE $hostArchitecture = $Env:PROCESSOR_ARCHITECTURE
New-Item -ItemType Directory -Force -Path "$mainOSDrive\tiny11\sources" >null New-Item -ItemType Directory -Force -Path "$mainOSDrive\tiny11\sources" >null
$DriveLetter = Read-Host "Please enter the drive letter for the Windows 11 image" $ImagePath = Read-Host "Paste the image path (without quotes) here"
$DriveLetter = $DriveLetter + ":" $DriveLetter = Mount-DiskImage -ImagePath "$ImagePath" | Get-Volume | Select-Object -ExpandProperty DriveLetter
if ((Test-Path "$DriveLetter\sources\boot.wim") -eq $false -or (Test-Path "$DriveLetter\sources\install.wim") -eq $false) { if ((Test-Path "${DriveLetter}:\sources\boot.wim") -eq $false -or (Test-Path "${DriveLetter}:\sources\install.wim") -eq $false) {
if ((Test-Path "$DriveLetter\sources\install.esd") -eq $true) { if ((Test-Path "${DriveLetter}:\sources\install.esd") -eq $true) {
Write-Host "Found install.esd, converting to install.wim..." Write-Host "Found install.esd, converting to install.wim..."
& 'dism' '/English' "/Get-WimInfo" "/wimfile:$DriveLetter\sources\install.esd" & 'dism' '/English' "/Get-WimInfo" "/wimfile:${DriveLetter}:\sources\install.esd"
$index = Read-Host "Please enter the image index" $index = Read-Host "Please enter the image index"
Write-Host ' ' Write-Host ' '
Write-Host 'Converting install.esd to install.wim. This may take a while...' Write-Host 'Converting install.esd to install.wim. This may take a while...'
& 'DISM' /Export-Image /SourceImageFile:"$DriveLetter\sources\install.esd" /SourceIndex:$index /DestinationImageFile:"$mainOSDrive\tiny11\sources\install.wim" /Compress:max /CheckIntegrity & 'DISM' /Export-Image /SourceImageFile:"${DriveLetter}:\sources\install.esd" /SourceIndex:$index /DestinationImageFile:"$mainOSDrive\tiny11\sources\install.wim" /Compress:max /CheckIntegrity
} else { } else {
Write-Host "Can't find Windows OS Installation files in the specified Drive Letter.." Write-Host "Can't find Windows OS Installation files in the specified Drive Letter.."
Write-Host "Please enter the correct DVD Drive Letter.." Write-Host "Please enter the correct DVD Drive Letter.."
@ -62,7 +62,7 @@ if ((Test-Path "$DriveLetter\sources\boot.wim") -eq $false -or (Test-Path "$Driv
} }
Write-Host "Copying Windows image..." Write-Host "Copying Windows image..."
Copy-Item -Path "$DriveLetter\*" -Destination "$mainOSDrive\tiny11" -Recurse -Force > null Copy-Item -Path "${DriveLetter}:\*" -Destination "$mainOSDrive\tiny11" -Recurse -Force > null
Set-ItemProperty -Path "$mainOSDrive\tiny11\sources\install.esd" -Name IsReadOnly -Value $false > $null 2>&1 Set-ItemProperty -Path "$mainOSDrive\tiny11\sources\install.esd" -Name IsReadOnly -Value $false > $null 2>&1
Remove-Item "$mainOSDrive\tiny11\sources\install.esd" > $null 2>&1 Remove-Item "$mainOSDrive\tiny11\sources\install.esd" > $null 2>&1
Write-Host "Copy complete!" Write-Host "Copy complete!"