学习目标:了解如何用parted工具进行磁盘分区,用mkfs分区格式化,创建、挂载loop设备
参考博客:
实操:
分区工具parted的详解及常用分区使用方法 - 吕振江 - 博客园 (cnblogs.com)
linux mkfs命令详解:格式化分区(为分区写入文件系统) (biancheng.net)
Linux 磁盘分区(MBR和GPT,loop详细分区方法介绍)loop分区晚风_END的博客-CSDN博客
linux的dev目录系列之设备详解--loop详解_/dev/loop1_lengye7的博客-CSDN博客
概念:
分区表GPT和MBR有什么区别 - 知乎 (zhihu.com)
命令:
【运维必看】Linux命令之lsblk命令 - 知乎 (zhihu.com)
分区对象:
SD卡
概念
GPT
GUID分区表(简称GPT。使用GUID分区表的磁盘称为GPT磁盘)与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。
优点是支持2TB以上的大硬盘;每个磁盘的分区个数几乎没有限制,分区大小也几乎没有限制。
MBR
MBR分区表(master boot record)的英文缩写,简称主引导记录,还可以叫做主引导扇区。它的运行机制存在于硬件的基础之上,它存储在硬盘的第一个扇区上。当我们在硬盘上安装win10系统时,win10操作系统的分区软件可以将MBR分区信息写入到硬盘中保存起来。
优点就是兼容性比较好,缺点就是不支持管理大硬盘结构。
GPT和MBR两者的区别
1、MBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费;GPT分区表则能够识别2TB以上的硬盘空间。
2、MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区(逻辑分区不限制);GPT分区表在Windows系统下可以支持128个主分区。
3、在MBR中,分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。
parted命令
parted用于对磁盘(或RAID磁盘)进行分区及管理,与fdisk分区工具相比,
支持2TB以上的磁盘分区,并且允许调整分区的大小
parted是一个用于硬盘分区或调整分区大小的工具。使用它你可以创建、清除、调整、移动和复制ext2、ext3、linux-swap、FAT、FAT32和reiserfs分区;也能创建、调整和移动苹果系统的HFS分区;还能检测jfs、ntfs、ufs和xfs分区。
mkfs命令
分区完成后,如果不格式化写入文件系统,则是不能正常使用的。这时就需要使用 mkfs 命令对硬盘分区进行格式化。
将分区格式化为某个文件系统格式。
LOOP设备
Loop设备是一种块设备,但是它并不指向硬盘或者光驱,而是指向一个文件块或者另一种块设备。
一种应用的例子:将另外一种文件系统的镜像文件保存到一个文件中,例如iso文件,然后将一个Loop设备指向该文件,紧接着就可以通过mount挂载该loop设备到主文件系统的一个目录下了,我们就可以正常访问该镜像中的内容,就像访问一个文件系统一样。
命令
查看分区
整个系统磁盘分区情况
lsblk
某个磁盘分区情况
parted /dev/mmcblk2 print
显示所有已经格式化的分区详细信息
blkid
(这个命令的用处就是查看并校验是否格式化成功)
创建分区
mkpart 分区名
删除分区
rm 分区Number
实操
查看要分区的磁盘的名字
lsblk
选择分区硬盘
sudo parted /dev/sdb
选择分区格式
无此操作默认为MBR
mktable gpt
选择Ignore, Yes
拔掉磁盘重新插入
lsblk
如下所示(清楚分区成功)
然后再从第一步开始。
创建分区
创建分区p1
mkpart p1
定义分区格式(不支持ext4,想分ext4格式的分区,可以通过mkfs.ext4格式化成ext4格式)
将分区格式化为某一种文件系统格式
以ext4为例
sudo mkfs.ext4 /dev/sdb1
查看格式
(格式化成功)
sudo fdisk -l # 首先查看电脑上已插入的TF卡的设备号 sudo umount /dev/sdb4 # 卸载已挂载的分区,根据rootfs的分区选择sdb1,还是sdb2 sudo tune2fs -O ^metadata_csum /dev/sdb4 # 执行禁用校验值命令 # tune2fs是调整和查看ext2/ext3/ext4文件系统的文件系统参数的 # 执行后会提示:Please run e2fsck -f on the filesystem. sudo e2fsck -f -a -v /dev/sdb4 # 按照提示执行 e2fsck 进行磁盘检查 # e2fsck命令是磁盘修复命令。用于检查使用 Linux ext2 档案系统的 partition 是否正常工作。 sudo tune2fs -O ^metadata_csum /dev/sdb4 # 再次执行禁用校验值命令
使用losetup将分区文件转化为块设备
(开发板执行)
losetup /dev/loop8 /dev/mmcblk1
查看是否创建
lsblk
挂载loop
(开发板挂载)
mount -t ext4 /dev/loop8 /mnt
(虚拟机挂载)
mount /dev/sdb1
两个执行完一遍之后,SD卡拔掉重插均可自动挂载(有UUID情况下)。
T507调节分区大小
ubuntu LVM disk 命令行给带有extended 扩展分区的磁盘分区扩容extended分区CyrusZhou的博客-CSDN博客
删除分区5 6
rm 5 rm 6
调整分区4大小
(parted) resizepart Partition number? 4 End? [2303MB]? 40%
重建5、6分区
mkpart private 40% 12.9G mkpart UDISK 12.9G 100%
设置5、6分区Flags
set 5 msftdata set 6 msftdata
调整分区完成
生成img镜像
linux 备份sd卡 制作img文件 - 身份也没凭没据 - 博客园 (cnblogs.com)
SD卡安全弹出
不安全弹出,多次以后会把读卡器干坏
udisksctl unmount -b /dev/sdb4 && udisksctl power-off -b /dev/sdb4
转载请标明出处,谢谢!