Cách dễ dàng sao chép và khôi phục hình ảnh đĩa Linux với lệnh dd | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Cách dễ dàng sao chép và khôi phục hình ảnh đĩa Linux với lệnh dd

Chia sẻ kiến thức 13/03/2022

Nếu bạn muốn xóa, sao lưu hoặc khôi phục dữ liệu trên Linux, có một số ứng dụng bạn có thể chọn. Nhưng cho dù bạn chạy hệ điều hành Linux nào, thì có một lệnh có thể giúp bạn làm điều bạn muốn - dd.

Khi đến lúc xóa, sao lưu hoặc khôi phục dữ liệu trên Linux, có một số ứng dụng mà bạn có thể lựa chọn. GParted là một trong những lựa chọn phổ biến nhất. GNOME Disks là một giải pháp hiện đại hơn và hoạt động tốt trong môi trường desktop GNOME. Nhưng dù bạn chạy hệ điều hành Linux nào, có một lựa chọn luôn có hiệu quả: lệnh — đ.

Bạn có thể sử dụng Linux mà không cần phải sờ đến terminal. Nhưng một khi bạn thành thạo một số lệnh nhất định, bạn không chỉ tiết kiệm thời gian mà còn học được các kỹ năng có thể sử dụng trên bất kỳ phiên bản Linux nào.

Tại sao sử dụng lệnh dd?

Lệnh dd có hiệu quả cho dù bạn đang sử dụng desktop hay máy chủ. dd bắt đầu như một lệnh Unix, vì vậy ngoài Linux, nó hỗ trợ các hệ điều hành giống Unix khác như FreeBSD và macOS.

dd cũng chỉ mất vài giây để bắt đầu xóa hoặc tạo hình ảnh đĩa (disk image). Khi bạn biết phải nhập gì, bạn có thể mở một terminal và xóa ổ đĩa chỉ trong vài giây. 

Tuy nhiên, do lệnh sao chép ổ đĩa không khác nhiều so với lệnh xóa ổ đĩa, bạn cần đặc biệt cẩn thận về những gì bạn gõ khi làm việc với các lệnh có thể xóa tệp.

Ngay cả khi bạn là một chuyên gia về dd, bạn vẫn cần gõ các lệnh một cách cẩn thận. Một giây lơ đễnh có thể làm hỏng phần cứng và nhiều khả năng dẫn đến mất dữ liệu. Bây giờ, hãy bắt đâù.

Sao chép ổ đĩa bằng dd

Sao chép ổ đĩa là một cách chắc chắn để tạo bản sao lưu máy tính của bạn. Bạn có thể sao lưu dữ liệu vào ổ cứng di động hoặc Dropbox, nhưng thao tác này chỉ lưu các tệp của bạn.

Để lưu ứng dụng của mình, bạn phải học cách sao lưu từng ứng dụng riêng lẻ. Đối với một số người, điều đó có nghĩa là xuất một tệp cụ thể. Đối với những người khác, điều đó có nghĩa là sao chép một thư mục ẩn. Ngoài ra, có những ứng dụng mà bạn không thể sao lưu được.

dd giải quyết vấn đề này bằng cách tạo một bản sao chính xác của toàn bộ ổ cứng hoặc phân vùng (partition) của bạn. Khi bạn khôi phục bản sao này, bạn sẽ đưa máy tính của mình trở về trạng thái chính xác như cũ. Bạn sẽ lấy lại các tệp, ứng dụng, lịch sử duyệt web và thậm chí cả cài đặt hệ thống của mình. 

Để sao chép ổ đĩa của bạn, bạn sẽ cần một ổ đĩa thứ hai có nhiều dung lượng hơn ổ đĩa bạn đang sao chép. Có thể đây sẽ là một ổ cứng di động hoặc một usb dung lượng lớn. 

Bắt đầu bằng cách mở terminal. Bạn sẽ cần quyền quản trị viên để thực hiện bất kỳ lệnh dd nào. Bạn có thể nhập su để đăng nhập với tư cách quản trị viên hoặc nhập sudo ở đầu lệnh dd.

