Ubuntu打开VirtualBox的VDI(Virtual Disk Image)文件

将vdi文件转成img文件

king@king-ThinkCentre-M920s-N000:~/Android$ sudo VBoxManage clonehd --format RAW ./Root.vdi  Root.img
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...

需要加sudo否则转换不出来,这个活可能是调用了系统的超级用户的权限。
查看一下大小:

king@king-ThinkCentre-M920s-N000:~/Android$ ls -l Root.* 
-rw------- 1 root root 8589934592 8月  14 19:14 Root.img
-rwxrwxrwx 1 king king 1466957824 7月  28 14:06 Root.vdi

增加一个读的权限:sudo chmod +r ./Root.img

file看看详情:

king@king-ThinkCentre-M920s-N000:~/Android$ file Root.img 
Root.img: DOS/MBR boot sector; partition 1 : ID=0x83, start-CHS (0x0,32,33), end-CHS (0x14,85,1), startsector 2048, 16775168 sectors, extended partition table (last)

已经是一个磁盘分区了,并且带有分区表。

查看分区行情:

king@king-ThinkCentre-M920s-N000:~/Android$ sudo fdisk -lu Root.img
[sudo] password for king: 
Disk Root.img: 8 GiB, 8589934592 bytes, 16777216 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
Disklabel type: dos
Disk identifier: 0xa2b15eea

Device     Boot Start      End  Sectors Size Id Type
Root.img1        2048 16777215 16775168   8G 83 Linux

这个时候,通过双击系统就会自动挂载了。

通过mount命令进行挂载

直接mount会报错,例如这样:

king@king-ThinkCentre-M920s-N000:~/Android$ sudo mount -o loop ./Root.img  /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop17, missing codepage or helper program, or other error.

需要填写一个偏移量,那偏移量是多少呢?fdisk的时候能看到,Boot Start就是这个参数,我这里显示的是2048sectors of 1 * 512 = 512 bytes,那偏移量就出来了,2048x512。命令如下:

king@king-ThinkCentre-M920s-N000:~/Android$ sudo mount -o loop,offset=$((512*2048)) ./Root.img  /mnt
king@king-ThinkCentre-M920s-N000:~/Android$ ls /mnt/
android  dataFS  lost+found

完美挂载了。

你可能感兴趣的:(Linux)