由於數據塊(該文件系統認爲是整個驅動器)和文件系統的類型(FAT32,NTFS,EXT3)我想知道如何提取文件從數據的塊。任何想法如何做到這一點?如何從虛擬磁盤中提取文件?
回答
你將其安裝到使用
mount image /mount/point -o loop,ro
一些點,並訪問其中的文件。之後,您可以再次卸載。
但我不understan什麼這與C或C++做。
不幸的是,如果虛擬磁盤有一個分區表,這種直接的方法將不起作用。你首先必須運行'losetup',並給它分區的字節偏移量。 – cdhowie
你最終有兩個選擇:
- 安裝包含的主機上的虛擬磁盤映像文件系統。像
losetup
這樣的工具可以幫助實現這一點。 - 找到一個合適的庫,可以讓用戶在用戶空間中查看卷。基本上,你需要一個用戶模式的文件系統驅動程序,讓程序檢查目錄結構並提取文件。您可能可以重新使用fuse-ext2和ntfs-3g的某些部分。
這一切都假定虛擬磁盤只是一個平面圖像文件,而不是像VMDK或VDI這樣的專用容器。如果是這樣,您需要提取平面圖像或找到能夠將平面內容提供給其他庫的庫。
#1似乎真的很混亂或緩慢,因爲你不知道什麼時候卸載。通話結束後,您可能會立即卸載,但那樣會很慢。 – chacham15
@ chacham15:另一方面,您將使用與正常使用的相同內核驅動程序來掛載該文件系統(因此它應該非常可靠),並且提取將成爲從掛載點到目標的正常文件副本目錄。 –
- 1. 如何在groovy中列出虛擬(子)磁盤中的文件?
- 2. 擴展虛擬磁盤
- 3. 從刪除虛擬機azure detatch磁盤
- 4. 如何從磁盤讀取.fit文件
- 5. 如何從磁盤映像生成VirtualBox虛擬機?
- 6. Powershell將虛擬中心中的虛擬硬盤與其磁盤標籤匹配
- 7. 如何在虛擬服務器2005中擴展虛擬磁盤的大小?
- 8. 如何用azure虛擬機上的附加數據磁盤替換os磁盤
- 9. Azure虛擬機磁盤空間不足
- 10. 重命名/移動VirtualBox虛擬磁盤
- 11. Scale Vagrant虛擬磁盤使用自動
- 12. XenServer增加虛擬磁盤錯誤
- 13. Windows Azure虛擬機,附加新磁盤
- 14. Solaris:用於ZFS的虛擬片/磁盤
- 15. VirtualBox虛擬磁盤已滿對卵子
- 16. racadm無法創建虛擬磁盤
- 17. 分析VMDK(vmware虛擬機磁盤)文件的更改
- 18. Azure虛擬機:單個磁盤(文件系統)大於1023 GB?
- 19. 如何在虛擬機中安裝azure數據磁盤
- 20. 如何正確處理通過虛擬磁盤,磁盤和本地文件副本進行災難恢復
- 21. 如何克隆在Hyper-V上運行的虛擬機的虛擬磁盤2012
- 22. 在虛擬機刪除後從Azure中刪除磁盤
- 23. 從本地磁盤讀取文件
- 24. 如何直接從Liferay中的磁盤讀取文件?
- 25. 簡單的虛擬機,允許從文件夾或磁盤啓動
- 26. 提取從tar.gz的文件,不接觸磁盤
- 27. 如何設置虛擬磁盤的容量
- 28. 虛擬地址如何轉換爲磁盤地址?
- 29. 如何爲天青虛擬機創建數據磁盤?
- 30. 如何改變虛擬機的操作系統磁盤
「哪個文件系統認爲是整個驅動器」 - 我想你的意思「這來賓操作系統認爲是一個附加的物理磁盤。」文件系統沒有驅動器的概念。 – cdhowie