Chủ Nhật, 22 tháng 8, 2010

Chạy Windows XP trong Linux - Vài mẹo với VirtualBox

Chạy Windows 7 trên máy thật được vài tháng, tuy rất ít khi dùng nhưng tôi vẫn cảm thấy thật bất tiện. Có vài lý do. Thứ nhất là khởi động lâu, thứ 2 là thường xuyên cập nhật, mà mỗi lần cập nhật xong lại khởi động lại rất mất thời gian, thứ 3 là hơi ì ạch, thứ tư là ProgeCad 2009 không tương thích với Windows 7 nên chậm và hay bị lỗi, thứ 5 là dùng Linux quen rồi...

Vậy là tôi quyết định gỡ bỏ Windows 7, chuyển sang dùng Windows XP trên máy ảo VirtualBox trong Linux.

Từ Software

Dùng Windows XP trên máy ảo có vài điều lợi. Thứ nhất là khởi động và tắt máy rất nhanh, thứ 2 là không mất thời gian cài Driver gì cả (máy ảo mà)...

Có một điều tôi rất thích, là có thể đem file "Hard Disk" của máy ảo (tên_máy_ảo.VDI) từ máy này sang máy khác. Như vậy là chỉ với 1 bản Windows XP, chỉ cần cài đặt một lần, mà tôi có thể chạy trên nhiều máy khác nhau được.

Từ Software


Phần 1. GIỚI THIỆU chung:

Tham khảo: VirtualBox 4.0 Review: What to Expect From This Major Release

Tham khảo cách cài đặt Windows XP trên VirtualBox tại đây (bài viết tuy hơi cũ nhưng vẫn rất có ích): http://maketecheasier.com/how-to-install-windows-in-ubuntu-hardy-with-virtualbox/2008/07/02

VirtualBox có 2 phiên bản, 1 là bản mã mở VirtualBox-OSE thường có sẵn trong kho của các phân phối Linux, 2 là bản binary-only (Virtualbox-PUEL) miễn phí của Oracle.

Bản OSE có vài hạn chế so với bản FUEL, 1 trong những hạn chế quan trọng là không hỗ trợ Share USB.

Hướng dẫn chi tiết và Link download bản Virtualbox-PUEL cho một số phân phối Linux: http://www.virtualbox.org/wiki/Linux_Downloads

Theo hướng dẫn tại địa chỉ bên trên, với họ Debian (như Ubuntu) có thể đăng ký thêm kho cho Virtualbox-PUEL vào /etc/apt/sources.list:

Phiên bản VirtualBox 3.2: deb http://download.virtualbox.org/virtualbox/debian lucid non-free

Phiên bản VirtualBox 4.0: deb http://download.virtualbox.org/virtualbox/debian maverick contrib

Quan trọng: Thay "lucid" hoặc "maverick" bằng tên mã của bản phân phối bạn đang dùng (Lucid là tên mã của Ubuntu 10.04 LTS, Maverick là tên mã của Ubuntu 10.10)

Rồi còn phải download và đăng ký "public key":

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -


Với họ Debian, Ubuntu, có thể tham khảo bài viết "INSTALL VIRTUALBOX 4.0 (STABLE) IN UBUNTU, VIA REPOSITORY": http://www.webupd8.org/2010/12/install-virtualbox-40-stable-in-ubuntu.html


Với Archlinux, bản FUEL cũng có trong kho cộng đồng AUR, tên gói là "virtualbox_bin"


Phần 2. LƯU Ý:

- Với VirtualBox 4.0, để chia sẻ được cổng USB với máy ảo, cần phải cài thêm module "VirtualBox 4.0 Oracle VM VirtualBox Extension Pack" (link tải vẫn ở trang: www.virtualbox.org/wiki/Downloads)

- Cần phải thêm User vào nhóm "vboxusers":

$ sudo gpasswd -a tên_User vboxusers

- Nếu muốn chia sẻ máy in với máy ảo, bạn còn cần phải thêm User vào nhóm "lp":

$ sudo gpasswd -a tên_User lp

Từ Software

- Nếu muốn chia sẻ file với máy ảo, hoặc chạy máy ảo ở chế độ toàn màn hình (giống máy thật), thì bạn phải cài gói (Driver) Guest Additions cho máy ảo:

Từ Software


Phần 3. VÀI MẸO với Virtualbox:

1- Nên chọn thư mục chứa các file "Hard Disk" của các máy ảo ở nơi có nhiều dung lượng trống:

Từ Software

