Kỹ thuật Ntfs2btrfs chuyển đổi tại chỗ hệ thống tệp NTFS sang Btrfs mã nguồn mở
(github.com/maharmstone)Ntfs2btrfs
Ntfs2btrfs là công cụ chuyển đổi hệ thống tệp NTFS của Microsoft sang Btrfs, một hệ thống tệp mã nguồn mở. Công cụ này tương tự btrfs-convert, vốn dùng để chuyển đổi ext2. Sau khi chuyển đổi, ảnh gốc sẽ được lưu tại image/ntfs.img; nếu muốn giữ nguyên kết quả chuyển đổi, bạn có thể xóa tệp này để giải phóng dung lượng. Dù được cho là ổn định, nhưng nếu có sự cố xảy ra thì tác giả không chịu trách nhiệm. Trình điều khiển hệ thống tệp Btrfs cho Windows là WinBtrfs cũng là thứ đáng quan tâm. Xin cảm ơn Eric Biggers, người đã đảo ngược kỹ thuật thành công "dữ liệu nén WOF" của Windows 10, và mã của ông đã được sử dụng.
Cách sử dụng
- Windows: chạy
ntfs2btrfs.exe D:\trong dấu nhắc lệnh quản trị viên- Không hoạt động trên ổ khởi động hoặc ổ đang chứa page file được sử dụng
- Nếu dùng WinBtrfs thì cần gỡ cờ chỉ đọc của subvolume
imagethì mới có thể xóa
- Linux: chạy
ntfs2btrfs /dev/sda1với quyền root
Cài đặt
- Windows: tải tệp Zip mới nhất từ trang Releases hoặc dùng Scoop
- Linux:
- Arch
- Fedora (nhờ Conan-Kudo)
- Gentoo - có sẵn dưới dạng sys-fs/ntfs2btrfs trong kho guru
- Debian (nhờ alexmyczko)
- Ubuntu (nhờ alexmyczko)
- openSUSE (nhờ David Sterba)
- Với các bản phân phối hay hệ điều hành khác, cần tự biên dịch
Nhật ký thay đổi
- 20240115
- Sửa lỗi biên dịch trên GCC 14 (
-Werror=incompatible-pointer-typesđược bật mặc định)
- Sửa lỗi biên dịch trên GCC 14 (
- 20230501
- Sửa lỗi thứ tự không được
btrfs checkchẩn đoán ra - Sửa lỗi các mục metadata được ghi với giá trị level sai
- Bỏ qua ADS có tên quá dài
- Sửa lỗi thứ tự không được
- 20220812
- Thêm tùy chọn --no-datasum để bỏ qua việc tính checksum
- Bảo toàn metadata LXSS / WSL
- Sửa lỗi không nhận diện được ký tự ổ đĩa viết thường
- Sửa lỗi hỏng dữ liệu khi có tệp ở megabyte cuối cùng của đĩa
- 20210923
- Thêm hỗ trợ nén (Btrfs) (zlib, lzo, zstd)
- Thêm hỗ trợ các thuật toán băm khác: xxhash, sha256, blake2
- Thêm hỗ trợ rollback về NTFS
- Tăng tốc độ chuyển đổi trên các volume có nhiều inode
- Sửa lỗi khi có tệp phân mảnh ở vị trí superblock
- Sửa lỗi tràn bộ đệm khi đọc security descriptor
- Sửa lỗi hỏng hệ thống tệp mà
btrfs checkkhông phát hiện được
- 20210523
- Cải thiện xử lý các tệp nén lớn
- 20210402 (bản phát hành chỉ có mã nguồn)
- Sửa lỗi biên dịch trên kiến trúc không phải amd64
- 20210105
- Thêm hỗ trợ nén NTFS
- Thêm hỗ trợ "dữ liệu nén WOF"
- Sửa các vấn đề do sparse file gây ra
- Các sửa lỗi khác
- 20201108
- Cải thiện xử lý lỗi
- Thêm thông báo tốt hơn khi NTFS bị hỏng hoặc không sạch
- Cải thiện xử lý tái định vị
- 20200330
- Bản phát hành đầu tiên
Biên dịch
- Windows: mở thư mục mã nguồn bằng phiên bản MSVC mới nhất, rồi nhấp chuột phải vào CMakeLists.txt để biên dịch
- Linux:
mkdir buildcd buildcmake ..make- Cần cài libfmt - có trong trình quản lý gói
- Hỗ trợ nén cần zlib, lzo, zstd - cũng có trong trình quản lý gói. Để tắt, xem các tùy chọn cmake WITH_ZLIB, WITH_LZO, WITH_ZSTD
Những gì hoạt động
- Tệp
- Thư mục
- Liên kết tượng trưng
- Các điểm phân tích lại khác
- Security descriptor
- Luồng dữ liệu thay thế
- Thuộc tính DOS (ẩn, hệ thống, v.v.)
- Rollback bằng ảnh NTFS gốc
- Bảo toàn metadata LXSS
Những gì không hoạt động
- Thuộc tính mở rộng cũ của Windows (không được dùng)
- ADS lớn (trên 16KB) (không được dùng)
- Bảo toàn cờ phân biệt chữ hoa/chữ thường
- Kích thước cluster bất thường (không phải 4KB)
- Tệp được mã hóa
Có thể khởi động Windows từ Btrfs không
- Có thể, nhưng phải đáp ứng một số điều kiện nhất định. Xem Quibble.
1 bình luận
Ý kiến trên Hacker News
Mức độ kiểu "hold-my-beer" rất cao
Khi thử trước đây thì ổ đĩa đã trở thành chỉ đọc
Rất ngầu, nhưng sẽ phải mất ít nhất một tuần nữa mọi người mới nghe tin này
Đang nghĩ cách áp dụng cho ZFS
Sẽ rất ngạc nhiên nếu nó hỗ trợ các tệp dùng nén LZX
compact.exe /C /EXE:LZX (tên tệp)NTFS ổn định, nhanh hơn btrfs và có cùng tính năng