Shared Folders là một tính năng giúp bạn chia sẻ file trong VirtualBox. Bạn có thể chia sẻ dữ liệu giữa máy ảo VirtualBox và máy chủ một cách dễ dàng.
Để sử dụng tính năng Shared Folders, bạn cần phải cài đặt Guest Additions trên máy ảo. Shared Folders được hỗ trợ trên máy ảo Linux như Ubuntu, CentOS, Solaris và Windows, nhưng tính năng này không được hỗ trợ trên Mac OS X vì nó không hỗ trợ Guest Additions.
Bài viết này sẽ hướng dẫn bạn chia sẽ dữ liệu trong VirtualBox cho Linux (Ubuntu, CentOS) và Windows.
Chọn thư mục
Để sử dụng tính năng Shared Folders, đầu tiên bạn cần phải xác định thư mục trên máy thật mà bạn muốn chia sẽ trong máy ảo VirtualBox. Toàn bộ dữ liệu như folder và file trong thư mục này sẽ được gắn kết trong một thư mục khác trên máy ảo. Bạn có thể tạo một thư mục mới hoặc sử dụng bất kỳ một thư mục có sẵn hoặc một ổ đĩa.
- Mở VirtualBox, chọn tên máy ảo trong danh sách và nhấn nút Settings.
Hoặc từ menu của máy ảo, chọn Machine và chọn tiếp Settings.
Sau đó chọn mục Shared Folders ở bên trái cửa sổ. - Nhấn vào biểu tượng Adds new shared folder ở bên phải.
Trong mục Folder Path, bạn cần nhập đường dẫn của thư mục hoặc nhấn vào biểu tượng mũi tên xuống để chọn thư mục.
Bạn có thể chọn thư mục đã có trên máy tính hoặc tạo thư mục mới. - Nếu bạn thường xuyên chia sẽ dữ liệu giữa máy ảo và máy thật, bạn nên bật tùy chọn “Auto-mount” và “Make Permanent“.
Nhấn OK để lưu thiết lập.Bạn cần ghi nhớ mục Folder Name để sử dụng ở bước tiếp theo.- Folder Path: đây là đường dẫn đầy đủ đến thư mục mà bạn muốn chia sẽ với máy ảo.
- Folder Name: tên thư mục, bạn cần nhớ tên thư mục này để khai báo trong bước tiếp theo.
- Read-only: máy ảo chỉ được phép đọc, không được ghi hoặc xóa dữ liệu trong thư mục này.
- Auto-mount: tự động gắn kết thư mục này khi hệ thống khởi động.
- Make Permanent: sử dụng thư mục này vĩnh viễn.
- Nếu bạn chọn “Make Permanent” thì thư mục này sẽ nằm trong mục “Machine Folders“, có nghĩa là thư mục này sẽ được thiết lập vĩnh viễn trên máy ảo này cho đến khi bạn tự tay loại bỏ nó.
Ngược lại, nếu thư mục này nằm trong mục “Transient Folders“, điều đó nghĩa nó chỉ được thiết lập tạm thời và nó sẽ mất khi bạn tắt hoặc khởi động lại máy ảo.
Nhấn OK để lưu thiết lập.
Như vậy là bạn đã thiết lập thư mục để chia sẽ dữ liệu cho máy ảo. Bây giờ bạn chỉ cần gắn kết thư mục này vào máy ảo VirtualBox.
Gắn kết thư mục vào máy ảo
Sau khi đã chọn thư mục mà bạn muốn chia sẽ với máy ảo, bây giờ bạn cần phải gắn kết thư mục này vào máy ảo.
Đối với hệ điều hành Linux như Ubuntu và CentOS, bạn cần gắn kết thư mục đã chọn ở trên dưới một thư mục khác bên trong máy ảo.
Đối với Windows, thư mục được chia sẽ dưới một ổ đĩa bên trong máy ảo thay vì một thư mục như Linux.
Shared Folders trong máy ảo Linux
Để bật tính năng Shared Folders trong máy ảo Linux như Ubuntu và CentOS, bạn cần phải chọn một thư mục trong máy ảo để gắn kết thư mục trên máy thật.
Toàn bộ dữ liệu như folder và file có trong thư mục trên máy thật sẽ được gắn vào thư mục này.
- Bạn nên tạo một thư mục mới trên máy ảo. Để tạo thư mục mới trên Linux, mở Terminal và sử dụng lệnh sau:
mkdir ~/Shared
Lệnh trên sẽ tạo thư mụcShared
trong thư mụcHome
của bạn.
Bạn có thể tạo một thư mục dưới một tên bất kỳ và bất kỳ đâu bạn muốn. - Bây giờ bạn cần gắn kết thư mục mà bạn đã chọn ở trên, trong phần Folder Name (trong ví dụ ở trên là thư mục
Downloads
) dưới thư mụcShared
vừa tạo trên máy ảo.
Sử dụng lệnh sau:
sudo mount -t vboxsf Downloads ~/Shared
Lệnh trên sẽ gắn kết thư mụcDownloads
của máy thật như là thư mục~/Shared
của máy ảo.
Bạn có thể thay thế tên thư mục mà bạn muốn theo dạng sau:sudo mount -t vboxsf <Folder_Name_máy_thật> <Folder_máy_ảo>
Mặc định thì hệ thống sẽ không cho phép bạn chỉnh sửa, xóa hoặc ghi dữ liệu vào thư mục này nếu bạn không sử dụng quyền root.
Bạn có thể gắn kết thư mục và thiết lập quyền hạn bằng cách sử dụng lệnh sau:
sudo mount -t vboxsf -o rw,uid=1000,gid=1000,dmode=755,fmode=644 <Folder_Name_máy_thật> <Folder_máy_ảo>
Bạn cần phải thay đổi UID và GID thành của bạn. Sử dụng lệnhid -u
để kiểm tra UID vàid -g
để kiểm tra GID. - Nếu bạn không gặp lỗi thì có nghĩa là bạn đã gắn kết thành công.
Hãy vào thư mục~/Shared
để kiểm tra dữ liệu hoặc sử dụng lệnh sau để xem danh sách folder và file có trong thư mục đó:
ls -l ~/Shared
Để loại bỏ gắn kết, sử dụng lệnh sau:
sudo umount ~/Shared
Một số lỗi trong quá trình sử dụng lệnh:
- Đây là lỗi không tồn tại thư mục trên máy ảo, bạn cần tạo thư mục và khai báo chính xác tên thư mục đã tạo:
/sbin/mount.vboxsf: mounting failed with the error: No such file or directory - Lỗi này xãy ra khi bạn khai báo tên thư mục trên máy thật không chính xác:
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
Trên đây là cách gắn kết thư mục mà bạn muốn chia sẽ trong máy ảo Linux. Hoạt động trên tất cả các hệ điều hành như Ubuntu, CentOS…
Shared Folders trong máy ảo Windows
Để bật tính năng Shared Folders trong máy ảo Windows, bạn không cần phải tạo một thư mục trong máy ảo giống như trong máy ảo Linux. Máy ảo Windows sử dụng ổ đĩa để gắn kết thư mục của máy thật.
Đối với máy ảo Windows 10 của mình thì VirtualBox tự động gắn kết thư mục này. Bạn có thể vào My Computer (hoặc File Exploer đối với Windows 10) để kiểm tra, nếu có một ổ đĩa trong mục Network locations như sau thì thư mục này đã được gắn kết tự động.
Nếu hệ thống không tự động gắn kết, bạn có thể gắn kết thủ công bằng cách sử dụng cách sau. Trong máy ảo Windows, mở chương trình Command Prompt hoặc run cmd và chạy lệnh sau:
net use x: \\vboxsvr\Downloads
- x: đây là ký tự của ổ đĩa mà bạn muốn sử dụng, bạn cần phải chọn ký tự chưa được hệ thống sử dụng. Ví dụ: x, y, z đều được.
- Downloads: đây là tên thư mục (Folder Name) trên máy thật mà bạn đã chọn ở trên.
Nếu bạn nhận được thông báo như sau là thành công, bây giờ bạn có thể kiểm tra ổ đĩa này trong My Computer (hoặc File Exploer đối với Windows 10) tại mục Network locations.
The command completed successfully.
Một số lỗi trong khi sử dụng lệnh trên:
- Đây là lỗi ký tự ổ đĩa đã tồn tại trên máy ảo, bạn cần khai báo một ký tự ổ đĩa khác:
System error 85 has occurred.The local device name is already in use. - Đây là lỗi khi bạn sử dụng ký tự không hợp lệ cho ổ đĩa hoặc khai báo tên thư mục không chính xác:
System error 67 has occurred.The network name cannot be found.
Như vậy là bạn đã thiết lập thành công tính năng Shared Folders để chia sẽ dữ liệu trong máy ảo VirtualBox.