Vì ecryptfs được viết dưới dạng một mô-đun hạt nhân, nên "công cụ" để thực hiện điều này là, một hạt nhân Linux.
Nhưng sau đó chúng ta vẫn phải sao chép dữ liệu vào windows hoặc đọc nó từ bên trong linux.
Rất may, chúng tôi có thể sử dụng các công cụ tự động để tải xuống, cài đặt, thiết lập và chạy kernel Linux trong windows với một số lệnh shell windows hiểu biết. Vagrant xử lý các thư mục chia sẻ giữa Windows và Ubuntu một cách dễ dàng và có thể được cài đặt thông qua một vài lệnh trong windows
Trước khi chúng tôi bắt đầu, nếu bạn muốn sao chép các tệp được mã hóa (bao gồm các thư mục meta) từ phân vùng ext4 sang NTFS, tôi khuyên dùng Disk Internals Linux Reader , nhưng nếu bạn hiểu biết về mount
lệnh unix, bạn có thể bỏ qua bước này (tôi chỉ thích GUI của mount
lệnh hơn)
Cài đặt vagrant thông qua trình cài đặt chính thức (không khuyến nghị cổng sô cô la)
Trong dấu nhắc quản trị windows (Nhấn phím windows và gõ lệnh, sau đó nhấp chuột phải chạy với tư cách quản trị viên):
Cài đặt chocolatey sau đó khởi động lại dấu nhắc lệnh quản trị viên và gõ:
choco install Cygwin cyg-get
Trong dấu nhắc cygwin (Nhấn phím windows và gõ cygwin):
cyg-get install
# ASSUMING you copied all the decrypted files to windows, otherwise use mount method below
cd /cygdrive/c/<path to where encryptfs folder is located in windows>
# Either way:
vagrant init ubuntu/xenial64
vagrant up
vagrant ssh
Bây giờ bạn sẽ có vỏ Ubuntu thông qua Máy ảo:
sudo apt update
sudo apt install ecrypt-utils tree -y
# At this point you can use mount command, or if you just have the raw files on disk:
cd /vagrant/.ecryptfs
ls
cd myusername
ls .Private
# Either way, let's decrypt
# This WILL fail the first time due a strange bug,
ecrypt-recover-private .Private
# We will start and cancel a mount to fix the bug.
# Choose defaults for everything except passphrase (just press ENTER repeatedly)
sudo mount -t ecryptfs .Private/ decrypted
# Then cancel the mount
Would you like to proceed with the mount (yes/no)? : no
# Now that we fixed the bug with a canceled mount, let's actually recover:
ecrypt-recover-private .Private
# Now that should succeed, so see your data with this
tree /tmp
Nếu điều này không thành công, bạn có thể muốn đảm bảo rằng bạn có tệp mật khẩu được bọc ( sudo updatedb && locate wrapped-passphrase
) hoặc xem xét việc chèn cụm mật khẩu được bọc vào vòng khóa
Vẫn có vấn đề? Hãy thử phương pháp gắn kết. Bạn cũng có thể tìm hiểu thêm về những điều sau đây ( chi tiết hơn ở đây ):
sudo mount -t ecryptfs /dev/mydevicehere decrypted
Lưu ý rằng bạn có thể thực hiện việc gắn kết này mà không cần sao chép BẤT K file tệp nào từ ext4 sang NTFS và bỏ qua một số bước.
Khi bạn thành công, nếu bạn muốn các tệp này có thể truy cập vào windows, chỉ cần sao chép chúng vào /vagrant
bằng cp
lệnh - lưu ý rằng bạn đang sao chép dữ liệu bằng cách thực hiện việc này.
Tất cả đã được làm xong? Vui mừng? Thoát khỏi máy ảo Ubuntu bằng cách gõ exit
và sau đó tắt nó bằng cách gõ vagrant halt
và xóa VM bằng cách nhậpvagrant destroy