# PVE 直接掛載虛擬機的硬碟. ## 貯存用 Directory 模式,Cow2 檔案的 ```bash # 載入 nbd 模組 modprobe nbd max_part=8 # 連線 qcow2 檔案 qemu-nbd --read-only --connect=/dev/nbd0 /pve13/COW2/images/105/vm-105-disk-0.qcow2 # 列出 qcow2 中的磁碟分割狀況 fdisk -l /dev/nbd0 # 已唯讀方式掛載 qcow2 的磁區 mount --read-only /dev/nbd0p1 /mnt/Windwos # 解除掛載 umount /mnt/Windwos # 中斷 qcow2 檔案連線 qemu-nbd --disconnect /dev/nbd0 # 卸載 nbd 模組 rmmod nbd ``` ## 貯存用 ZFS 模式的 ```bash # 列出虛擬磁碟中的分割 fdisk -l /dev/zvol/pve13/LabDataSet/vm-105-disk-2 # 已唯讀方式掛載磁區 mount --read-only /dev/zvol/pve13/LabDataSet/vm-105-disk-2-part3 /mnt/Windwos # 解除掛載 umount /mnt/Windwos ``` ## 其他說明 * 不管虛擬機是開機或關機狀態,透過上面方法都可以直接讀取磁碟檔案資料。 如果虛擬機不是開機狀態,應該可以不用 --read-only 就可以直接在虛擬機關機的狀態修改磁碟中的檔案。 ## ZFS 掛載 LVM ```bash kpartx -a /dev/zvol/pve21/EchemFileDataSet/vm-413-disk-0 pvscan vgchange -ay main mount ..... umount .... vgchange -an main kpartx -d /dev/zvol/pve21/EchemFileDataSet/vm-413-disk-0 ``` ## qcow2 掛載 LVM ```bash modprobe nbd max_part=8 qemu-nbd --connect=/dev/nbd0 /pve21/FRSEdge/images/413/vm-413-disk-0.qcow2 pvscan vgchange -ay main mount /dev/main/root /mnt/Rachen umount /mnt/Rachen vgchange -an main # 中斷 qcow2 檔案連線 qemu-nbd --disconnect /dev/nbd0 # 卸載 nbd 模組 rmmod nbd ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up