This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Terabyte Image For Windows kết hợp với batch script(*.cmd)

readcx

Búa Gỗ
Tự động hóa sao lưu và phục hồi hệ thống (windows) có thể không cần thiết đối với những ai đã sử dụng thành thạo những phần mềm thuộc lĩnh vực này. Tuy nhiên, khi hướng dẫn phục hồi hệ thống từ file đã sao lưu cho người thân hoặc bạn bè chưa thành thạo máy vi tính thì việc “tự động hóa” này sẽ rất cần thiết. Đặc biệt là khi chúng ta không trực tiếp thực hiện mà chỉ hỗ trợ người khác qua điện thoại.

Về cách thực hiện, có thể tóm tắt các bước chính như sau:
1. Chuẩn bị một bản winPE (nếu nhu cầu chỉ sao lưu và phục hồi windows thì nên chọn bản nhẹ nhất, hoặc có thể chỉ lấy file *.wim)

2. Thêm winPE vào menu khởi động của Windows

3. Copy phần mềm Terabyte 3.56 (phiên bản mới nhất là 3.58) vào một thư mục nào đấy thuộc ổ D, Ví dụ D:\Backup\Terabyte 3.56. Nếu phần mềm ở dạng file nén thì bung nén để sử dụng.

4. Tạo file backup hệ điều hành đang sử dụng, đặt tên cho nó (ví dụ Win10Pro22H2.tbi) và lưu vào thư mục D:\Backup.

5. Tạo file restore.cmd (nội dung của file nàysẽ trình bày sau) lưu trong thư mục phần mềm Terabyte 3.56

6. Chọn tự động hoàn toàn hay tự động không hoàn toàn.
a) Tự động hoàn toàn
Nghĩa là khi máy tính khởi động, ta chỉ việc dùng phím mũi tên chọn dòng vào winPE rồi bấm phím enter, việc phục hồi hệ thống sẽ diễn ra hoàn toàn tự động, không phải thao tác gì nữa.

Để thực hiện, có nhiều cách khác nhau. Đơn giản nhất là tạo shortcut cho file restore.cmd sau đó mở winPE.wim bằng 7.zip (hoặc các phần mềm chỉnh sửa *.Wim) chuyển shortcut của restore.cmd vào thư mục startup theo đường dẫn X:\ ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp. Nếu trong file WinPE.wim không có thư mục Startup thì tạo thư mục theo cấu trúc trên.

b)Tự động không hoàn toàn:
Chọn phương án này khi ta vừa muốn sử dụng phần mềm Terabyte phục hồi tự động vừa muốn sử dụng nhiều phần mềm khác của WinPE. Để phục hồi hệ thống ta không chọn từ menu khởi động của Windows mà chọn từ menu của phần mềm Terabyte. Lưu ý, để gọi menu thì không sử dụng file *.exe mà phải thực thi từ file ImageforWindows_x64.cmd.

Để thực hiện, ta chỉnh sửa file ImageforWindows_x64.cmd nằm trong thư mục phần mềm Terabyte.

Hình nội dung trong file ImageforWindows_x64.cmd (file để chúng ta chỉnh sửa thêm, bớt menu)


Kết quả
Hình menu của phần mềm Terabyte


7. Nội dung dòng lệnh restore trong file restore.cmd như sau:
Imagew64 /r /u /uy /d:w0 /f:Đ:\Backup\Win10.tbi /ubp /rb:4​
Lệnh này sẽ phục hồi tất cả các phân vùng trong image win10.tbi.


Để tùy chọn phục hồi 1 hoặc nhiều phân vùng từ một file backup đầy đủ, ta sử dụng tham số /sp: p . Sp là tham số chỉ định còn P (không có khoảng cách với sp: ) là ID phân vùng nguồn ở dạng hex hoặc ký hiệu thập phân.

