Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Máy Ảo

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Cách khởi động từ ổ USB trong VirtualBox - Hướng dẫn

Cập nhật:ngày 12 tháng 2 năm 2024

Trong VirtualBox, khi tạo một máy ảo mới, thông thường bạn có "hai" tùy chọn để khởi động hệ điều hành khách. Bạn có thể khởi động từ ảnh ISO (tương đương với ổ đĩa CD/DVD) hoặc bạn có thể khởi động từ đĩa cứng ảo. Nhưng điều gì sẽ xảy ra nếu bạn thực sự có một hệ điều hành trên ổ USB và bạn muốn sử dụng hệ điều hành đó làm phương tiện khởi đầu của mình?

Có nhiều lý do tại sao bạn có thể muốn làm điều này. Ví dụ:hệ điều hành có thể không có sẵn ở định dạng đơn giản, thân thiện như ISO. Hoặc bạn thậm chí có thể không có ISO nguồn, chỉ có tạo phẩm cuối cùng, bảng phân vùng và dữ liệu trên ổ đĩa ngoài. Trong hướng dẫn hôm nay, tôi sẽ chỉ cho bạn cách bạn có thể khởi động từ ổ USB (có khả năng khởi động) hiện có và chạy bất kỳ hệ điều hành nào nằm trong đó. Chúng tôi sẽ sử dụng Linux làm nền tảng mà chúng tôi lựa chọn. Hãy theo tôi.

Tùy chọn đĩa thô và lời cảnh báo LỚN

VirtualBox hỗ trợ tùy chọn khởi động từ các thiết bị "thô". Nói cách khác, bạn có thể định cấu hình thiết bị lưu trữ hiện có, bên trong hoặc bên ngoài, làm thiết bị thô, sau đó khởi động thiết bị đó. Đây có thể là bất kỳ hệ điều hành nào, bao gồm cả thiết lập khởi động kép hoặc đa khởi động. Về mặt kỹ thuật, bạn thậm chí có thể ánh xạ ổ đĩa hệ điều hành của mình (Trong Windows, đó có thể là phân vùng chứa C:\) và khởi chạy nó. Và đây là mối nguy hiểm lớn của việc sử dụng các thiết bị thô. Rất dễ dàng để cấu hình sai một đĩa. Một chữ cái sai và bạn có thể phá hủy các ổ đĩa hiện có của mình cũng như mọi dữ liệu được lưu trữ trên đó mà không thể cứu vãn được. Do đó, bạn phải hết sức cẩn thận khi thử chức năng thô của thiết bị. Tôi có một người bạn đã phá hủy máy tính xách tay của họ theo cách này. Thực sự đấy. Bạn đã được cảnh báo. Bây giờ chúng ta hãy tiếp tục.

Tạo tệp đĩa và ánh xạ tới thiết bị thô

Lệnh sau sẽ tạo đĩa thô:

sudo VBoxQuản lý createmedium disk --filename=[file.vmdk] --format=VMDK --variant=RawDisk --property RawDrive=[device]

Chúng ta có gì ở đây?

Hai yếu tố quan trọng nhất là:

  • tên tệp - Đây là tệp (ở định dạng VDMK) mà VirtualBox sẽ nhận dạng thiết bị thô.
  • RawDrive - Đây là thiết bị thô thực tế mà chúng tôi muốn ánh xạ tới tên tệp.

Vị trí của file trên đĩa không thực sự quan trọng. Nhưng việc xác định đúng thiết bị thô là rất quan trọng. Trong Linux, bạn có thể kiểm tra danh sách các thiết bị của mình bằng fdisk. Bạn cần phải biết ký hiệu đĩa cứng và kích thước chính xác. Bạn có thể bắt đầu bằng lệnh fdisk -l đơn giản để xem tất cả các thiết bị cục bộ của mình. Điều này cũng sẽ hiển thị bất kỳ thiết bị loopback nào (như nói snaps). Sau đó, khi bạn đã hiểu cơ bản về cấu trúc liên kết lưu trữ của mình, bạn có thể thu hẹp danh sách của mình. Ví dụ:

sudo fdisk -l /dev/nvme*

Đĩa /dev/nvme0n1:931,51 GiB, 1000204886016 byte, 1953525168 cung
Model ổ đĩa:Samsung SSD 980 1TB
Đơn vị:các cung 1 * 512 =512 byte
Kích thước cung (logic/vật lý):512 byte / 512 byte
Kích thước I/O (tối thiểu/tối ưu):16384 byte / 131072 byte
Loại nhãn đĩa:gpt
Mã định danh đĩa:C096EC37-7278-4E24-98C6-6A3906628E91

Thiết bị Bắt đầu Lĩnh vực Kết thúc Loại Kích thước
/dev/nvme0n1p1 2048 1050623 1048576 512M Hệ thống EFI
/dev/nvme0n1p2 1050624 4550655 3500032 1.7G Hệ thống tệp Linux
/dev/nvme0n1p3 4550656 1953523711 1948973056 929.3G Hệ thống tệp Linux

Và tương tự:

