Cách ghi vào phân vùng Windows trong Linux

Nếu có khả năng khởi động kép Windows và Linux, bạn có thể nhận thấy rằng khi mount một phân vùng NTFS từ Linux, có những lúc bạn không thể ghi vào nó. Bạn có thể đọc bất cứ thứ gì mình có ở đó, nhưng không thể xóa các file, đổi tên, sửa đổi chúng hoặc ghi những file và thư mục mới.

Tại sao không thể ghi trên các phân vùng Windows từ Linux?

Điều này xảy ra vì các phân vùng được mount trong chế độ chỉ đọc. Một số trình quản lý file sẽ hiển thị hộp thoại thông báo khi bạn mount phân vùng Windows và cảnh báo bạn về điều này. Những trình quản lý file khác không đề cập đến bất cứ điều gì - đơn giản là bạn không thể thực hiện bất kỳ thao tác ghi nào trên hệ thống file NTFS.

Tại sao không thể ghi trên các phân vùng Windows từ Linux?

Nhưng tại sao phân vùng lại được mount ở chế độ chỉ đọc? Nguyên nhân là do một tính năng có tên gọi Fast Startup. Tóm lại, khi bạn tắt máy tính, Windows sẽ lưu một phần bộ nhớ truy cập ngẫu nhiên (RAM) vào ổ đĩa. Lần sau khi bạn khởi động, nó sẽ load phần đó trở lại vào bộ nhớ.

Việc này nhanh hơn nhiều vì nó gần như là một thao tác sao chép đơn giản từ ổ đĩa sang bộ nhớ. Ngược lại, một file khởi động bình thường được đọc từ ổ đĩa, và sau đó CPU phải xử lý rất nhiều dữ liệu để khởi tạo mọi thứ. Nếu điều đó nghe có vẻ trừu tượng, hãy tưởng tượng mọi thứ theo cách này: Việc khởi động bình thường giống như chuẩn bị thức ăn từ đầu, sau đó đặt vào lò nướng. Việc khởi động nhanh giống như lấy thức ăn đã được chuẩn bị từ tủ lạnh và hâm nóng lại.

Fast Startup là một tính năng an toàn

Tóm lại, khi Windows tắt, nó đưa dữ liệu hệ điều hành chính vào trạng thái “ngủ đông” trong ổ đĩa. Vào thời điểm khởi động lại sau khi ngủ đông, Windows sẽ hoạt động trở lại và bắt đầu nhanh hơn nhiều. Vì chế độ ngủ đông đóng băng một số dữ liệu bộ nhớ và trạng thái hệ điều hành, sau đó lưu vào ổ đĩa, nên sẽ rất rủi ro khi sửa đổi bất kỳ dữ liệu nào trên ổ đĩa đó.

Hãy tưởng tượng một chương trình đang ở thực hiện dở một nhiệm vụ nào đó. Chương trình có một vài file đang mở với một phần nội dung được viết trong đó. Khi hệ thống tắt, code chương trình được lưu vào ổ đĩa để có thể khôi phục lại sau. Nếu bạn sửa đổi các file chương trình, khi ứng dụng hoạt động trở lại, nó sẽ không tìm được dữ liệu đang làm việc, vì vậy ứng dụng sẽ ngưng hoạt động hoặc đơn giản là mất tất cả tiến trình, một tình huống có thể khó khôi phục.

Cách tạo phân vùng NTFS có thể ghi từ Linux

Có hai cách giải quyết, mỗi cách có nhược điểm riêng. Nếu bạn hiếm khi cần phải ghi trên các phân vùng Windows từ Linux, hãy thử một phương pháp được đề cập trong phần tiếp theo.

Boot vào Windows và khởi động lại thay vì tắt

Quả thực, điều này hơi bất tiện. Tuy nhiên, nó cũng là cách khắc phục nhanh nhất cho vấn đề này và không liên quan đến việc thay đổi bất cứ thứ gì về lâu về dài, như những gì các giải pháp khác thực hiện.

1. Nếu bạn hiện đang ở trong Linux, hãy khởi động lại.

2. Boot vào Windows.

3. Nhấp vào menu Start và chọn khởi động lại thay vì tắt.

4. Cuối cùng, boot lại vào Linux và bạn sẽ có thể mount các phân vùng NTFS của Windows ở chế độ đọc/ghi.

Khi Windows khởi động lại, nó sẽ không sử dụng tính năng Fast Startup cho lần boot tiếp theo. Điều này có nghĩa là nó không ngủ đông, chụp nhanh trạng thái vận hành hệ thống hoặc lưu bất kỳ dữ liệu bộ nhớ nào vào ổ đĩa. Không có dữ liệu ngủ đông trên các phân vùng đồg nghĩa với việc an toàn khi ghi trên chúng và Linux sẽ nhận ra điều đó.

Trong trường hợp có bất kỳ sự nhầm lẫn nào, bạn không cần phải trải qua tất cả 4 bước trên. Miễn là lần gần nhất boot vào Windows, bạn đã khởi động lại thay vì tắt nó, thì Linux sẽ có thể ghi trên các phân vùng NTFS.

Vô hiệu hóa Fast Startup

Điều này rất hữu ích nếu bạn thường xuyên phải ghi trên các phân vùng Windows từ Linux. Hạn chế là hệ điều hành của Microsoft sẽ mất nhiều thời gian hơn để boot.

Vô hiệu hóa Fast Startup

Tham khảo bài viết: Cách tắt Fast Startup trên Windows 10 và Windows 8.1/8 để biết cách làm chi tiết.

Trên đây là những phương pháp an toàn. Nếu bạn chấp nhận rủi ro, lệnh Linux sau đã hoạt động trong quá khứ. (Mặc dù vậy, nó dường như không hoạt động với các phiên bản Windows hiện đại.) Thay thế “/dev/sda4” bằng tên thiết bị chính xác cho phân vùng NTFS. Nếu không biết tên thiết bị, bạn có thể tìm thấy nó bằng cách làm theo hướng dẫn trong bài viết: Liệt kê tên thiết bị, thông tin ổ đĩa và phân vùng trong Linux với lsblk.

sudo mount -o remove_hiberfile /dev/sda4 /mnt

Hãy nhớ rằng bạn có thể làm hỏng tiến trình boot tiếp theo của Windows, vì vậy hãy thử cách trên chỉ khi bạn chấp nhận chịu rủi ro và có khả năng khắc phục những sự cố với Windows. Nếu cách này phù hợp với bạn, bạn sẽ tìm thấy nội dung của phân vùng Windows trong thư mục “/mnt”.

Chúc bạn thực hiện thành công!

Thứ Hai, 07/10/2019 08:18
52 👨 203