一臺虛擬機磁盤空間不足后,再掛載數(shù)據(jù)磁盤后,在磁盤管理器中無法查看到新掛載的磁盤,但是在Portal上顯示磁盤掛載成功,在虛擬機內(nèi)部查看是磁盤驅(qū)動器驅(qū)動加載失敗如圖1:
圖1 磁盤驅(qū)動器驅(qū)動加載失敗
(1) “XEN PV DISK SCSI Disk Device”設(shè)備驅(qū)動是disk.sys和partmgr.sys(如圖2所示),兩者都是Windows系統(tǒng)驅(qū)動,不是xenvbd驅(qū)動。在“C:\Windows\System32\drivers”文件夾下查看這兩個驅(qū)動無異常。對比正常虛擬機和問題虛擬機的windows服務(wù)和進程,也沒有發(fā)現(xiàn)異常。進入安全模式,發(fā)現(xiàn)磁盤驅(qū)動器驅(qū)動無法正常加載,因此可以排除是由于應(yīng)用軟件導(dǎo)致的windows系統(tǒng)異常,應(yīng)該是windows系統(tǒng)異常導(dǎo)致的虛擬機disk.sys和partmgr.sys驅(qū)動加載失敗。
圖2 驅(qū)動程序文件詳細信息
(2) 查看虛擬機系統(tǒng)日志,磁盤驅(qū)動器設(shè)備在加載驅(qū)動的時候顯示安裝驅(qū)動程序為“NULL Driver”(如圖3所示),表明磁盤對應(yīng)的驅(qū)動不存在,但是在“C:\Windows\System32\drivers”目錄下能找到對應(yīng)的驅(qū)動。因為要分析為什么加載驅(qū)動時提示沒有該驅(qū)動。
圖3 NULL Driver
(3) 按照Windows系統(tǒng)加載過程,Windows系統(tǒng)加載系統(tǒng)驅(qū)動的時會先至“C:\Windows\inf”文件夾下查找對應(yīng)的驅(qū)動安裝文件*.inf(磁盤驅(qū)動對應(yīng)為disk.inf),而disk.inf會指定對應(yīng)的二進制驅(qū)動文件所在路徑,即“C:\Windows\System32\drivers”目錄下的disk.sys,如圖4所示。
圖4 二進制驅(qū)動文件路徑
(4) 查看問題虛擬機C:\Windows\inf目錄下沒有disk.inf,將驅(qū)動備份文件夾“C:\Windows\System32\DriverStore\FileRepository\disk.inf_x86_neutral_b431b61a11f8df6c\disk.inf”文件拷貝到“C:\Windows\inf”,然后重新在設(shè)備管理器中選中“XEN PV DISK SCSI Disk Device”,右鍵選擇“更新驅(qū)動程序軟件->自動搜索更新的驅(qū)動程序軟件”,驅(qū)動立即加載成功。此時在磁盤管理中可以看到新增的磁盤,但是格式化磁盤的時卡住并報錯,如圖5所示。
圖5 格式化磁盤報錯
(5) 查看系統(tǒng)事件日志,邏輯卷VOLUME安裝驅(qū)動也是NULL Driver(如圖6所示),查看“C:\Windows\inf”目錄下缺少volume.inf安裝文件,在設(shè)備管理器中發(fā)現(xiàn)未知volume設(shè)備(如圖7所示)。
圖6 NULL Driver
圖7 未知設(shè)備
(6) 將“C:\Windows\System32\DriverStore\FileRepository\volume.inf_x86_neutral_29364d30156a24ca\volume.inf”拷貝到“C:\Windows\inf”,按照步驟4重新更新完驅(qū)動程序文件后,就可以格式化新增的數(shù)據(jù)盤。
綜上所述,虛擬機的磁盤驅(qū)動器驅(qū)動加載失敗的原因是“C:\Windows\inf”目錄下的disk.inf和volume.inf被刪除,導(dǎo)致新增的磁盤無法通過安裝文件加載驅(qū)動。
(1) 在問題虛擬機上將“C:\Windows\System32\DriverStore\FileRepository\disk.inf_x86_neutral_b431b61a11f8df6c\disk.inf”和“C:\Windows\System32\DriverStore\FileRepository\volume.inf_x86_neutral_29364d30156a24ca\volume.inf”拷貝到“C:\Windows\inf”目錄下。
(2) 在“設(shè)備管理器”中右擊“XEN PV DISK SCSI Disk Device”,在彈出的快捷菜單中選擇“更新驅(qū)動程序軟件”。
(3) 在彈出的“更新驅(qū)動程序軟件”中選擇“自動搜索更新的驅(qū)動程序軟件”。
(4) 驅(qū)動程序更新完成后,可以在“磁盤管理”中進行分配盤符和格式化操作。
無