sudo fdisk -l /dev/sdb
Đĩa /dev/sdb:14,91 GiB, 16008609792 byte, 31266816 cung
Model đĩa:Công tắc Cruzer
Đơn vị:các cung 1 * 512 =512 byte
Kích thước cung (logic/vật lý):512 byte / 512 byte
Kích thước I/O (tối thiểu/tối ưu):512 byte / 512 byte
Loại nhãn đĩa:gpt
Mã định danh đĩa:A674DC54-3E17-4C42-8B62-90E4DCE4AEB3
...

Trong trường hợp này, fdisk cũng in thông tin về model đĩa, điều này khá hữu ích. Bằng cách này, việc xác định và phân biệt ổ USB bên ngoài với ổ cứng bên trong trở nên dễ dàng hơn nhiều, điều mà bạn rất có thể muốn tránh. Một số bản phân phối cũng cung cấp cách GUI để xem thông tin thiết bị:

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Ví dụ:nếu ổ USB của bạn được ánh xạ tới /dev/sdb (trong Linux), thì bạn có thể chạy lệnh ánh xạ thiết bị thô như sau:

sudo VBoxQuản lý createmedium disk --filename=./Rdisk.vmdk --format=VMDK --variant=RawDisk --property RawDrive=/dev/sdb

Đây là lúc bạn cần phải hết sức cẩn thận vì bạn cần xác định chính xác ổ USB. Nếu bạn ánh xạ sai thiết bị, có thể xảy ra sự cố và mất dữ liệu sau này.

sudo VBoxQuản lý createmedium disk --filename=./Rdisk.vmdk --format=VMDK --variant=RawDisk --property RawDrive=/dev/sdb
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Đã tạo phương tiện. UUID:041a84a8-9d9a-4ae3-a4a1-5393a24f6f7d

Sau khi lệnh hoàn tất, hãy khởi chạy VirtualBox.

Thêm đĩa mới vào danh sách các thiết bị lưu trữ có sẵn

Bước tiếp theo là đính kèm đĩa vừa tạo. Bạn có thể thực hiện việc này thông qua công cụ Hard Disk Selector trong VirtualBox. Nhấp vào Công cụ> Phương tiện> Thêm, tìm tệp VMDK và thêm nó. Nhưng chờ đã. Để có thể làm điều này, bạn cần có quyền chính xác. Thật vậy, ngay cả khi bạn có thể thêm đĩa, máy ảo vẫn có thể không khởi chạy và bạn có thể gặp một số lỗi khác nhau. Chúng tôi sẽ giải quyết vấn đề này trong thời gian ngắn. Hiện tại, hãy giả sử các quyền là chính xác.

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Khi bạn đã thêm đĩa, hãy mở cài đặt máy ảo của bạn, nhấp vào Bộ nhớ. Theo mặc định, rất có thể sẽ có sẵn bộ điều khiển SATA với một đĩa (VDI). Chọn nó, sau đó nhấp vào biểu tượng + màu xanh lam để thêm đĩa và chọn tệp VMDK. Nếu không có bộ điều khiển SATA, trước tiên hãy nhấp vào biểu tượng + màu xanh lục, thêm bộ điều khiển SATA, sau đó nhấp vào biểu tượng + màu xanh lục và thêm ổ đĩa. Trong ví dụ bên dưới, thiết lập "cuối cùng" của tôi bao gồm hai ổ đĩa được chỉ định, một ổ Windows 11 (định dạng VDI) và Rdisk.vmdk (định dạng VMDK) của tôi. Tôi đã xóa ổ đĩa quang ảo mặc định vì tôi sẽ không khởi động từ tệp ISO.

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Điều tôi muốn làm như sau:Tôi đã tạo phương tiện cài đặt Windows 11 bằng Rufus, một công cụ nhỏ tuyệt vời, cũng cho phép bạn tùy chỉnh trải nghiệm cài đặt. Cụ thể, nó có thể loại bỏ một số nội dung vô nghĩa mà bạn thường thấy trong quá trình thiết lập Windows. Nhưng Rufus chỉ viết cấu hình media cộng với các thiết bị bên ngoài. Nó không tạo tập tin ISO.

Do đó, để kiểm tra xem Rufus có thực hiện được công việc của mình hay không, tôi cần khởi động thiết bị USB ở đâu đó và xem kết quả như thế nào. Tôi có thể làm điều đó trên hộp vật lý, nhưng đó không phải lúc nào cũng là một lựa chọn dễ dàng, đặc biệt nếu bạn cần định dạng đĩa và cài đặt hệ thống ở đó. Thay vào đó, máy ảo là sự thay thế hoàn hảo cho việc thử nghiệm, nhưng khi đó người ta cần khởi động từ ổ USB thay vì đĩa CD ảo (tệp ISO).

Vì vậy, trong ví dụ trên, máy ảo của tôi có đĩa Windows (trống), cộng với thiết bị thô đính kèm mà chúng tôi sẽ chỉ sử dụng trong quá trình cài đặt. Về mặt kỹ thuật, bạn có thể có nhiều đĩa khởi động được gắn vào một máy ảo và sau đó bạn phải đảm bảo rằng chúng khởi động theo đúng thứ tự trong BIOS của máy.