Phần mềm sẽ xóa các phân vùng trước khi thực hiện tác vụ phục hồi. Vì vậy, nếu muốn giữ lại phân vùng nào đó ta sử dụng tham số /rp:n với n là giá trị ID. Ví dụ: Ổ đĩa cứng (vật lý) cài Windows chứa bốn phân vùng: ID 0x1 Recovery, ID 0x2 phân vùng hệ thống, ID 0x3 Windows, ID 0x4 Dữ liệu. Phân vùng Recovery 0x1 chứa ảnh sao lưu của các phân vùng 0x2, 0x3 và 0x4. Để giữ lại phân vùng recovery thì phải sử dụng tham số rp:0x1:

imagew /r /d:w0 /f:w0@0x1:\Recovery.tbi /sp:0x2,0x3,0x4 /x /rft /rp:0x1 /ubp​


8. Nếu muốn thêm vào menu phần mềm dòng backup tự động, ta sử dụng dòng lệnh:
imagew64.exe /b /d:0@0x01,0x2,0x3,0x4 /f:Đ:\Backup\Win10.tbi​
Lệnh này sẽ lưu 4 phân vùng có ID 01, 02, 03 và 04 (tương ứng với 4 phân vùng EFI, MSR, Windows và Recovery).

Nếu không muốn sao lưu cả 4 phân vùng ta có thể tùy chọn phân vùng để sao lưu.

Trước khi sao lưu, cần kiểm tra phân vùng và cách đánh số ID phân vùng. Để kiểm tra tạo file kiemtra_ID.cmd lưu trong thư mục phần mềm Terabyte với nội dung: imagew64 /l /d:0 > listpart.txt. Chạy file này và kiểm tra danh sách phân vùng cùng id của chúng ở file listpart.txt (lưu trong thư mục phần mềm).

Hình nội dung file listpart.txt



Hoặc đơn giản hơn là mở phần mềm Terabyte -> backup -> Full để kiểm tra.
Hình kiểm tra ID phân vùng bằng chính phần mềm Terabyte (máy thật)


ID phân vùng giữa các máy có thể có sự khác nhau. Hình dưới đây là của máy ảo:



Chú thích
Cấu trúc lệnh có dạng imagew [action] [options]
Trong đó, action gồm các tham số (or thông số?) chính là:
/B Backup sao lưu
/R Restore phục hồi
/Copy Sao chép
/V (Validate) xác thực
/L danh sách phân vùng
/Reboot Khởi động lại

Options thì rất nhiều tham số, cần tra cứu qua file hướng dẫn của chương trình để nắm rõ hơn.

Các tham số khác ở dòng lệnh trên:
/u và /uy là các tham số giúp chúng ta không phải tương tác với phần mềm. Nói cách khác là các tham số này ngăn phần mềm hiện các thông báo trong quá trình thực hiện.
/d:w0@0x1 là ổ đĩa nguồn (nơi cài đặt windows) và phân vùng. 0x1,0x2,0x3 là ID của các phân vùng 1,2,3…
/f: chỉ định đường dẫn lưu file ảnh
/ubp là cập nhật lại BCD trong thư mục EFI. Có thể bỏ qua tham số này nếu muốn giữ nguyên menu boot hiện tại.
/pw là password
/rft là track o
/x sử dụng khi kích thước phân vùng của Image nhỏ hơn kích thước phân vùng tương ứng trên máy sẽ phục hồi

Vì sử dụng file backup ở cùng 1 máy nên không cần sử dụng nhiều tham số. Nếu làm file Image (đa cấu hình) sử dụng cho nhiều máy khác nhau sẽ cần nhiều tham số hơn.

Tôi chỉ ghi lại quá trình “vọc” thành công của cá nhân, nếu có chỗ nào chưa chính xác mong mọi người sửa giúp. Những thắc mắc (nếu có) hy vọng các chuyên gia trong diễn đàn trợ giúp.

Cập nhật 13h 20/04/2023:
- Nếu muốn hệ thống khởi động lại thì thêm tham số /rb:4 vào cuối dòng lệnh
- Thêm hình, chỉnh sửa lại cách diễn đạt ở một số chỗ giúp người đọc dễ hiểu hơn

