ในบทความนี้เราจะแสดงวิธี Copy (Move) การติดตั้ง Windows ของคุณโดยไม่ต้อง Reinstall ไปยัง Hard Drive อีกตัวหนึ่งโดยใช้ Built-in Tools (โดยไม่ต้องใช้ Third-party Software อย่าง Paragon, AOMEI หรือ Acronis) ตัวอย่างเช่น คู่มือนี้จะช่วยให้คุณย้าย Windows จาก HDD ไปยัง SSD ใหม่ Clone Windows ที่ติดตั้งและตั้งค่าแล้วไปยังคอมพิวเตอร์อื่น (มีรายละเอียดบางอย่าง) หรือฮาร์ดดิสก์ใหม่ที่ใหญ่กว่า
sebagaiตัวอย่าง เราจะ Clone Windows 10 ที่ติดตั้งแล้วไปยัง Drive ใหม่โดยใช้ Bootable USB Stick, Command Prompt และ Built-in Tool robocopy
โปรดทราบว่าคุณจะสามารถ Clone Operating System โดยการ Copy ไปยัง Disk ใหม่ได้ก็ต่อเมื่อคุณ Migrate บนคอมพิวเตอร์เครื่องเดียวกัน (หรือคอมพิวเตอร์ 2 เครื่องที่มี Hardware คล้ายกัน) หากคุณต้องการ Copy Windows ที่ติดตั้งแล้วไปยัง Disk สำหรับคอมพิวเตอร์อีกเครื่อง คุณจะต้องได้ Drivers ใหม่สำหรับ Disk Controllers, Chipset และ Videocard เพื่อ Boot OS บน Hardware ใหม่
คุณสามารถ Clone Hard Drive ไปยัง Drive ใหม่ที่เล็กลงได้ หาก Windows ใช้พื้นที่บน Drive ปัจจุบันน้อยกว่าขนาด Drive ใหม่ของคุณ มิฉะนั้น คุณจะต้อง Delete/Move บางไฟล์จาก Source Drive บ่อยที่สุด คำถามแบบนี้เกิดขึ้นเมื่อ Migrate ไปยัง SSDs ซึ่งมักจะเล็กลง Classic HDDs
ขั้นตอนการ Migrate Windows ไปยัง Drive อื่น ขึ้นอยู่กับ Firmware ของคอมพิวเตอร์: BIOS หรือ UEFI รันคำสั่งต่อไปนี้:
msinfo32
หากคุณเห็น Legacy ในค่า BIOS Mode คอมพิวเตอร์ของคุณใช้ BIOS (หรือ UEFI ทำงานใน Legacy/CSM Mode) หากคุณเห็น UEFI คุณมีคอมพิวเตอร์สมัยใหม่ และ Windows ติดตั้งใน UEFI Mode

- หากคอมพิวเตอร์ทำงานใน Native UEFI Mode และใช้ GPT Partition Table สำหรับ Boot Drive ผมจะติด Tag คำสั่งสำหรับคอมพิวเตอร์แบบนี้ด้วย
UEFI GPT - หากคุณมีคอมพิวเตอร์เก่าที่มี BIOS หรือ UEFI ทำงานใน Legacy Mode และ Drive Partition Table เป็น MBR คำสั่งจะถูก Mark เป็น
BIOS MBR
ก่อนอื่น คุณต้องสร้าง Partition Table บน Drive ใหม่ของคุณ คุณสามารถทำได้โดยตรงจาก Windows 10 ที่กำลังรันอยู่โดยใช้ diskpart หาก Disk ใหม่ ให้ Initialize ด้วย diskmgmt.msc หรือใช้ Initialize-Disk PowerShell Cmdlet:
Get-Disk | Where-Object PartitionStyle –Eq 'RAW' | Initialize-Disk

จากนั้นสร้าง Partition Table บน Drive ใหม่ เปิด Command Prompt เป็น Administrator และรันคำสั่งนี้:
diskpart
ใน Diskpart Context ให้รันคำสั่งต่อไปนี้:
list disk
select disk 1 (ขึ้นอยู่กับหมายเลขของ Disk ใหม่ที่คำสั่งก่อนหน้าคืนค่า)
clean
จากนั้นคำสั่งจะแตกต่างกันไปขึ้นอยู่กับ Platform Type ของคุณ
สำหรับ UEFI GPT:
convert gpt
create partition efi size=100
format fs="FAT32" quick label="EFI"
create partition msr size=16
create partition primary
format fs="NTFS" quick label="NEW_SYSTEM"
exit
เราได้สร้าง GPT Partition Table, Service Partitions เล็ก 2 ตัว (EFI และ MSR) และ Partition ใหญ่ที่ครอบครองพื้นที่ที่เหลือทั้งหมดบน Drive ใหม่ (เรียนรู้เพิ่มเติมเกี่ยวกับ GPT Partition Structure ใน Windows และ EFI Partition)
หากมี Partitions บางตัวบน Drive คุณสามารถเปลี่ยน Partition Table Type จาก MBR เป็น GPT โดยไม่สูญเสียข้อมูลโดยใช้ Tool mbr2gpt.exe Built-in ใน Windows 10
ใช้คำสั่งต่อไปนี้สำหรับ BIOS MBR:
convert mbr
create partition primary align=1024
active
format fs="NTFS" quick label="NEW_SYSTEM"
exit

