查看磁盘状态
df -h (这个命令显示系统已经挂载的各硬盘及他们所在的挂载点)
fdisk -l (这个命令可以将还没挂载的block也列出来,fdisk /dev/sdb 就可以针对u盘等设备格式化或分区了,常用的有p显示分区,d删除分区,n新建分区)
给盘分区并格式化
sudo umount /dev/sdb (若是有多个分区就挨个umount /dev/sdb1 , umount /dev/sdb2)
sudo fdisk /dev/sdb
p 打印分区表
d 删除原有分区
n 新建分区 2048-->2048*64(2048代表了扇区号偏移,一个扇区=512Bytes,这里给出64M Bytes. 此sd卡的 1个cluster = 2048 个 sector = 2048*512 Bytes = 1M Bytes,)
n 新建分区 2048*64-->末尾
w 保存退出
sudo mkfs.vfat -F 32 /dev/sdb1
sudo mkfs.ext4 /dev/sdb2
sudo apt-get install ntfsprogs
sudo mkfs.ntfs /dev/sdb3
sudo mount /dev/sdb1 a
sudo mount /dev/sdb2 b
挂载某个文件系统的block设备到linux文件系统
mount -t vfstype -o options device dir
-t iso9660
-t msdos
-t vfat (fat32)
-t ntfs (ntfs)
-t smbfs (windows/linux共享文件系统)
-t nfs (linux网络文件系统)
-t ext3
-o loop 将一个文件作为硬盘分区挂载(loop 设备是一种伪设备(pseudo-device),或仿真设备,能使我们像访问块设备一样访问一个文件。一个 loop 设备必须要和一个文件进行连接,使用 losetup 完成,losetup /dev/loop0 vexpress.img,losetup -d /dev/loop0 则删除此连接)
-o ro 以只读方式挂载
-o rw 以读写方式挂载
-o iocharset 指定访问文件系统所用的字符集
eg.
mount -o remount,rw /system
mount -o loop a.img /mnt/floopy
mount /dev/sda4 /mnt
umount /media/root/xxx
case1 当vmware硬盘空间不够的时候,可以新增磁盘(默认设置即可),
进入系统
1、fdisk -l 查看新增的磁盘设备,将其格式化,
2、重新挂载到根文件系统某个目录下(比如/root/code_zx/tvos_zxsta2_1/)。
3、修改/etc/fstab,在末尾加一句:
/dev/sdb /root/code_zx ext4 defaults 0 1 (将硬盘 /dev/sdb 自动mount到 /root/code_zx。如果还有/dev/sdc设备,也这么加,0 1 不用更改)
这样这些外扩的block设备启动后就会被linux自动挂载到指定的地方了
4、df -h 查看系统已挂载的block设备
case2:
dd if=/dev/zero of=vexpress.img bs=512 count=$((2*1024*100)) 创建一个100M大小的映像文件作为虚拟磁盘
#fdisk vexpress.img 给这个映像文件创建分区(使用n命令创建分区,各种下一步就行,q退出)(不创建分区貌似也可以啊)
losetup /dev/loop0 vexpress.img 连接 loop 设备 和 映像文件文件,后面我们便可以像访问块设备一样访问 vexpress.img 文件
mkfs.ext3 /dev/loop0 格式化 /dev/loop0 为 ext3(此时在ubuntu上理论上会自动挂载了,/media/root/xxxx,那其实就没必要再mount了)
mount -o loop vexpress.img abc/ 将vexpress.img挂载到abc目录上(mount -o loop 挂载的img文件应该包含一个文件系统才能成功)
硬盘拷贝后,可能有expand需要,可以使用gparted,sudo apt-get install gparted,然后打开图形界面即可,很好用。完成格式化后,将多出来的/dev/sdx挂载进来即可
如何分析image文件?
嵌入式烧写到sd卡的image文件通常包含boot和rootfs,可以通过fdisk abc.img查看分区信息
Command (m for help): p
Disk noogie.img: 79 MB, 79691776 bytes
128 heads, 32 sectors/track, 38 cylinders, total 155648 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: 0x00000000
Device Boot Start End Blocks Id System
abc.img1 * 32 155647 77808 c W95 FAT32 (LBA)
计算offset=32*512=16384Bytes,然后就可以将其mount到本地
sudo mount -o loop,offset=16384 abc.img /mnt/
若是查看没有分区的块,只能使用 xxd 了
(16条消息) linux系统中如何打开察看img文件内容_flfihpv259的博客-CSDN博客_linux查看img文件