Cập nhật 04h30 21/03/2023
Bổ sung và sửa một số chỗ ở mục 7 và 8

Cập nhật 9h15 24/04/2023
Link script sử dụng trong bài viết (mediafire)
Lưu ý, ngoài lệnh backup thì các lệnh khác chỉ có thể sử dụng ở môi trường WinPE

Cập nhật 14h45 ngày 25/04/2023
Đối với mục 6b. Chỉnh sửa menu của phần mềm Terabyte. Những trường hợp đơn giản thì ta thay đổi trực tiếp trong ImageforWindows_x64.cmd. Khi gặp những trường hợp phức tạp, phải viết nhiều dòng thì tốt nhất là ta nên tạo file mới ví dụ như backup_win10.cmd hay restore_win10.cmd v.v... lưu trong thư mục phần mềm Terabyte. Tiếp theo, thay vì phải viết dài dòng nội dung của file ấy thì ta chỉ cần viết dòng Call restore_win10.cmd hay call backup_win10.cmd v.v.... từ menu tương ứng trong file ImageforWindows_x64.cmd. Ví dụ dòng 2 ở hình đầu tiên, thay vì phải viết:
Call :_Run "start Imagew64 /r /u /uy /d:w0 /fD :\Backup\Winl0.tbi /ubp /rb:4 & exit​
Ta thay bằng: Call restore_win10.cmd
 
Sửa lần cuối:

rkdc131

Rìu Sắt
Bạn viết bài chèn thêm hình cho sinh động đi bạn, chứ viết một sớ như vầy ai đọc cũng sợ, mà sợ thì chẳng hiểu được, chưa kể mục 7 và mục 8 của bạn còn thành mặt cười nữa
 

readcx

Búa Gỗ
Cảm ơn bạn đã góp ý. Mặt cười do ứng dụng forum tự thêm vào, tôi không biết cách sửa nên chỉ có thể sửa thành f:Đ:\ (Đ là D). Sẽ thêm hình khi có thời gian.
 
Sửa lần cuối:

rkdc131

Rìu Sắt
Bạn có thể dùng trang "https://upanh.vn-z.vn/" của diễn đàn mình để thêm hình ảnh (tải ảnh lên rồi copy link ảnh, sau đó chèn vào bài (Ctrl + P))
 
Sửa lần cuối:

mrJaden

Rìu Bạc Đôi
Good idea, thank bạn, mong chờ update
À theo mình nên có thêm cảnh báo trc khi restore, để check lại các pv cho đúng. Vd hỗ trợ ng ở xa thì chỉ cần trc khi restore họ chụp gửi ảnh để mình biêt là pv bị restore là đúng hay k, tránh TH mất dữ liệu
 

readcx

Búa Gỗ
Nếu thao tác nhiều quá thì sẽ mất đi tính tự động. Tuy nhiên, để cẩn thận thì ta có thể thêm một số dòng lệnh kiểm tra vào file restore.cmd hoặc tạo 2 file kiemtra_id_image.cmd và kiemtra_ID_part. cmd lưu trong thư mục phần mềm. Sau đó dùng lệnh call trong file restore.cmd để gọi 2 file này.

Nội dung kiemtr_ID_Image.cmd


Nội dung Nội dung kiemtr_ID_part.cmd


Để tránh bấm nhầm khi không cần phục hồi Windows thì ta thêm dòng hỏi người sử dụng hoặc đặt Pass để khi bấm nhầm thì vẫn còn cơ hội để thoát.
Dòng lệnh trong restore.cmd:


Sau khi hiện kết quả kiểm tra partitions và ID, ta chỉ việc bấm enter để tiếp tục.

Kết quả kiểm tra id phân vùng của image:



Kết quả kiểm tra id phân vùng trên máy tính:


(Lưu ý, ngoài lệnh backup thì các dòng lệnh ở đây chỉ sử dụng ở môi trường winPE)
 
Sửa lần cuối: