Sau một thời gian sử dụng hệ điều hành Ubuntu để phục vụ cho các hoạt động học tập, làm việc hay nghiên cứu, bạn nhận ra rằng dung lượng ổ cứng hiện tại (chẳng hạn 40 GB) không thể đáp ứng được nhu cầu cài đặt phần mềm và lưu trữ dữ liệu của mình. Do đó, bạn muốn chuyển sang một ổ cứng mới với dung lượng lớn hơn (chẳng hạn 160 GB), với điều kiện phải đảm bảo rằng Ubuntu cùng những ứng dụng và dữ liệu trên ổ cứng mới hoàn toàn giống với đĩa cứng cũ.

Ubuntu cung cấp cho bạn một số công cụ để thực hiện thao tác này. Ở đây, chúng ta sử dụng công cụ ddrescue. Ddrescue sẽ giúp bạn chuyển toàn bộ phân vùng trên ổ cứng cũ sang ổ cứng mới, bao gồm cả phần cùng Windows (nếu cài đặt song song hai hệ điều hành). Sau đó, bạn sử dụng tiện ích Gparted để mở rộng các phân vùng.


1. Các bước chuẩn bị
Trước khi chuyển, bạn cần thực hiện một vài thao tác chuẩn bị. Trước hết, nhằm phòng ngừa khả năng mất mát dữ liệu, bạn nên sao lưu dữ liệu quan trọng vào một vị trí an toàn (chẳng hạn đĩa CD/DVD, USB, ổ cứng ngoài hoặc trên mạng). Tiếp theo, bạn nên chạy các chương trình kiểm tra hệ thống file trên ổ cứng cũ (check disk) và fix lỗi nếu có. Hệ thống file dành cho Windows cũng không loại trừ. Cuối cùng, bạn cần loại bỏ các thiết bị lưu trữ di động ra khỏi hệ thống.

Sau khi hoàn thành các hoạt động chuẩn bị, bạn gõ lệnh fdisk -l để hiển thị thông tin chi tiết về các ổ cứng trên hệ thống và danh sách các phân vùng trên mỗi đĩa.
Trong hình trên, bạn sẽ nhận ra hai ổ cứng tương ứng với hai dòng Disk /dev/sdaDisk /dev/sdb. Theo sau đó là dung lượng tương ứng và các thông số kỹ thuật liên quan. Bạn nên căn cứ vào thông tin về dung lượng để xác định chính xác đâu là ổ cứng cũ và đâu là ổ cứng mới. Ở đây, ổ cứng cũ có dung lượng khoảng 10 GB và mới có dung lượng khoảng 40 GB. Nếu xác định nhầm, thao tác chuyển sẽ bị thực hiện không đúng và dẫn đến mất mát dữ liệu của bạn.

Tiếp theo, bạn cần sử dụng chương trình cfdisk để chuẩn bị cho việc phân vùng lại toàn bộ ổ cứng mới.
# cfdisk -z /dev/sdb
Lệnh này sẽ tạo ra một bảng phân vùng trống (zeroed partition table). Khi màn hình cfdisk xuất hiện, bạn gõ W (chữ hoa) hoặc chọn menu Write và nhập yes để ghi bảng phân vùng mới này lên ổ cứng. Thao tác ghi này có thể xóa sạch dữ liệu, vì vậy bạn cần chắc chắn rằng mình đã chỉ định đúng ổ cứng trước khi đồng ý. Cuối cùng, bạn bấm phím q hoặc chọn menu Quit để thoát khỏi chương trình cfdisk.
Lưu ý: khi bạn nhập yes, cfdisk sẽ ghi bảng phân vùng lên đĩa, đồng thời yêu cầu kernel đọc lại bảng phân vùng từ đĩa. Việc đọc lại của kernel trong hầu hết các trường hợp đều thực hiện thành công. Tuy nhiên, đôi khi thất bại cho đến khi bạn khởi động lại hệ thống. Cho nên, nhằm an toàn cho hệ thống, sau khi thực hiện chương trình cfdisk, bạn nên khởi động lại.

2. Chuyển sang ổ đĩa mới
Để chuyển Ubuntu từ đĩa cứng cũ sang đĩa cứng mới, bạn cần chạy Ubuntu từ đĩa CD, sau đó cập nhật danh sách phần mềm và cài đặt công cụ ddrescue lên hệ thống.

Khi khởi động thành công Ubuntu từ đĩa CD, bạn dùng công cụ NetworkManager để khai báo các thông số về mạng sao cho Ubuntu có thể kết nối Internet. Tiếp theo, bạn vào menu System -> Administration -> Software Sources, trên tab Ubuntu Software, bạn đánh dấu chọn mục Community-maintained Open Source software (universe). Sau đó, bấm nút Close. Trong hộp thoại yêu cầu cập nhật thông tin về danh sách phần mềm sẵn sàng cho việc cài đặt và cập nhật, bạn bấm nút Reload.

