Tôi thường cần sử dụng Windows 10 và Ubuntu trên cùng một máy trong một phiên đăng nhập duy nhất, vì vậy tôi chạy Ubuntu như một máy ảo trong Oracle VirtualBox. Nhưng tôi cũng muốn có thể khởi động máy tính của mình vào Ubuntu gốc, vì vậy cấu hình khởi động kép là tối ưu.
Để có được những điều tốt nhất của cả hai thế giới, tôi cài đặt Ubuntu trong cấu hình khởi động kép cùng với Windows và cấu hình VirtualBox để truy cập các phân vùng đĩa Ubuntu dưới dạng ảnh đĩa thô. Điều này cho phép tôi khởi động trực tiếp vào Ubuntu hoặc khởi động cùng một cài đặt Ubuntu từ bên trong Windows bằng VirtualBox.
Cấu hình này đã được thực hiện thành công bằng Ubuntu 14.04.4, Windows 10 Pro v.1511 bản dựng 10586 và VirtualBox 5.0.24 cho Windows 64 bit.
Xác minh ISO trước khi cài đặt. Tải xuống SHA256SUMS và SHA256SUMS.gpg từ cùng thư mục chứa ISO. Đối với Ubuntu 14.0.4, các tệp nằm tại đây(bản sao ngẫu nhiên tại Hoa Kỳ).
Sử dụng gpg để xác minh tính xác thực của SHA256SUMS. (Nếu bạn đang sử dụng máy chỉ chạy Windows, gpg có sẵn dưới dạng gói cho Cygwin.)
Tải xuống khóa công khai của Ubuntu và thêm vào vòng chìa khóa của gpg:
Xác minh dấu vân tay của khóa:
Xác minh tệp SHA256SUMS bằng chữ ký trong SHA256SUMS.gpg:
Nếu bạn thấy "Chữ ký tốt", thì tệp đã được xác minh. (Bạn có thể nhận được thông báo về khóa không được chứng nhận bằng chữ ký đáng tin cậy, nghĩa là bạn chưa đánh dấu cụ thể khóa của Ubuntu là đáng tin cậy. Có thể bỏ qua thông báo này.)
Cuối cùng, hãy xác minh ISO. SHA256SUMS sẽ chứa một số tổng kiểm tra, vì vậy hãy chỉ grep tổng kiểm tra bạn cần và kiểm tra bằng gpg.
Nhấp chuột phải vào phân vùng Windows và chọn Thu nhỏ dung lượng.
Đối với mục đích của tôi, 20 GB là đủ cho Ubuntu nên tôi thu nhỏ dung lượng Windows theo dung lượng đó:
Hoạt động thành công và tôi còn lại ít hơn 20 GB dung lượng chưa phân bổ:
Bạn có thể ghi ISO bằng tiện ích dd. Với tư cách là root:
Trong đó sdx là mã định danh thiết bị của đĩa USB của bạn, ví dụ: sdb. Không chỉ định phân vùng, chẳng hạn như sdb1.
Khi bạn đã sẵn sàng tạo USB, hãy nhấp vào Bắt đầu.
Khi quá trình cài đặt hoàn tất, hãy tháo phương tiện cài đặt và khởi động lại. Bạn sẽ được chào đón bằng menu khởi động GRUB. Chọn Ubuntu.
Nếu bạn sẽ cài đặt VirtualBox Guest Services để nâng cao trải nghiệm ảo hóa của mình, hãy cài đặt các yêu cầu xây dựng mô-đun hạt nhân:
Bạn cũng có thể muốn cài đặt trình quản lý cửa sổ ưa thích của mình ngay bây giờ:
Mở dấu nhắc lệnh với tư cách Quản trị viên. Sử dụng công cụ Dòng lệnh Windows Management Instrumentation (WMIC) để lấy DeviceID cho ổ đĩa vật lý:
Trong ví dụ này, DeviceID của chúng tôi là\\.\PHYSICALDRIVE0.
Trong Dấu nhắc lệnh của Quản trị viên, hãy thay đổi thư mục thành thư mục cài đặt VirtualBox của bạn và sử dụng VBoxManage để liệt kê tất cả các phân vùng trên ổ đĩa đó:
Đầu ra sẽ giống như sau:
Tại đây, phân vùng số 1 là cài đặt Windows của tôi và phân vùng2 là phân vùng Windows Recovery của tôi. Phân vùng 6 là cài đặt Ubuntu của tôi và phân vùng 5 là phân vùng hoán đổi Ubuntu.
Tôi muốn tạo một ảnh đĩa thô cung cấp quyền truy cập vào các phân vùng Ubuntu của tôi, đó là phân vùng 5 và 6. Đối với cấu hình này, lệnh VBoxManage là:
Trong đó C:\path\to\ubuntu-raw.vmdk là vị trí của tệp ảnh đĩa thô cần tạo.
Trong bước này, chúng ta tạo một GRUB Recovery ISO có thể khởi động mà Máy ảo sẽ sử dụng để khởi động vào Ubuntu.
Trong Ubuntu, hãy chọn một vị trí (chẳng hạn như thư mục tạm thời) và tạo cấu trúc thư mục iso/boot/grub.
Sao chép nội dung của /usr/lib/grub/i386-pc/*vào iso/boot/grub:
Sau đó sao chép /boot/grub/grub.cfg vào cùng thư mục:
Chỉnh sửa bản sao này của grub.cfg bằng trình soạn thảo văn bản yêu thích của bạn:
Trong tệp này, hãy định vị và xóa mục menu khởi động cho Windows 10. Mục này trông như thế này:
Bình luận hoặc xóa mục menu này (mọi mục giữa menuentry và }, bao gồm). Ghi các thay đổi vào grub.cfg và thoát khỏi trình soạn thảo.
Tiếp theo, sử dụng grub-mkrescue để tạo GRUB ISO có thể khởi động. Điều này yêu cầu GNUxorriso. Nếu bạn chưa cài đặt, hãy cài đặt ngay:
Chạy grub-mkrescue, chỉ định thư mục iso của bạn:
Điều này tạo ra ISO khôi phục GRUB có thể khởi động boot.iso, phải được chuyển sang Windows 10. Sao chép nó vào ổ đĩa USB của bạn.
Khởi chạy VirtualBox với tư cách là Quản trị viên. Điều quan trọng là VirtualBox phải có quyền Quản trị viên để có thể truy cập phân vùng Ubuntu.
Bây giờ, hãy tạo một Máy ảo mới cho Ubuntu. Khi cấu hình ổ đĩa cứng, hãy chọn Sử dụng tệp ổ đĩa cứng ảo hiện có. Chọn tệp VDMK mà bạn đã tạo ở bước 7. Ảnh đĩa thô này cho phép máy ảo của bạn truy cập phân vùng Ubuntu.
Sau khi tạo máy ảo Ubuntu, hãy chọn máy ảo đó và đi tới Cài đặt-> Lưu trữ. Chọn Controller: IDE và sử dụng biểu tượng ổ đĩa quang để thêm ổ đĩa di động.
Chọn tệp boot.iso của bạn và nhấp vào OK.
Bây giờ khi bạn khởi động máy ảo, nó sẽ đọc GRUB Recovery ISO như một ổ đĩa di động và cung cấp cho bạn menu khởi động GRUB, trừ tùy chọn khởi động Windows 10.
Sau bước này, Máy ảo của bạn sẽ sẵn sàng hoạt động.
Bạn có thể tạm dừng VM và để nó ở trạng thái đã lưu giữa các phiên ảo hóa liên tiếp, nhưng hãy đảm bảo tắt máy ảo đúng cách trước khi khởi động máy tính trực tiếp vào Ubuntu.
Không cố gắng truy cập phân vùng Windows của bạn từ bên trong Máy ảo Ubuntu -- điều này sẽ tạo ra kết quả không thể đoán trước. Làm như vậy có thể phá hủy dữ liệu! Sử dụng các phương pháp khác để trao đổi dữ liệu giữa Ubuntu VM và Windows, chẳng hạn như phương tiện di động hoặc truyền dữ liệu mạng như rsync.
Sau đó, cập nhật cấu hình GRUB của bạn:
...và khởi động lại.
Để có được những điều tốt nhất của cả hai thế giới, tôi cài đặt Ubuntu trong cấu hình khởi động kép cùng với Windows và cấu hình VirtualBox để truy cập các phân vùng đĩa Ubuntu dưới dạng ảnh đĩa thô. Điều này cho phép tôi khởi động trực tiếp vào Ubuntu hoặc khởi động cùng một cài đặt Ubuntu từ bên trong Windows bằng VirtualBox.
Cấu hình này đã được thực hiện thành công bằng Ubuntu 14.04.4, Windows 10 Pro v.1511 bản dựng 10586 và VirtualBox 5.0.24 cho Windows 64 bit.
Bước 1: Bật Công nghệ ảo hóa
Truy cập phần cứng trực tiếp là chìa khóa cho cấu hình này, vì vậy hãy đảm bảo rằng công nghệ ảo hóa được bật trong BIOS của bạn, cụ thể là Intel VT-x hoặc AMD-v.Bước 2: Tải xuống và xác minh Ubuntu ISO
Tải xuống ISObạn sẽ cài đặt trên hệ thống của mình. Trong ví dụ này, chúng tôi đang cài đặt phiên bản máy tính để bàn 64 bitcủa Ubuntu 14.0.4.Xác minh ISO trước khi cài đặt. Tải xuống SHA256SUMS và SHA256SUMS.gpg từ cùng thư mục chứa ISO. Đối với Ubuntu 14.0.4, các tệp nằm tại đây(bản sao ngẫu nhiên tại Hoa Kỳ).
Sử dụng gpg để xác minh tính xác thực của SHA256SUMS. (Nếu bạn đang sử dụng máy chỉ chạy Windows, gpg có sẵn dưới dạng gói cho Cygwin.)
Tải xuống khóa công khai của Ubuntu và thêm vào vòng chìa khóa của gpg:
Mã:
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xEFE21092
Mã:
gpg --list-keys with-fingerprint 0xEFE21092
Mã:
gpg --verify SHA256SUMS.gpg SHA256SUMS
Cuối cùng, hãy xác minh ISO. SHA256SUMS sẽ chứa một số tổng kiểm tra, vì vậy hãy chỉ grep tổng kiểm tra bạn cần và kiểm tra bằng gpg.
Mã:
sha256sum -c < (grep ubuntu-14.04.4-desktop-amd64.iso SHA256SUMS)
Bước 3. Tạo phân vùng để cài đặt Ubuntu
Tạo phân vùng để Ubuntu sử dụng, sử dụng tiện ích phân vùng đĩa mà bạn chọn. Trong ví dụ này, tôi bắt đầu từ bản cài đặt Windows nên tôi sử dụng Trình quản lý đĩa Windows 10. Windows 10 chiếm toàn bộ đĩa; Tôi cần tạo ra một số không gian cho Ubuntu.Nhấp chuột phải vào phân vùng Windows và chọn Thu nhỏ dung lượng.
Đối với mục đích của tôi, 20 GB là đủ cho Ubuntu nên tôi thu nhỏ dung lượng Windows theo dung lượng đó:
Hoạt động thành công và tôi còn lại ít hơn 20 GB dung lượng chưa phân bổ:
Bước 4: Tạo phương tiện Ubuntu có thể khởi động
Tiếp theo, tạo phương tiện USB có thể khởi động từ Ubuntu ISO. Quá trình này sẽ ghi đè TẤT CẢ dữ liệu trên ổ đĩa USB, vì vậy hãy di chuyển mọi dữ liệu đã tồn tại trước đó khỏi ổ đĩa USB trước khi tiếp tục.Tạo USB có thể khởi động trong Linux:
Xác định tên thiết bị của ổ USB của bạn bằng lsblk. Nếu đĩa đã được gắn kết, hãy hủy gắn kết ngay bây giờ.Bạn có thể ghi ISO bằng tiện ích dd. Với tư cách là root:
Mã:
dd bs=4M if=/path/to/ubuntu-14.04.4-desktop-amd64.iso of=/dev/[B]sdx[/b] && sync
Tạo USB có thể khởi động trongWindows 10:
Tôi khuyên bạn nên sử dụng Rufus, một ứng dụng Windows miễn phí. Trong hộp thoại Rufus, bạn có thể chọn ISO nguồn bằng cách nhấp vào biểu tượng phương tiện di động (được chỉ ra ở đây bằng mũi tên màu đỏ).Khi bạn đã sẵn sàng tạo USB, hãy nhấp vào Bắt đầu.
Bước 5: Cài đặt Ubuntu
Khởi động máy tính của bạn từ ổ USB, ổ này sẽ khởi động phiên Ubuntu Live. Chọn Cài đặt Ubuntu cùng với Windows 10.Khi quá trình cài đặt hoàn tất, hãy tháo phương tiện cài đặt và khởi động lại. Bạn sẽ được chào đón bằng menu khởi động GRUB. Chọn Ubuntu.
Bước 6: Cập nhật Ubuntu
Đăng nhập vào Ubuntu, mở một terminal và cập nhật hệ thống của bạn.
Mã:
sudo apt-get update && sudo apt-get upgrade
Mã:
sudo apt-get install[B]dkms build-essentials linux-headers-generic[/b]
Mã:
[B]sudo apt-get install openbox[/b]
Bước 7: Tạo VirtualBox Raw Disk Imageof Ubuntu Phân vùng
Khởi động vào Windows 10. Nếu bạn chưa cài đặt VirtualBox, hãy cài đặt ngay.Mở dấu nhắc lệnh với tư cách Quản trị viên. Sử dụng công cụ Dòng lệnh Windows Management Instrumentation (WMIC) để lấy DeviceID cho ổ đĩa vật lý:
Mã:
wmic diskdrive list brief /format:list
Trong Dấu nhắc lệnh của Quản trị viên, hãy thay đổi thư mục thành thư mục cài đặt VirtualBox của bạn và sử dụng VBoxManage để liệt kê tất cả các phân vùng trên ổ đĩa đó:
Mã:
cd "\Program Files\Oracle\VirtualBox"
Mã:
[B]VBoxManage.exe internalcommands listpartitions -rawdisk \\.\PHYSICALDRIVE0[/b]
Mã:
Số Kiểu StartCHS EndCHS Kích thước (MiB) Bắt đầu (Phần)
1 0x07 0 /32 /33 1023/239/63 217962 2048
6 0x83 1023/254/63 1023/254/63 16110 446392320
5 0x82 1023/254/63 1023/254/63 3891 479385600
2 0x27 1023/239/63 1023/239/63 508 487354368
Tôi muốn tạo một ảnh đĩa thô cung cấp quyền truy cập vào các phân vùng Ubuntu của tôi, đó là phân vùng 5 và 6. Đối với cấu hình này, lệnh VBoxManage là:
Mã:
[B]VBoxManage internalcommands createrawvmdk -filename “C:\path\to\ubuntu-raw.vmdk” -rawdisk \\.\PHYSICALDISK0 -partitions 5,6[/b]
Bước 8: Tạo ISO GRUB
Ubuntu cần GRUB để khởi động, nhưng máy ảo Ubuntu sẽ không có quyền truy cập vào mặc định Cài đặt GRUB vì nó nằm trên phân vùng Windows của bạn.Trong bước này, chúng ta tạo một GRUB Recovery ISO có thể khởi động mà Máy ảo sẽ sử dụng để khởi động vào Ubuntu.
Trong Ubuntu, hãy chọn một vị trí (chẳng hạn như thư mục tạm thời) và tạo cấu trúc thư mục iso/boot/grub.
Mã:
mkdir -p iso/boot/grub
Mã:
cp /usr/lib/grub/i386-pc/* iso/boot/grub
Mã:
cp /boot/grub/grub.cfg iso/boot/grub
Mã:
vi iso/boot/grub
Mã:
menuentry 'Windows 10' {
...
}
Tiếp theo, sử dụng grub-mkrescue để tạo GRUB ISO có thể khởi động. Điều này yêu cầu GNUxorriso. Nếu bạn chưa cài đặt, hãy cài đặt ngay:
Mã:
sudo apt-get install xorriso
Mã:
grub-mkrescue -o boot.iso ./iso
Bước 9: Tạo máy ảo trong Windows
Khởi động vào Windows 10. Sao chép boot.iso vào một vị trí phù hợp để truy cập lâu dài, chẳng hạn như thư mục VirtualBox VMs hoặc thư mục Documents của bạn.Khởi chạy VirtualBox với tư cách là Quản trị viên. Điều quan trọng là VirtualBox phải có quyền Quản trị viên để có thể truy cập phân vùng Ubuntu.
Bây giờ, hãy tạo một Máy ảo mới cho Ubuntu. Khi cấu hình ổ đĩa cứng, hãy chọn Sử dụng tệp ổ đĩa cứng ảo hiện có. Chọn tệp VDMK mà bạn đã tạo ở bước 7. Ảnh đĩa thô này cho phép máy ảo của bạn truy cập phân vùng Ubuntu.
Sau khi tạo máy ảo Ubuntu, hãy chọn máy ảo đó và đi tới Cài đặt-> Lưu trữ. Chọn Controller: IDE và sử dụng biểu tượng ổ đĩa quang để thêm ổ đĩa di động.
Chọn tệp boot.iso của bạn và nhấp vào OK.
Bây giờ khi bạn khởi động máy ảo, nó sẽ đọc GRUB Recovery ISO như một ổ đĩa di động và cung cấp cho bạn menu khởi động GRUB, trừ tùy chọn khởi động Windows 10.
Sau bước này, Máy ảo của bạn sẽ sẵn sàng hoạt động.
Khuyến nghị và Cảnh báo
Đảm bảo rằng bạn chạy VirtualBox với tư cách Quản trị viên khi bạn muốn ảo hóa Ubuntu, nếu không, phân vùng Ubuntu sẽ không thể truy cập được.Bạn có thể tạm dừng VM và để nó ở trạng thái đã lưu giữa các phiên ảo hóa liên tiếp, nhưng hãy đảm bảo tắt máy ảo đúng cách trước khi khởi động máy tính trực tiếp vào Ubuntu.
Không cố gắng truy cập phân vùng Windows của bạn từ bên trong Máy ảo Ubuntu -- điều này sẽ tạo ra kết quả không thể đoán trước. Làm như vậy có thể phá hủy dữ liệu! Sử dụng các phương pháp khác để trao đổi dữ liệu giữa Ubuntu VM và Windows, chẳng hạn như phương tiện di động hoặc truyền dữ liệu mạng như rsync.
Khắc phục sự cố
Nếu bạn khởi động máy tính và mục menu GRUB dành cho Windows bị thiếu, hãy đăng nhập vào Ubuntu với tư cách là root và chạy os-prober để quét các hệ điều hành có thể khởi động:
Mã:
os-prober
Mã:
update-grub