Trong bài viết này, chúng tôi sẽ chỉ cách sao chép (di chuyển) cài đặt Windows của bạn mà không cần cài đặt lại sang ổ cứng khác bằng công cụ tích hợp (không dùng phần mềm bên thứ ba như Paragon, AOMEI hay Acronis). Ví dụ, hướng dẫn này sẽ giúp bạn di chuyển Windows từ HDD sang SSD mới, clone Windows đã cài đặt và cấu hình sang máy tính khác (có một số lưu ý) hoặc ổ cứng mới lớn hơn.
Làm ví dụ, chúng ta sẽ clone Windows 10 đã cài đặt sang ổ mới dùng USB boot, dấu nhắc lệnh và công cụ tích hợp robocopy.
Lưu ý bạn chỉ có thể clone hệ điều hành bằng cách sao chép sang ổ mới nếu bạn di chuyển nó trên cùng một máy tính (hoặc hai máy tính với phần cứng tương tự). Nếu bạn muốn sao chép Windows đã cài đặt sang ổ cho máy tính khác, bạn sẽ phải lấy driver mới cho bộ điều khiển ổ đĩa, chipset và card video để boot OS trên phần cứng mới.
Bạn có thể clone ổ cứng sang ổ mới nhỏ hơn nếu Windows chiếm diện tích trên ổ hiện tại nhỏ hơn kích thước ổ mới. Ngược lại, bạn sẽ phải xóa/di chuyển một số tệp từ ổ nguồn. Thường thấy câu hỏi này khi di chuyển sang SSD, thường nhỏ hơn HDD truyền thống.
Thủ tục di chuyển Windows sang ổ khác phụ thuộc vào firmware máy tính: BIOS hoặc UEFI. Chạy lệnh sau:
msinfo32
Nếu bạn thấy Legacy trong giá trị BIOS mode, máy tính dùng BIOS (hoặc UEFI làm việc ở chế độ Legacy/CSM). Nếu thấy UEFI, bạn có máy tính hiện đại, và Windows cài ở chế độ UEFI.
- Nếu máy tính làm việc ở chế độ UEFI gốc và dùng bảng phân vùng GPT cho ổ boot, tôi sẽ gắn thẻ lệnh cho máy như vậy bằng
UEFI GPT - Nếu bạn có máy cũ với BIOS hoặc UEFI làm việc ở chế độ Legacy và bảng phân vùng ổ là MBR, lệnh sẽ được đánh dấu
BIOS MBR
Trước hết, bạn phải tạo bảng phân vùng trên ổ mới. Bạn có thể làm trực tiếp từ Windows 10 đang chạy dùng diskpart. Nếu ổ mới, khởi tạo nó bằng diskmgmt.msc hoặc cmdlet Initialize-Disk PowerShell:
Get-Disk | Where-Object PartitionStyle –Eq 'RAW' | Initialize-Disk
Sau đó tạo bảng phân vùng trên ổ mới. Mở dấu nhắc lệnh với quyền admin và chạy lệnh:
diskpart
Trong ngữ cảnh diskpart, chạy các lệnh sau:
list disk
select disk 1 (tùy theo số ổ mới mà lệnh trước trả về)
clean
Sau đó lệnh sẽ khác tùy loại nền tảng.
Cho 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
Chúng ta đã tạo bảng phân vùng GPT, hai phân vùng dịch vụ nhỏ (EFI và MSR) và một phân vùng lớn chiếm toàn bộ không gian còn lại trên ổ mới (tìm hiểu thêm về cấu trúc phân vùng GPT trong Windows và phân vùng EFI).
Nếu trên ổ đã có một số phân vùng, bạn có thể thay đổi loại bảng phân vùng từ MBR sang GPT mà không mất dữ liệu bằng công cụ mbr2gpt.exe tích hợp trong Windows 10.
Dùng lệnh sau cho BIOS MBR:
convert mbr
create partition primary align=1024
active
format fs="NTFS" quick label="NEW_SYSTEM"
exit
Để clone Windows sang ổ mới, bạn cần USB boot với hình ảnh cài đặt Windows 10 (dễ tạo bằng MediaCreationTool).
Khởi động lại máy tính và boot từ phương tiện cài đặt Windows 10. Khi cửa sổ cài đặt Windows xuất hiện, nhấn Shift+F10 để mở dấu nhắc lệnh. Chạy các lệnh sau:
diskpart
list vol
exit
Trong ảnh chụp màn hình dưới đây, bạn thấy ký tự ổ E: được gán cho phân vùng Windows gốc trên ổ cũ, và D: cho phân vùng lớn (nhãn NEW_SYSTEM) trên ổ mới.
Nếu ký tự ổ không được gán, bạn có thể sửa trong diskpart như sau:
select disk 1
list part
select part 1
assign
list volume
Sau đó sao chép tệp từ ổ cũ cài Windows sang ổ mới. Cách dễ nhất là dùng robocopy. Lệnh robocopy sau sẽ sao chép tất cả symbolic link, tệp và thư mục chứa thuộc tính, quyền NTFS và dấu thời gian tệp. Nhật ký sao chép sẽ lưu ở gốc ổ đích:
robocopy E:\ D:\ /E /COPYALL /COPY:DAT /SL /XJ /R:3 /W:3 /UNILOG:"D:\rcopy.log" /TEE
Việc sao chép tệp có thể mất nhiều thời gian tùy kích thước ổ cũ (trong trường hợp tôi, mất khoảng một giờ để sao chép ổ 60 GB).
Sau đó bạn có thể tắt máy và tháo ổ cứng cũ.
Bước tiếp theo là cấu hình bootloader Windows trên ổ mới.
Nếu bạn thử boot từ ổ mới mà không sửa bản ghi boot, lỗi Operation system not found sẽ xuất hiện.
Boot máy tính vào môi trường cài đặt Windows lại và mở dấu nhắc lệnh (Shift+F10).
Khôi phục bootloader trên thiết bị BIOS MBR.
Kiểm tra ký tự ổ gán cho phân vùng lớn mới trên ổ:
diskpart
list vol
Ký tự ổ C: được gán.
Sao chép tệp bootloader BCD trên ổ C:
bcdboot C:\Windows /S C:
Thay đổi bản ghi MBR và cập nhật mục boot trong tệp cấu hình BCD:
bootrec.exe /FixMbr
bootrec.exe /FixBoot
bootrec.exe /RebuildBcd
Cách khôi phục bootloader UEFI GPT trên máy tính (xem thêm bài viết sửa bootloader EFI trên Windows 10).
Lấy ký tự ổ hệ thống và gán ký tự ổ cho phân vùng EFI.
Diskpart
List vol
Trong ví dụ này, ký tự ổ C được gán cho phân vùng hệ thống. Bạn phải gán ký tự cho phân vùng EFI (100 MB và FAT32) bằng các lệnh sau (thay đổi số phân vùng theo cấu hình của bạn):
select volume 1
assign letter M:
exit
Bây giờ cần tái tạo bootloader BCD và cấu hình boot:
cd /d m:\efi\microsoft\boot\
ren BCD BCD.bak
bcdboot c:\Windows /l en-us /s M: /f ALL
Khởi động lại máy tính và tháo USB boot. Đảm bảo Windows 10 đã boot chính xác từ ổ mới.
Tất cả ứng dụng, tệp và cài đặt đã cài đặt vẫn giữ nguyên. Bạn đã sao chép thành công Windows 10 đã cài đặt sang ổ mới.
Khi sao chép tệp sang ổ mới bằng robocopy, một số lỗi có thể xảy ra. Mở rcopy.log trên ổ mới để xem tệp nào chưa được sao chép. Trong trường hợp tôi, 94 tệp không sao chép được (chỉ tệp rác và tạm thời).
Bài viết không mô tả cách tạo bản ghi boot cho Windows Recovery Environment. Thường nó nằm trên phân vùng System Reserved riêng. Nếu bạn muốn cấu hình Windows Recovery Environment (WinRE), làm theo hướng dẫn trong bài viết này.