PVE挂载raw硬盘
原创大约 2 分钟
PVE挂载raw硬盘
背景
PVE创建来了
raw
格式的硬盘,我需要在访问里面的资料,进行跨虚拟机操作
vm-100-disk-0.raw
为vm-100
虚拟机的硬盘
步骤
cd /pve_dir/images/100
,/pve_dir/images/100
为vm-100-disk-0.raw
所在目录
file vm-100-disk-0.raw
root@PVE:/pve_dir/images/100#file vm-100-disk-0.raw
vm-100-disk-0.raw: DOS/MBR boot sector MS-MBR Windows 7 english at offset 0x163 "Invalid partition table" at offset 0x17b "Error loading operating system" at offset 0x19a "Missing operating system"; partition 1 : ID=0xee, start-CHS (0x0,0,2), end-CHS (0xf9,254,63), startsector 1, 4294967295 sectors
根据
file
命令的输出,.raw
文件包含一个 DOS/MBR 引导扇区和一个 GPT 保护分区表(ID=0xee
),这意味着该磁盘使用的是 GPT 分区格式,而不是 MBR。
1. 设置 Loop 设备
首先,将
.raw
文件绑定到一个 loop 设备:
losetup -fP vm-100-disk-0.raw
2. 检查分区表
使用
lsblk
或parted
来查看分区表和分区信息:
lsblk
在输出中,你应该能看到
/dev/loop0
的分区,如/dev/loop0p1
,/dev/loop0p2
。
3. 挂载分区
找到你需要挂载的分区(例如
/dev/loop0p1
),然后尝试挂载:
mkdir -p /data/raw
mount /dev/loop0p2 /data/raw
# 或只读挂载
mount -o ro /dev/loop0p2 /data/raw
4. 手动指定文件系统类型(如果需要)
如果挂载失败,可能是因为文件系统类型没有自动识别。你可以尝试手动指定文件系统类型。例如,如果你知道分区内是 ext4 文件系统,可以使用:
mount -t ext4 /dev/loop0p2 /data/raw
5. 卸载和清理
完成操作后,记得卸载分区并释放 loop 设备:
umount /data/raw
losetup -d /dev/loop0
其他注意事项
请确保在挂载之前,已备份好
.raw
文件,以防意外。.raw
文件所在虚拟机最好处于关机状态,避免产生意外情况(比如:无法卸载和清理)。
不出意外,你应该能够成功挂载
.raw
文件中的分区并访问其内容。nstudy.org