2- Vì Windows trên máy ảo vẫn có thể bị virus, nên khi Share phân vùng (hoặc thư mục) có định dạng Fat hoặc NTFS thì nên để read-only (nếu không nhất thiết phải share full)

Từ Software

3- Sau khi sử dụng một thời gian, nếu để ý bạn sẽ thấy file "Hard Disk" của máy ảo cứ càng ngày càng phìng to ra, nhất là với Windows (gỡ bỏ bớt phần mềm cũng không nhỏ lại). Nhưng cũng có cách để thu nhỏ file máy ảo lại, theo 4 bước như sau (Ở đây chỉ đề cập đến Windows):

Bước 1: Dồn ổ, chống phân mảnh cho các ổ cứng cho máy khách Windows (Nên dùng phần mềm miễn phí IObit SmartDefrag)

Bước 2: Xóa vùng trống trên ổ cứng máy khách Windows bằng phần mềm Sdelete (Link download: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx)

Để làm việc này, trên máy khách Windows, mở trình cửa sổ dòng lệnh Dos lên (Programs --> Accessories --> Command Prompt), rồi chạy lệnh:

cd \đường_dẫn\tới_thư_mục_chứa_Sdelete
sdelete -c c:
sdelete -c d: (nếu có ổ D)
...


Bước 3: Tạo bản sao file "Hard Disk" của máy khách Windows. Trên máy chủ Linux, mở trình dòng lệnh lên, rồi chạy lệnh:

VBoxManage clonehd /đường_dẫn/tên_file_cũ.vdi /đường_dẫn/tên_file_mới.vdi

(Lưu ý những chỗ viết hoa ở dòng lệnh bên trên)

Bước 4: Cập nhật lại file "Hard Disk" của máy khách Windows trên máy ảo. File mới có thể nhỏ hơn file cũ được khá nhiều, tính bằng Gb cơ đấy :D


P/S: Cộng đồng mã nguồn mở hãy là những người tôn trọng bản quyền. Đừng sử dụng Windows không bản quyền bạn nhé.

Xem bài viết này và bình luận trên Ubuntu-VN: http://forum.ubuntu-vn.org/viewtopic.php?f=101&t=11337

5 nhận xét:

  1. Dưới đây là phần nội dung mới Update ngày 11/01/2010:


    Hướng dẫn chi tiết và Link download bản Virtualbox-PUEL cho một số phân phối Linux: http://www.virtualbox.org/wiki/Linux_Downloads

    Theo hướng dẫn tại địa chỉ bên trên, với họ Debian (như Ubuntu) có thể đăng ký thêm kho cho Virtualbox-PUEL vào /etc/apt/sources.list:

    Phiên bản VirtualBox 3.2:
    deb http://download.virtualbox.org/virtualbox/debian lucid non-free

    Phiên bản VirtualBox 4.0:
    deb http://download.virtualbox.org/virtualbox/debian maverick contrib

    Quan trọng: Thay "lucid" hoặc "maverick" bằng tên mã của bản phân phối bạn đang dùng (Lucid là tên mã của Ubuntu 10.04 LTS, Maverick là tên mã của Ubuntu 10.10)

    Rồi còn phải download và đăng ký "public key":
    $ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

    Trả lờiXóa
  2. BỔ XUNG ngày 14/01/2011 (đã sửa vào bài viết):

    - Với VirtualBox 4.0, để chia sẻ được cổng USB với máy ảo, cần phải cài thêm module "VirtualBox 4.0 Oracle VM VirtualBox Extension Pack" (link tải vẫn ở trang: www.virtualbox.org/wiki/Downloads)

    Trả lờiXóa
  3. Với họ Debian, Ubuntu, có thể tham khảo bài viết "INSTALL VIRTUALBOX 4.0 (STABLE) IN UBUNTU, VIA REPOSITORY": http://www.webupd8.org/2010/12/install-virtualbox-40-stable-in-ubuntu.html

    Trả lờiXóa
  4. - Cần phải thêm User vào nhóm "vboxusers":

    $ sudo gpasswd -a tên_User vboxusers

    - Nếu muốn chia sẻ máy in với máy ảo, bạn còn cần phải thêm User vào nhóm "lp":

    $ sudo gpasswd -a tên_User lp


    ĐOẠN NÀY LÀM THẾ NÀO VẬY BẠN? CHỈ RÕ GIÚP MÌNH. THANKS!

    Trả lờiXóa
    Trả lời
    1. mở trình dòng lệnh lên, rồi chạy các lệnh đó. Lưu ý bỏ dấu $ đi. (Dấu $ để ghi chú đó là dòng lệnh)

      Xóa