2024年1月2日发(作者:)

VirtualBox(win下)設定由USB隨身碟開機

為什麼要從隨身碟開機

像這次要提到的設定優先從USB隨身碟開機的功能,在VirtualBox官網論壇裡面,公司的人明白地指出不會為這種少數人要用的功能去浪費時間,所以請你自行解決,不過也有其他使用者告訴你要從Raw Disk來下手,而真的就有人辦到了。

而我為什麼要用到這個功能呢?就是為了下面這一張螢幕擷圖:

這是上篇文章:如何製作 Ubuntu Live USB使用隨身碟開機時,電腦呈現的選單畫面,而為了抓到這一張圖高登找了幾天終於搞定了「VirtualBox設定由USB隨身碟開機」。

設定步驟

整個的設定步驟也沒有很困難,首先你要先有一個隨身碟而且已經設定成可以開機〔廢話〕,再來請由【我的電腦】→右鍵【管理】→【磁碟管理】→看看你的隨身碟是「磁碟N」,像我這裡的例子是「磁碟3」,這個數字在稍後會用到。

接下來由【附屬應用程式】→【命令提示字元】開啟一個DOS視窗,如果你的主端是Windows 7的系統那就不要直接點選【命令提示字元】,而是改按右鍵〔以系統管理員身分執行〕才有足夠的權限。

首先你要進入VirtualBox在程式集中的目錄,所以請執行以下指令〔直接用複製貼上就可以了〕:

cd c:Program FilesOracleVirtualBox

這時候命令提示字元會變成:c:Program FilesOracleVirtualBox>

接下來我們要凡執行的指令是:VBoxManage internalcommands createrawvmdk

-filename 你的存檔路徑 -rawdisk .PhysicalDriveN -register

而我這邊的例子是要將放在 i:VirtualBox 之下,而我的隨身碟代號是「磁碟3」,所以就執行以下的指令:

VBoxManage internalcommands createrawvmdk -filename

i: -rawdisk .PhysicalDrive3 -register

VBoxManage internalcommands createrawvmdk -filename

d: -rawdisk .PhysicalDrive1 〔office〕

執行完注意一下是不是顯示成功而沒有任何錯誤訊息:

像這一個畫面當中有ERROR的錯誤,是因為我執行過官網論壇中提到的解決方式,變成VirtualBox的設定已經有被改過了而出現錯誤。

解決的方法我是用CCleaner清過登錄表之後才能成功設定Raw disk,或許你有相同的問題也可以試試看。

接下來就是到你要設定USB隨身碟開機的虛擬機器的硬碟設定,参加這個新增出來的映像檔。

在VirtualBox虛擬機器開機時趕緊按【F12】強制出現開機裝置選單,再選【2)

Primary Slave】就可以從隨身碟開機進入虛擬機器了。

相同的原理你也可以將實體硬碟掛載成VirtualBox的Raw Disk,這樣子你所有存檔或設定的資料就會存到硬碟中,隨時可以拆到別的地方用,而不用管是不是有用到VirtualBox,你說這樣子的用法是不是比虛擬硬碟好多了呢?

------------------------------分割线-----------------------------------------

Ubuntu与Windows下让Virtualbox从U盘启动

原文地址:

步骤如下

1. Ubuntu软件库里那个VirtualBox OSE版是不能支持USB启动的

2. 当前必须属于“vboxusers〞组,运行

sudo usermod -G vboxusers -a `whoami`

然后重新登录。

3. 运行下面那个命令为闪盘添加访问权限,之前我老是提示没权限,

运行:

sudo chmod o+rw /dev/sdb

我有2个硬盘,所以闪盘就是“/dev/sdb〞,如果不确定的话就用“df〞命令查看。因为每次拔出闪盘后,“sdb〞就会消失了,插回去,又出现,所以还要重新设置权限,重新运行命令,比拟常用的话就添加一个alias

4. 然后就为闪盘建立一个虚拟硬盘镜像,其中参数“filename〞后的路径就是虚拟硬盘镜像的保存位置,我这里用默认的 “~/.VirtualBox/VDI/〞,手册里说路径一定要用绝对路径。创立出来vmdk文件只有几百字节而已,不需要担忧空间,参数后 “rawdisk〞就是你的闪盘设备路径,

运行:

VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/

-rawdisk /dev/sdb -register

运行后出现

VirtualBox Command Line Management Interface Version

(C) 2005-2021 Sun Microsystems, Inc.

All rights reserved.

RAW host disk access VMDK file /home/yourname/.VirtualBox/VDI/ created

successfully.

表示创立成功了。

5. 然后就启动VirtualBox,在需要测试的虚拟机设置里的“硬盘〞一页,换成刚刚那个vmdk文件,如果不是建立在“~/.VirtualBox /VDI/〞的话要用虚拟介质管理器注册一下。

Windows下

进入命令行

cmd

cd C:Program FilesSunxVM VirtualBox

获取磁盘信息(这个最关键)

wmic /output:d: diskdrive list /format:htable

翻开d: ,查看DeviceID栏,获取到你的U盘DeviceID,如.PHYSICALDRIVE1

获取磁盘分区信息〔确认是哪个U盘〕

VBoxManage internalcommands listpartitions -rawdisk .PHYSICALDRIVE1

下面是我的U盘信息,8G的,显示7655MB

Number Type StartCHS EndCHS Size (MiB) Start (Sect)

1 0x0b 0 /0 /45 975 /254/63 7655 44

为U盘创立启动文件

VBoxManage internalcommands createrawvmdk -filename d: -rawdisk

.PHYSICALDRIVE1 -register

翻开virtualbox-->设置-->硬盘-->添加连接〔Ins〕会找到刚刚新建的〔如果没有自动找到,手工添加就可以了〕

常规-->高级-->Boot Order-->硬盘,启动你的虚拟机,成功了!

-------------------------------------------分 隔 线-------------------------------------------------------------

Win版VirtualBox从USB设备启动方法

插上要处理的闪盘,确定不是停止可拔出状态〔也就是在我的电脑里分配了盘符〕,最好把其它无关的闪盘拔掉,免得下面选择路径时搞混。

翻开命令提示符

cd到Virtualbox的安装目录,里面应该有一个名为“〞的程序

然后就是建立虚拟磁盘镜像,跟Linux差不多,“〞是镜像输出目录,手册里面说一定要用绝对路径。“.PhysicalDrive2”是物理磁盘,后面那个数字由0开始,我有2个硬盘,所以闪盘应是“.PhysicalDrive2”,如果只有一个硬盘,应是“.PhysicalDrive1”。

VBoxManage internalcommands createrawvmdk -filename F: -rawdisk

.PhysicalDrive2

运行后,出现下面代码就代表成功了,只有1K大小。

VirtualBox Command Line Management Interface Version

(C) 2005-2021 Sun Microsystems, Inc.

All rights reserved.

RAW host disk access VMDK file F: created successfully.

最后就翻开虚拟机,以这个“〞虚拟磁盘镜像启动吧,我顺利地启动了Grub4DOS,这样就可以把闪盘在虚拟机里当真实硬盘使用,装Linux也没问题。

然后就启动VirtualBox,在需要测试的虚拟机设置里的“硬盘〞一页,换成刚刚那个vmdk文件,如果不是建立在“~/.VirtualBox/VDI/〞的话要用虚拟介质管理器注册一下。

最后把硬盘设置成优先启动就搞定啦,成功启动了我闪盘里的Grub4DOS,切换启动项VirtualBox比用Vmware还要简单,不需要在虚拟机里的BIOS切换。