Khi bạn đã sẵn sàng sao chép, hãy nhập lệnh bên dưới. Lưu ý, nó sẽ xóa mọi dữ liệu đã có từ trước trên ổ thứ hai, vì vậy trước đó hãy nhớ sao lưu mọi dữ liệu bạn cần. 

dd if=/dev/sdX of=/dev/sdY

Trong lệnh trên, dd là lệnh. if là đầu vào, tức là vị trí ổ đĩa bạn muốn sao chép. of là đầu ra hoặc vị trí ổ đĩa bạn muốn lưu bản sao của ổ đĩa thứ nhất. 

sdX và sdY chỉ các ổ đĩa mà bạn đang tương tác. Các ổ đĩa thường có tên như /dev/sda/dev/sdb, hoặc /dev/sdc. Bạn có thể tìm ra tên bằng trình chỉnh sửa phân vùng (partition editor). Hoặc, vì bạn đã ở sẵn trong terminal, bạn có thể sử dụng lệnh lsblk.

Tạo hình ảnh đĩa

Một cách khác để sao chép ổ đĩa là tạo một hình ảnh đĩa mà bạn có thể di chuyển và khôi phục lại như cách bạn làm với USB có khả năng khởi động.

Tạo tệp hình ảnh cho phép bạn lưu nhiều bản sao lưu vào một đích duy nhất, chẳng hạn như ổ cứng di động lớn. Quá trình này chỉ yêu cầu một lệnh:

dd if=/dev/sdX of=path/to/your-backup.img

Để tiết kiệm dung lượng, bạn có thể ra lệnh để dd nén bản sao lưu của mình.

dd if=/dev/sdX | gzip -c > path/to/your-backup.img.gz

Lệnh này thu nhỏ bản sao lưu của bạn thành tệp IMG.GZ, một trong nhiều định dạng nén mà Linux có thể xử lý.

Khôi phục ổ đĩa bằng dd

Khi bạn đã sẵn sàng khôi phục hình ảnh bằng dd, bạn có hai lựa chọn. Nếu bạn sử dụng cách đầu tiên, chỉ cần hoán đổi hai điểm đến và đi.

dd if=/dev/sdY of=/dev/sdX

Khi khôi phục ổ đĩa từ tệp hình ảnh, khái niệm tương tự được áp dụng:

dd if=path/to/your-backup.img of=/dev/sdX

Nếu tệp hình ảnh của bạn được nén, thì mọi thứ sẽ khác một chút. Sử dụng lệnh này thay thế:

gunzip -c /path/to/your-backup.img.gz | dd of=/dev/sdX

gunzip ở đây là “g unzip” (unzip = giải nén), ngược lại với “g zip” (zip = nén). Lệnh này giải nén bản sao lưu của bạn. Sau đó, dd thay thế ổ đĩa hiện có bằng hình ảnh này.

Các thông số cần xem xét

Bạn có thể thay đổi lệnh của mình bằng cách dán một tham số (parameter) vào cuối. Theo mặc định, dd có thể mất một lúc để chuyển dữ liệu. Bạn có thể tăng tốc quá trình bằng cách tăng kích thước khối (block size). Làm như vậy bằng cách thêm bs = vào cuối.

dd if=/dev/sdX of=/dev/sdY bs=64

Ví dụ này tăng kích thước khối mặc định từ 512 byte lên 64 kilobyte.

conv=noerror khiến dd tiếp tục bất chấp bất kỳ lỗi nào xảy ra. Hành vi mặc định là nếu gặp lỗi, lệnh sẽ dừng lại, dẫn đến một tệp không đầy đủ. Hãy nhớ rằng việc bỏ qua lỗi không phải lúc nào cũng an toàn. Tệp kết quả có thể bị hỏng (corrupted).

conv=sync thêm các khối đầu vào có số 0 bất cứ khi nào có bất kỳ lỗi đọc nào (read error). Bằng cách này, data offset vẫn được đồng bộ hóa.

Nếu muốn, bạn có thể kết hợp chúng dưới dạng conv=noerror,sync. Không có khoảng trắng sau dấu phẩy.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/tag/easily-clone-restore-linux-disk-image-dd/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!