Введение
Приветствую всех на форуме
Сегодня мне потребовалось записать Windows 10 на флешку. Так как я не особо люблю пользоваться сторонним софтом, все что можно сделать подручными средствами я пытаюсь сделать сам. Обычно я готовил USB Stick с помощью diskpart и robocopy, но тут я подумал а почему бы не автоматизировать это в виде скрипта. И сразу же я понял что diskpart мне не подходит .
Bootable Windows USB Stick или PowerShell вместо DiskPart
Вот что из этого получилось. PowerShell Script - готовит флешку и пишет на него Windows, с полноценной поддержкой UEFI.
gushmazuko/WinToUsb
Я специально не реализовал монтирование ISO образа внутри скрипта, чтобы сохранить универсальность и сделать возможным его использование в Windows 7.
На этом все, спасибо за внимание!
Приветствую всех на форуме
Сегодня мне потребовалось записать Windows 10 на флешку. Так как я не особо люблю пользоваться сторонним софтом, все что можно сделать подручными средствами я пытаюсь сделать сам. Обычно я готовил USB Stick с помощью diskpart и robocopy, но тут я подумал а почему бы не автоматизировать это в виде скрипта. И сразу же я понял что diskpart мне не подходит .
Bootable Windows USB Stick или PowerShell вместо DiskPart
Вот что из этого получилось. PowerShell Script - готовит флешку и пишет на него Windows, с полноценной поддержкой UEFI.
gushmazuko/WinToUsb
Python:
<#
.SYNOPSIS
This script create a Bootable Windows USB Stick with UEFI support
.NOTES
Function : WinToUsb
File Name : WinToUsb.ps1
Author : Gushmazuko
.LINK
https://github.com/gushmazuko/WinToUsb
.EXAMPLE
#Run PowerShell as Admin
powershell -exec bypass
Import-Module WinToUsb.ps1
WinToUsb
#OR
#Run PowerShell as Admin
powershell -exec bypass "iwr -useb 'https://raw.githubusercontent.com/gushmazuko/WinToUsb/master/WinToUsb.ps1'|iex"
#>
function WinToUSB(){
clear
#Show mounted disks
Get-Disk
#Select Disk
Write-Host "`nWARNING! BE VERY CAREFUL WHEN SELECTING A DISK" -ForegroundColor Red
Do {Write-Host " - [Select Usb Flash to erase] : " -ForegroundColor Green -NoNewline
$DiskNumber = Read-Host}
While ($DiskNumber -eq "")
#Erase all data on the flash drive
Get-Disk $DiskNumber | Clear-Disk -RemoveData
#Create new partition, assign a letter & format it to FAT32
New-Partition -DiskNumber $DiskNumber -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem FAT32
#Set a partition active so the BIOS/UEFI can boot to it
Set-Partition -DiskNumber $DiskNumber -PartitionNumber 1 -IsActive $true
#Copying Windows files to USB drive
#Getting USB Drive Path
$UsbLetter = Get-Partition -DiskNumber $DiskNumber | select -ExpandProperty DriveLetter
$UsbPath = "$($UsbLetter):\"
#Getting Windows Files Path
Do {Write-Host " - [Write path where Windows Image is mounted] : " -ForegroundColor Green -NoNewline
$WinPath = Read-Host}
While ($WinPath -eq "")
robocopy $WinPath $UsbPath /mir
cd $WinPath\boot
.\bootsect.exe /nt60 "$($UsbLetter):"
}
Я специально не реализовал монтирование ISO образа внутри скрипта, чтобы сохранить универсальность и сделать возможным его использование в Windows 7.
На этом все, спасибо за внимание!
Последнее редактирование: