問題重述:
前段時間,我從家里帶來了一塊壞的硬盤,里面的數據還在,但是會間歇性不能識別,並且其中的系統損壞了。今天我重新購買了sata to usb 的轉接器和12v的電源,嘗試修復一下磁盤;看看能不能重新啟動。
但是我宿舍里只有一個電腦。為了修復方便,我嘗試從虛擬機直接從實體硬盤啟動。通過在網絡上搜索,大致過程記錄如下,防止下一次重新學習命令。
注1:本方法,還適用於電腦上有多塊硬盤,而且每個硬盤里單獨裝了一個操作系統,並且操作系統引導是獨立的。這樣我們可以在現有系統中,使用虛擬機啟動另外一個硬盤上的系統。
注2:本方法,還適用於電腦上有多快硬盤,用戶可以選擇直接在實體硬盤里,使用虛擬機裝系統,從而避免虛擬機直接寫文件系統的硬盤文件帶來的性能損失;這樣使得虛擬機可以直接使用裸盤的性能。
解決方法:
- 在windows中通過磁盤管理,確定磁盤編號:cmd 中鍵入 diskmgmt 命令,可直接打開。

- 使用管理員模式啟動cmd,並通過命令創建虛擬磁盤:
cd %programfiles%\Oracle\VirtualBox # 進入Virtual Box的安裝位置,如果在其他地方,可自由替換。
VBoxManage internalcommands createrawvmdk -filename C:\SSD.vmdk -rawdisk \\.\PhysicalDrive1 # 1 為上述的磁盤編號; C:\SSD.vmdk 為創建的虛擬機可識別的位置;
- 使用管理模式啟動VirtalBox, 並導入創建的虛擬硬盤;C:\SSD.vmdk

- 創建虛擬機,並選擇使用已經存在的硬盤;SSD.vmdk

- 通過設置,設置虛擬機運行環境;並啟動虛擬機,即可通過實體硬盤啟動。
- 如果實際的硬盤有壞道,可以通過DG進行修復:壞道檢測與修復
實際效果:
我在實際測試過程中,使用的是我在另一塊固態上安裝的ubuntu系統,並沒有使用從家里帶來的那塊硬盤,因為那塊硬盤存在數據損壞,系統一直藍屏,書寫此篇博客時,硬盤正在進行修復。裝有ubuntu系統的SSD硬盤鏡像創建過程大致如上述所示,啟動效果如下圖所示:
diskmgmt # 通過查看,我需要使用的硬盤為 磁盤 0 cd %programfiles%\Oracle\VirtualBox VBoxManage internalcommands createrawvmdk -filename C:\SSD-Ubuntu.vmdk -rawdisk \\.\PhysicalDrive0
創建虛擬機,並設置具體參數后,虛擬機啟動效果如下:
由圖中可見,其硬盤分區和虛擬機中硬盤分區相同。虛擬機的運行效果,也與我們直接從硬件啟動的效果相同。實驗成功。
這種模擬的優點:
- 可以充分利用存儲硬件;充分發揮底層存儲的性能,不用再過一層文件系統。
- 充分利用windows機器的網絡環境和應用環境;Virtual Box 軟件變成一種媒介,使得我們可以將實體硬盤上的操作系統加載起來,並以操作系統的形式進行使用。
- Windows機器和Linux系統無縫配合。使得一個系統可以運行多個系統。
- 充分利用馮諾依曼體系結構;這樣即使我們使用真實硬件加載硬盤上的操作系統,我們也不存在數據的不一致性。
- 在硬件情況運行的情況下,可以通過這種模式,恢復系統和修復硬盤;我們可以通過虛擬機將硬盤上的系統啟動。
- 加深我們對操作系統的理解。當前操作系統的核心設備為硬盤(非易失性存儲),所有的邏輯都是圍繞着存儲來進行展開。
參考鏈接:
How to Boot From a USB Drive in VirtualBox
How to Boot From a USB Flash Drive in VirtualBox
錯誤參考:
錯誤1:VBoxManage.exe: error: Cannot open the raw disk '\\.\PhysicalDrive0': VERR_SHARING_VIOLATION
原因:這是因為,我在創建虛擬磁盤的時候,此磁盤已經被 DiskGenius 占用了,所以報了 SHARING_VIOLATION 的錯誤,我關閉了DiskGenius 后,重新創建,錯誤消失,創建成功;
錯誤參考:VERR_SHARING_VIOLATION When Creating Raw Disk
擴展閱讀:
實際,我們創建的SSD-Ubuntu.vmdk文件為描述型文件。我們可以使用記事本進行查看,具體數據如下;

我們甚至可以手動修改和創建;
VMWare16硬盤啟動:2021年3月26日補充:
針對於VmWare從硬盤直接啟動的情況,更較為方便了;在建立虛擬機的時候,可以選擇使用磁盤;


使用此種辦法,我成功將舊筆記本的兩塊硬盤,塞入台式機,進行過渡使用。

在嘗試VMware之前,我一直使用virtual box進行啟動這兩塊的硬盤上的雙系統。然而在啟動windows10時,總是出現黑屏和藍屏。啟動linux系統則能成功啟動。可見virtualbox對裸盤以及windows系統支持還是不夠完美。不得已切換到vmware之上,完美啟動。
題主使用的CPU為9700K,內存32GB;可以作為參考。

轉載請注明出處; by xuyaowen;