เพื่อ Clone Windows ไปยัง Drive ใหม่ คุณจะต้องมี Boot USB Stick พร้อม Windows 10 Install Image (ง่ายต่อการสร้างด้วย MediaCreationTool)
Restart Computer และ Boot จาก Windows 10 Install Media เมื่อหน้าต่าง Windows Installation ปรากฏ กด Shift+F10 เพื่อเปิด Command Prompt รันคำสั่งต่อไปนี้:
diskpart
list vol
exit
ในภาพหน้าจอด้านล่าง คุณเห็นว่า Drive Letter E: ถูกมอบหมายให้ Original Windows Partition บน Old Drive และ D: ถูกมอบหมายให้ Large Partition (พร้อม Label NEW_SYSTEM) บน Drive ใหม่
หาก Disk Letters ไม่ได้ถูก Assign คุณสามารถแก้ไขใน Diskpart ได้ดังนี้:
select disk 1
list part
select part 1
assign
list volume

จากนั้น Copy ไฟล์จาก Old Drive ที่มี Windows ติดตั้งไปยัง Drive ใหม่ วิธีที่ง่ายที่สุดคือใช้ robocopy คำสั่ง Robocopy ต่อไปนี้จะ Copy Symbolic Links, Files และ Folders ทั้งหมดที่มี Attributes, NTFS Permissions และ File Timestamps Log การ Copy จะถูกบันทึกที่ Root ของ Target Drive:
robocopy E:\ D:\ /E /COPYALL /COPY:DAT /SL /XJ /R:3 /W:3 /UNILOG:"D:\rcopy.log" /TEE

อาจใช้เวลานานในการ Copy ไฟล์ ขึ้นอยู่กับขนาด Old Disk ของคุณ (ในกรณีของผม ใช้เวลาประมาณ 1 ชั่วโมงในการ Copy Disk 60 GB)
จากนั้นคุณสามารถ Shutdown Computer และถอด Old Hard Drive ออกได้
ขั้นตอนต่อไปคือการตั้งค่า Windows Bootloader บน Disk ใหม่
หากคุณพยายาม Boot จาก Disk ใหม่โดยไม่แก้ไข Boot Records Error "Operation system not found" จะปรากฏ
Boot Computer ใน Windows Installation Environment อีกครั้งและเปิด Command Prompt (Shift+F10)
กู้คืน Bootloader บนอุปกรณ์ BIOS MBR
ตรวจสอบ Drive Letter ที่มอบหมายให้ Large Partition ใหม่บน Drive:
diskpart
list vol
Drive Letter C: ถูกมอบหมาย
Copy BCD Bootloader Files บน Drive C:
bcdboot C:\Windows /S C:
เปลี่ยน MBR Record และอัปเดต Boot Entries ใน BCD Configuration File:
bootrec.exe /FixMbr
bootrec.exe /FixBoot
bootrec.exe /RebuildBcd

นี่คือวิธีกู้คืน Bootloader UEFI GPT บนคอมพิวเตอร์ (เรียนรู้เพิ่มเติมในบทความเกี่ยวกับการซ่อมแซม EFI Bootloader บน Windows 10)
รับ System Drive Letter และ Assign Drive Letter ให้ EFI Partition
Diskpart
List vol

ในตัวอย่างนี้ Drive Letter C ถูกมอบหมายให้ System Partition คุณต้อง Assign Letter ให้ EFI Partition (100 MB และ FAT32) โดยใช้คำสั่งต่อไปนี้ (เปลี่ยนหมายเลข Partition ตาม Configuration ของคุณ):
select volume 1
assign letter M:
exit
ตอนนี้คุณต้องสร้าง BCD Bootloader และ Boot Configuration ใหม่:
cd /d m:\efi\microsoft\boot\
ren BCD BCD.bak
bcdboot c:\Windows /l en-us /s M: /f ALL
Restart Computer และถอด Boot USB Stick ออก ตรวจสอบว่า Windows 10 Boot ถูกต้องจาก Drive ใหม่ของคุณแล้ว

แอปที่ติดตั้งทั้งหมด ไฟล์ และการตั้งค่ายังคงอยู่เดิม คุณ Clone Windows 10 ที่ติดตั้งแล้วไปยัง Drive ใหม่สำเร็จแล้ว
เมื่อคุณ Copy ไฟล์ไปยัง Disk ใหม่โดยใช้ Robocopy บาง Errors อาจเกิดขึ้น เปิด rcopy.log บน Drive ใหม่ของคุณเพื่อดูว่าไฟล์ไหนไม่ได้ถูก Copy ในกรณีของผม มี 94 ไฟล์ที่ไม่ได้ Copy (เฉพาะ Junk และ Temporary Files ที่ไม่ได้ Copy)

บทความนี้ไม่ได้อธิบายวิธีสร้าง Boot Record สำหรับ Windows Recovery Environment ปกติจะอยู่บน System Reserved Partition แยก หากคุณต้องการตั้งค่า Windows Recovery Environment (WinRE) ปฏิบัติตามคำแนะนำในบทความนี้