Sau khi cập nhật thành công, bạn cài đặt công cụ ddrescue lên hệ thống bằng lệnh:
# apt-get install gddrescue
Sau khi cài đặt thành công, bạn thực hiện lệnh sau để chuyển:
# ddrescue -v /dev/sda /dev/sdb
Ở đây, /dev/sda là ổ cứng cũ, /dev/sdb là ổ cứng mới, và tham số -v dùng để hiển thị trạng thái của quá trình chuyển đổi. Lưu ý rằng thứ tự của hai ổ ở trên là rất quan trọng. Nếu không đặt đúng, dữ liệu của bạn có thể bị ghi đè.

Lượng thời gian chuyển đổi nhiều hay ít phụ thuộc vào dung lượng ổ cứng và dữ liệu chứa trên đó (khoảng hơn 1 giờ đồng hồ). Sau khi hoàn thành, bạn tắt máy, lấy ổ cứng cũ ra khỏi hệ thống. Tiếp theo, khởi động lại hệ thống với ổ cứng mới.

Đến đây, khi các bước ở trên đều được thực hiện thành công, bạn cần chuyển sang thao tác cuối cùng: mở rộng các phân vùng để tận dụng không gian lớn hơn trên ổ cứng mới.

3. Mở rộng các phân vùng
Trước khi mở rộng phân vùng, bạn nên kiểm tra hệ thống file trên các phân vùng đó. Để thực hiện, bạn khởi động Ubuntu từ đĩa CD. Tại cửa sổ dòng lệnh, bạn gõ:
# fsck.ext3 -f /dev/sda2
Lệnh này sẽ kiểm tra phân vùng được dùng để cài đặt Ubuntu. Khi lệnh thực hiện thành công, bạn khởi chạy tiện ích phân vùng đĩa Gparted bằng cách vào menu System -> Administration -> Partition Editor. Trong cửa sổ này, bạn tiến hành các bước sau đây:

a) Giải phóng phân vùng swap (/dev/sda3) bằng cách kích phải chuột lên mục linux-swap, chọn Swapoff. Thao tác này có tác dụng ngưng việc Ubuntu chạy từ đĩa CD sử dụng phân vùng swap.
b) Tiếp theo, bạn di chuyển phân vùng swap bằng cách kích chuột phải lên mục linux-swap, chọn Resize/Move. Trong hộp thoại Resize/Move xuất hiện, bạn rê chuột lên thanh tương ứng với phân vùng swap. Khi con trỏ chuột chuyển sang dạng bàn tay, bạn kích chuột và kéo thanh swap về phía bên phải của phân vùng còn trống. Khi giá trị ở mục Free Space Following (MiB) chuyển về 0, bấm nút Resize/Move.
c) Kế đến, bạn kích chuột phải lên mục ext3 (/dev/sda2), chọn Resize/Move. Trong hộp thoại Resize/Move xuất hiện, bạn kích lên cạnh bên phải của thanh tương ứng với phân vùng ext3. Khi con trỏ chuột chuyển sang dạng mũi tên hai đầu (<- ->),bạn kích chuột và kéo cạnh bên phải của thanh ext3 về phía bên phải của phân vùng còn trống. Khi giá trị ở mục Free Space Following (MiB) chuyển về 0, bấm nút Resize/Move.

d) Khi đã điều chỉnh xong các thông số về kích thước các phân vùng, trên toolbar của GParted, bạn bấm nút Apply. Khi hộp cảnh báo xuất hiện, bạn bấm nút Apply một lần nữa để bắt đầu tiến trình mở rộng các phân vùng trên ổ đĩa mới. Nếu muốn xem chi tiết tiến trình mở rộng, bạn bấm nút Details. Khi thông báo All operations successfully completed xuất hiện, bạn bấm nút Close để đóng hộp thoại Applying pending operations, đồng thời chọn Quit trên menu GParted để đóng cửa sổ chính của tiện ích này.

Khi hoàn thành tiến trình mở rộng các phân vùng, bạn thực hiện lệnh fsck.ext3 -f /dev/sda2 một lần nữa để kiểm tra lỗi trên phân vùng vừa mới mở rộng. Nếu có lỗi, bạn hãy đồng ý fix lỗi khi hộp thông báo xuất hiện. Sau khi kiểm tra xong, bạn khởi động lại hệ thống với ổ cứng mới. Đến đây, phân vùng chứa Ubuntu đã được mở rộng. Bạn có thể xem bằng lệnh fdisk -l.

Nếu muốn mở rộng phân vùng chứa Windows (khi cài đặt song song hai hệ điều hành), bạn thực hiện các bước tương tự như trên. Lưu ý rằng, bạn cần phải thực hiện theo thứ tự: thay đổi phân vùng swap, phân vùng ext3, rồi mới đến phân vùng NTFS chứa Windows.
Tô Thanh Hải - tthai@huesoft.com.vn
Nguồn: QuanTriMang