目錄我們想在宿主機上直接檢視vm的虛擬機器磁碟檔案,並讀取裡面的內容,需要怎麼做呢?
通過fdisk -lu 檢視映象中每個分割槽的偏移量,然後通過loop掛載
[root@centos images]# cd /var/lib/libvirt/images/
[root@centos images]# fdisk -lu ubuntu.raw
you must set cylinders.
you can do this from the extra functions menu.
disk ubuntu.raw: 0 mb, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
units = sectors of 1 * 512 = 512 bytes
sector size (logical/physical): 512 bytes / 512 bytes
i/o size (minimum/optimal): 512 bytes / 512 bytes
disk identifier: 0x000ccae5
device boot start end blocks id system
ubuntu.raw1 * 2048 38862847 19430400 83 linux
partition 1 has different physical/logical endings:
phys=(1023, 254, 63) logical=(2419, 25, 38)
ubuntu.raw2 38864894 40957951 1046529 5 extended
partition 2 has different physical/logical beginnings (non-linux?):
phys=(1023, 254, 63) logical=(2419, 58, 6)
partition 2 has different physical/logical endings:
phys=(1023, 254, 63) logical=(2549, 131, 14)
ubuntu.raw5 38864896 40957951 1046528 82 linux swap / solaris
[root@centos images]# echo $((2048*512))
1048576
[root@centos images]# mount -o loop,offset=1048576 ubuntu.raw /image/
[root@centos images]# umount /image/
基礎平台要求是linux環境。
需要用到的工具: losetup, kpartx, mount
##步驟
# 獲取可以掛載的環迴裝置:
[root@virtserver ~]# losetup -f
/dev/loop0
# 進行塊裝置掛載:
losetup /dev/loop0 abc.img
# 執行塊裝置的分割槽對映:
kpartx -a /dev/loop0
# 檢視對映分割槽入口:
# 通過fdisk -l檢視磁碟情況。找到需要掛載的資料分割槽。
# mount分割槽:
移除掛載
去掛載步驟:
1.umount
2.kpartx -d
3.losetup -d
虛擬機器掛載磁碟變為ro remount失敗問題解決
背景 看到監控報警swap空間不足,系統記憶體本身占用不高是什麼原因呢。登入到伺服器檢視發現swap空間沒有了,很奇怪。因為swap空間為dd 出來的檔案然後掛載的。找到swap檔案嘗試啟動。swapon swapfile 報錯 changing permissions of swap read o...
linux直接掛載虛擬機器磁碟映象檔案
一 通過mount加上偏移 首先需要確認下映象分割槽開始的偏移 cce lang bash fdisk l vm xp qa new.img cce 這個檔案的輸出為 disk vm xp qa new.img 21.5 gb,21474836480 bytes,41943040 sectors u...
如何壓縮虛擬機器磁碟檔案
開啟並進入虛機,對虛機的磁碟進行清理,刪除臨時檔案。載入c program files microsoft virtual pc virtual machine additions virtual disk precompactor.iso 在虛機裡面執行載入後的光碟檔案precompact.exe...