Các lỗi có thể xảy ra

Khi bạn tạo một đĩa thô mới, các quyền của nó sẽ là 0600 trong Linux và quyền sở hữu root:root. Điều này có nghĩa là bạn sẽ không thể truy cập tệp này chứ đừng nói đến việc sử dụng nó trong VirtualBox. Bạn cần thay đổi quyền bằng cách thêm rwx cho người dùng khác hoặc bằng cách thay đổi quyền sở hữu (tốt hơn). Đại loại như:

sudo chown roger:roger file.vdmk

Hoặc có lẽ:

sudo chown roger:vboxusers file.vdmk

Nhưng điều này vẫn chưa đủ. Rất có thể bạn sẽ gặp phải lỗi VERR_ACCESS_DENIED:

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Sự cố về quyền truy cập tệp đối với 'đường dẫn đến tệp vmdk-của bạn' phương tiện (VERR_ACCESS_DENIED).

Mã kết quả:VBOX_E_FILE_ERROR (0X80BB0004)
Thành phần:MediumWrap
Giao diện:IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1}
Người gọi:IVirtualBox {7682d5eb-f00e-44f1-8ca2-99d08b1cd607}
Callee RC:VBOX_E_OBJECT_NOT_FOUND (0X80BB0001)

Lý do là, ngay cả khi người dùng của bạn được thiết lập chính xác và bạn là thành viên của nhóm vboxusers, bạn vẫn cần cho phép riêng người dùng của mình truy cập vào các thiết bị thô ( disk group). Điều này có thể được thực hiện bởi:

sudo usermod -a -G đĩa $USER

Sau đó, bạn có thể đăng xuất và đăng nhập lại để thay đổi có hiệu lực. Cũng có nhiều cách để thực hiện việc này mà không cần đăng xuất, nhưng đây là cách đơn giản nhất đối với hầu hết mọi người. Một giải pháp thay thế cho toàn bộ vấn đề này, cả trong Windows và Linux, là khởi động VirtualBox với các đặc quyền quản trị. Nhưng nói chung đó không phải là một ý tưởng thông minh, bởi vì mọi việc bạn làm, kể cả mọi lỗi của bạn, sẽ phản ánh cấp độ quyền được nâng cao.

Khởi động và kiểm tra

Bây giờ chúng ta đã sắp xếp tất cả các vấn đề khác nhau, hãy xem mọi thứ đều ổn. Thật vậy, tôi có thể thấy màn hình khởi động được tùy chỉnh, đây là dấu hiệu cho thấy Rufus đang thực hiện công việc của mình. Và trong giai đoạn thiết lập, tôi có thể thấy cả hai ổ đĩa cứng, ổ nhỏ thực sự là thiết bị thô (ổ USB) và ổ đĩa ảo trống 100 GB lớn hơn, thực ra là thiết bị mục tiêu cài đặt.

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Khởi động VirtualBox từ ổ USB:Hướng dẫn từng bước

Hai ổ đĩa:ổ 0 là ổ USB 16GB có hai phân vùng, chúng tôi không muốn đó là mục tiêu cài đặt (do đó có thể xảy ra rủi ro khi sử dụng thiết bị thô trong VirtualBox); và ổ 1 là đĩa ảo trống 100GB, không có bảng phân vùng. Tuy nhiên, bạn cần phải cực kỳ cẩn thận khi có nhiều hơn một lựa chọn.

Kết luận

Bây giờ bạn đã nắm vững hướng dẫn này, bạn có thể bắt đầu chơi một cách nghiêm túc. Bạn có thể kiểm tra thiết lập nhiều đĩa, thử khởi động hệ điều hành đã tồn tại trên nhiều thiết bị bên ngoài (và có thể cả bên trong) khác nhau. Bạn cũng có thể tạo các thiết bị USB đa khởi động và kiểm tra xem chúng có hoạt động chính xác trong VirtualBox hay không trước khi bạn thử chúng một cách nghiêm túc trên phần cứng vật lý. Trong tất cả các trường hợp này, bạn cần hết sức thận trọng vì chức năng của đĩa thô sẽ phá vỡ ranh giới cách ly giữa máy chủ vật lý và máy khách ảo.

Hy vọng điều này hữu ích. Bước đầu tiên để sử dụng các thiết bị thô trong VirtualBox là xác định chính xác phương tiện lưu trữ phù hợp. Nếu bạn không biết cách thực hiện điều đó hoặc không chắc chắn, hãy dừng lại ngay bây giờ. Sau đó, khi bước này hoàn tất, bạn sẽ cần tạo tệp vmdk và ánh xạ nó tới đúng thiết bị. Tiếp theo, có thể có một số vấn đề về quyền và cuối cùng, bạn có thể gắn đĩa và khởi động máy ảo của mình từ ổ USB. Đó là tất cả cho ngày hôm nay và nếu bạn có bất kỳ câu hỏi nào khác liên quan đến VirtualBox, hãy gửi cho tôi một hoặc hai dòng và tôi có thể tạo một hướng dẫn thô, mới ở đây và ở đó. Hẹn gặp lại.

Chúc mừng.