Linux ext4文件系统inode信息修改

Longhorn 云原生容器分布式存储 - 故障排除指南 内容来源于官方 Longhorn 1.1.2 英文技术手册。 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - 部署篇 Longhorn 云原生容器分布式存储 - 券和节点 Longhorn 云原生容器分布式存储 - K8S 资源配置示例 Longhorn 云原生容器分布式存储 - 监控(Promethe... 阅读详情

引文(引用博客:https://blog.youkuaiyun.com/stringnewname/article/details/73740155):Linux访问文件过程

1.当我们输入cat testfile时,cat命令接收到testfile参数,进而根据当前工作目录计算出这个文件的绝对路径为/home/niugen/testfile

2.解析这个路径,首先是/即根目录,根目录这个文件对应的inode号固定为2,所以可以直接找到根目录的inode

3.根据根目录的inode中存放的磁盘块号信息,可以知道数据存放在哪些磁盘块中,于是从这些磁盘块里读出数据

4.目录文件的数据,简单的看来就是一个表,有两列,一列是文件名,一列是对应的inode号。对于根目录,文件名就是常见的dev、usr、home等等,于是找到了home对应的inode号

5.于是读出了/home这个文件的inode,发现这也是一个目录文件,继续读出数据,找到niugen对应的inode号

6.于是读出了/home/niugen这个文件的inode,发现这还是一个目录文件,继续读出数据,找到testfile对应的inode号

7.于是读出了/home/niugen/testfile这个文件的inode,发现这是一个普通文件,可以使用cat命令,于是读出数据并打印在屏幕上

 

正文(参考博客:http://www.sohu.com/a/229842067_467784):对ext4文件系统inode信息修改

1、查看分区各group信息,找到iNode table所在块位置

# ./dumpe2fs /dev/mmcblk0p19

由上可知,iNode table 起始位置为145块开始~152块。

2、查看iNode table表信息内容,可通过Linux的常用命令dd + hexdump来查看想要查看的block device任意位置的内容。

# dd if=/dev/mmcblk0p19 bs=4096 skip=145 | hexdump -C -n 4096

已知该文件系统的block size是 4KB, Inode size是256B,一个块可以容纳4KB/256B=16个inode。

一般情况下分区的节点inode 为2,因此根据转换公式:offset = (inode – 1) * 256B 

 offset = (2-1)*256 = 256    ,转换为16进制则offset = 0x100

3、如果需要查看根目录的内容,则根据以下结构找到其数据存放区域

/*
 * Structure of an inode on the disk
 */
struct ext4_inode {
	__le16	i_mode;		/* File mode */
	__le16	i_uid;		/* Low 16 bits of Owner Uid */
	__le32	i_size_lo;	/* Size in bytes */
	__le32	i_atime;	/* Access time */
	__le32	i_ctime;	/* Inode Change time */
	__le32	i_mtime;	/* Modification time */
	__le32	i_dtime;	/* Deletion Time */
	__le16	i_gid;		/* Low 16 bits of Group Id */
	__le16	i_links_count;	/* Links count */
	__le32	i_blocks_lo;	/* Blocks count */
	__le32	i_flags;	/* File flags */
	union {
		struct {
			__le32  l_i_version;
		} linux1;
		struct {
			__u32  h_i_translator;
		} hurd1;
		struct {
			__u32  m_i_reserved1;
		} masix1;
	} osd1;				/* OS dependent 1 */
	__le32	i_block[EXT4_N_BLOCKS];/* Pointers to blocks */
	__le32	i_generation;	/* File version (for NFS) */
	__le32	i_file_acl_lo;	/* File ACL */
	__le32	i_size_high;
	__le32	i_obso_faddr;	/* Obsoleted fragment address */
	union {
		struct {
			__le16	l_i_blocks_high; /* were l_i_reserved1 */
			__le16	l_i_file_acl_high;
			__le16	l_i_uid_high;	/* these 2 fields */
			__le16	l_i_gid_high;	/* were reserved2[0] */
			__le16	l_i_checksum_lo;/* crc32c(uuid+inum+inode) LE */
			__le16	l_i_reserved;
		} linux2;
		struct {
			__le16	h_i_reserved1;	/* Obsoleted fragment number/size which are removed in ext4 */
			__u16	h_i_mode_high;
			__u16	h_i_uid_high;
			__u16	h_i_gid_high;
			__u32	h_i_author;
		} hurd2;
		struct {
			__le16	h_i_reserved1;	/* Obsoleted fragment number/size which are removed in ext4 */
			__le16	m_i_file_acl_high;
			__u32	m_i_reserved2[2];
		} masix2;
	} osd2;				/* OS dependent 2 */
	__le16	i_extra_isize;
	__le16	i_checksum_hi;	/* crc32c(uuid+inum+inode) BE */
	__le32  i_ctime_extra;  /* extra Change time      (nsec << 2 | epoch) */
	__le32  i_mtime_extra;  /* extra Modification time(nsec << 2 | epoch) */
	__le32  i_atime_extra;  /* extra Access time      (nsec << 2 | epoch) */
	__le32  i_crtime;       /* File Creation time */
	__le32  i_crtime_extra; /* extra FileCreationtime (nsec << 2 | epoch) */
	__le32  i_version_hi;	/* high 32 bits for 64-bit version */
};

上述结构中,i_block的大小为15个int_32(即EXT4_N_BLOCKS=15 )。

(1)前6个int_32为extent头和extent的基本信息;

(2)后24个int_32可以保存4个extent节点,每个extent节点为6 int_32大小 ;

extent以树的形式组织,叶节点和非页节点的大小均6 int_32;

叶节点即直接保存了文件逻辑块号、起始磁盘块号、块数;

非叶节点同样具有文件逻辑块号,后面内容指向了一个磁盘块号,有两个字节未使用。

/*
 * Each block (leaves and indexes), even inode-stored has header.
 */
struct ext4_extent_header {
    __le16  eh_magic;   /* probably will support different formats */
    __le16  eh_entries; /* number of valid entries */
    __le16  eh_max;     /* capacity of store in entries */
    __le16  eh_depth;   /* has tree real underlying blocks? */
    __le32  eh_generation;  /* generation of the tree */
};
/*
 * This is the extent on-disk structure.
 * It's used at the bottom of the tree.
 */
struct ext4_extent {
    __le32  ee_block;   /* first logical block extent covers */
    __le16  ee_len;     /* number of blocks covered by extent */
    __le16  ee_start_hi;    /* high 16 bits of physical block */ //物理块地址高位
    __le32  ee_start_lo;    /* low 32 bits of physical block */ //物理块地址低位
};
/*
 * This is index on-disk structure.
 * It's used at all the levels except the bottom.
 */
struct ext4_extent_idx {
    __le32  ei_block;   /* index covers logical blocks from 'block' */
    __le32  ei_leaf_lo; /* pointer to the physical block of the next *
                 * level. leaf or next index could be there */
    __le16  ei_leaf_hi; /* high 16 bits of physical block */
    __u16   ei_unused;
};

根据上结构找到,存放内容的块位置,由于ext4用了48位地址,因此其用6个字节存放块地址,再将其转为10进制à0x0000 000000d1 = 209

查看分区根目录存放的内容:

#  dd if=/dev/mmcblk0p19 bs=4096 skip=209 | hexdump -C -n 4096

由上图可见其目录下存放的内容,上述存放是根据以下结构体存放。

#define EXT4_NAME_LEN 255

struct ext4_dir_entry_2 {
	__le32	inode;/*索引节点号*/
	__le16	rec_len;/*目录项长度*/
	__u8	name_len;/*文件名长度*/
	__u8	file_type;/*文件类型*/
	char	name[EXT4_NAME_LEN];/*文件名*/
};

4、进一步查找advert目录,根据以上信息结构进行以下步骤:

(1)获取advert的inode,其inode = 0x0000000c =12(10进制)

(2)根据公式offset = (inode – 1) * 256B换算出,计算出其inode信息在分区inode表中的位置:Offset = (12-*1)*256 = 2816=0xB00(16进制)

(3)打印分区inode tableneir

# dd if=/dev/mmcblk0p19 bs=4096 skip=145 | hexdump -C -n 4096

(4)再根据其内容地址并打印出其内容

Addr = 0xd7 =215

# dd if=/dev/mmcblk0p19 bs=4096 skip=215 | hexdump -C -n 4096

由上图所示,advert目录下的内容为两个文件夹,再通过ls命令查看advert目录,里面有tmp和8e42c7fd4e3974cfa799455f4c0e26cf目录。

 

5、在uboot修改分区文件节点内容

(1)计算物理地址,根据命令:dd if=/dev/mmcblk0p19 bs=4096 skip=145 | hexdump -C -n 40960 的信息得到偏移offset,使用公式:145*4096 + offset 计算。如: 145*4096 + e00 = 91E00

(2)选中mmc

# mmc dev 2

(3)查看分区表,获取要操作的分区的起始扇区sector

# mmc part

(4)读取flash内容到内存

# mmc read 0x50000000 0x794000 0x80000

(5)打印对应于内容

# md 0x50091E00 0x100

(6)修改inode的校验信息

# mw 0x50091e7c 0x00000000

再次打印检查内容:

# md 0x50091E00 0x100

(7)将修改写回flash

# mmc write 0x50000000 0x794000 0x80000

(8)重启系统

# reset

(9)进入该分区对应文件目录

# cd /usr/VDS-880/data_1/advert/tmp
# ls

由上图可知,出现了错误:

ls: ./hl: Input/output error;

EXT4-fs error (device mmcblk0p19): ext4_iget:4193: inode #15: comm ls: checksum invalid,

原因是我们更改了该文件inode节点信息,导致其inode校验失败内核返回return –EIO。

我们可以使用下面命令获取分区错误信息:

# dmesg | grep err

6、修复ls: ./hl: Input/output error错误

一般出现ls: ./hl: Input/output error错误有1、分区表错误;2、磁盘硬件损坏两种可能。对于第一种可能,我们可以通过工具进行修复,对于第二种可能,则只能更换硬件了,下面将针对第一种可能进行修复。

(1)解挂分区

# umount /usr/VDS-880/data_1/

(2)使用fsck.ext4工具对分区进行修复(对于fsck.ext4 工具源码的获取,请参考:https://blog.youkuaiyun.com/Chasing_Chasing/article/details/82215531)

# ./fsck.ext4 /dev/mmcblk0p19
[root@VDS-880-C1F data_0]# ./fsck.ext4 /dev/mmcblk0p19
e2fsck 1.44.1 (24-Mar-2018)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/mmcblk0p19 is mounted.
Superblock last mount time is in the future.
        (by less than a day, probably due to the hardware clock being incorrectly set)
/dev/mmcblk0p19 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 15 passes checks, but checksum does not match inode.  Fix<y>? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mmcblk0p19: ***** FILE SYSTEM WAS MODIFIED *****
/dev/mmcblk0p19: 19/1024 files (0.0% non-contiguous), 8981/262144 blocks

(3)挂载修复后的分区

# mount /dev/mmcblk0p19 /usr/VDS-880/data_1/

参考博客:

http://www.sohu.com/a/229842067_467784

http://www.cnblogs.com/mikeguan/p/7647222.html

https://blog.youkuaiyun.com/stringnewname/article/details/73740155

 

 

Linux内核学习:EXT4 INode在磁盘上的读写 目录 1 关于Ext4系统的一些概念 1.1 Inode与Data Block 1.2 关于上述概念的规律 2 查找Inode在磁盘的位置 2.1 关于Inode操作的数据结构 2.2 Ext4在磁盘上Inode分配的策略分析 2.3.1目录的Inode分配策略 2.3.2文件的inode分配策略 2.3 Inode分配情况 2.3.1 磁盘块上的Inode分配 3 ex... 阅读详情

相关推荐

嵌入式开发中格式化usb设备为ext3/4文件格式及文件系统掉电修复

1. 首先移植e2fsprogs1.41.4源码,new一个文件夹build或者release,在该目录下进行交叉编译。 2.在misc目录下会生成可执行文件blkid, fsck, mke2fs,tune2fs等,编译image时将需要用到的可执行文件cp到开发板根文件系统的/sbin或者usr/sbin等目录下。 完成上面两步之后,启动板子,在shell控制台输入mke2fs会有使用说明,

瑞风轻拂 4798

centos意外断电的情况下linux挂载磁盘报错(已解决)

从上面的信息显示/dev/sdc出现了ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/sdc is mounted.如果版本太低就重新下载一个支持的版本,这里我选择的时安装到/usr/local/e2fsck,没有取修改系统自带的工具。我的设备时通过openebs管理的,没执行这部。我的最终解决:全程y就行了。

liu289747235的专栏 1334

Linux Ext2/Ext3/Ext4 文件系统分区

然而,在日志式文件系统中,由于详细纪录了每个细节,故当在某个过程中被中断时,系统可以根据这些记录直接回朔并重整被中断的部分,而不必花时间去检查其他的部分,故重整的工作速度相当快,几乎不需要花时间。ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。

m0_74282605的博客 1199

mke2fs missing mtab file problem

转自:https://blog.tankywoo.com/2015/05/29/mke2fs-missing-mtab-problem.html 用livecd部署机器, livecd没有lvm软件包相关命令, 但是部署的系统里有. 所以在装了根分区后, 通过chroot到部署系统, 创建lv, 然后mke2fs格式化分区(ext4): mke2fs -t ext4

Cei语言的博客 1718

Linux文件系统inode:从EXT2到EXT4的演进

本文旨在系统性地介绍Linux文件系统中inode的概念及其在EXT2、EXT3和EXT4文件系统中的演进过程。我们将探讨inode如何作为文件系统的核心数据结构,以及EXT系列文件系统如何通过不断优化inode来提升整体性能。文章首先介绍inode的基本概念,然后详细分析EXT2、EXT3和EXT4中inode的实现差异,最后探讨实际应用和未来发展趋势。inode:索引节点(index node),用于存储文件元数据的数据结构EXT。

操作系统内核探秘的博客 998

从逻辑门到RISC-V指令:ALU设计实战与Verilog实现

本文详细介绍了从逻辑门到RISC-V指令集的ALU设计实战与Verilog实现方法。通过构建1位ALU并扩展至64位,深入解析了RISC-V指令集的算术逻辑单元实现技巧,包括加法器设计、零标志检测和溢出检测等关键功能。文章还分享了Verilog代码优化、流水线设计和常见问题调试的实用经验,为开发者提供了一套完整的ALU设计解决方案。

weixin_29214335的博客 185

Linux文件系统

Linux文件系统由三部分组成:文件名、inode、block(真正存数据) [enmoedu@ Desktop]$ stat /etc/passwd File: ‘/etc/passwd’ Size: 2358 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: ...

weixin_30563319的博客 77

从光耦隔离到稳定驱动:信捷伺服与STM32的硬件设计陷阱与救赎

本文深入探讨了信捷伺服驱动器与STM32微控制器配合时的硬件设计关键问题,包括光耦隔离电路选型、电源电压选择、拨码开关设置等核心环节。针对伺服驱动器的稳定驱动需求,提供了从电路设计到抗干扰策略的完整解决方案,帮助工程师规避常见陷阱,提升工业控制系统的可靠性。

gold8的专栏 312

Linux.ext4文件系统.inode和extent

翻译自http://computer-forensics.sans.org/blog/2010/12/20/digital-forensics-understanding-ext4-part-1-extents EXT4作为EXT2、EXT3家族的下一代文件系统,已经鱼2008年10月被2.6.28版本的内核接纳。在本文撰写时,EXT4已经被许多发行版Linux作为默认的文件系统。EXT4文件系

随便写写 9050

【openEuler容器镜像部署指南】

【代码】【List集合排序 】

weixin_43878094的博客 1111

SAP ERP与金蝶云星空的集成案例(新能源光伏行业)

通过建设PLM、SAP、MES、WMS、SCADA、EAM等多系统集成的工业互联网平台作为数字化工厂的控制中枢,不仅可以实现人员、设备、物料、工艺参数、产品等生产全流程追溯管理,同时也可以根据数据采集进行生产现场的控制调节,最大程度降低能耗水平。销售订单创建下推金蝶采购订单创建修改、销售订单创建下推金蝶销售订单创建修改、销售发货过账下推金蝶采购入库单、销售发货过账下推金蝶销售出库单:在SAP ERP系统创建销售订单、销售发货过账单后推送到云星空系统,进行采购/销售订单的创建修改、完成物料的入库和出库流程。

集信通 1616

Linux Ext2/3/4文件系统

Linux Ext2/3/4文件系统简介

小立仔 3517

Ubuntu16.04下禁用scp、sftp和winscp

在上一篇博文《Ubuntu16.04 搭建FTP服务器,设置用户权限为只许上传、禁止下载和删除》中,我讲述了Ubuntu16.04下配置FTP,并且设定用户权限为只能上传数据,禁止下载和删除数据。这算在FTP层面封堵了服务器数据泄露的途径。 但是,Ubuntu系统的scp和sftp还是起作用的,理论上只要能用本地机器ping通服务器,就可以用scp和sftp下载数据,这还是存在数据泄露可能的,所...

HPC&Geophysics攻城狮 5737

ext4文件系统解析

写文件操作时,除了更新Data区处,还会相应更新GDT、Inode Bitmap、Block Bitmap、目录区、Inode Table区。● 针对小于480MB的文件,GDT、目录区、Inode Bitmap,更新较少。Block Bitmap会不停记录使用了的Block,更新较多,Inode Table会不停记录已经使用了的Block数,也更新较多。● 针对超过480MB的文件,尤其是更大的文件,其会启用extent子节点表。

飞鹤的程序员人生 8805

解决gradle下载慢的问题

allprojects块的repositories用于多项目构建,为所有项目提供共同所需依赖包。而子项目可以配置自己的repositories以获取自己独需的依赖包。buildScript块的repositories主要是为了Gradle脚本自身的执行,获取脚本依赖插件。根级别的repositories主要是为了当前项目提供所需依赖包。慢的问题在于下载时链接的是官网,而官网下载速度太慢;1、解决gradle不同版本下载慢的问题。但是这个镜像站的版本不全,低版本可以用;有公司做的国内镜像站;

weixin_42551921的博客 2052

麒麟V10安装图形化界面

在配置VNC时发现,原本麒麟V10系统最小化安装,导致无图形化界面,先需要对其进行安装。 首先确保无图形化界面,可以在终端输入startX命令查看是否报错。 安装介绍: 1、 安装图形化界面 yum grouplist //查看可用yum安装组 注:这里一般会有缺少包或者出现包不符合的问题 导入软件包分组信息文件xxxx-comps.xml arm: 将此文件传送到源服务器, 然后createrepo -g导入到arm的base目录和updates目录 createrepo -g e33dc

Pro_jhf的博客 8071

Linux EXT4文件系统简介

在先前有关Linux文件系统的文章中,我写了Linux文件系统的介绍以及一些更高级的概念,例如, 一切都是文件 。 我想更详细地了解EXT文件系统的细节,但是首先让我们回答以下问题:“什么是文件系统?” 文件系统包括以下所有内容: 数据存储:任何文件系统的主要功能都应该是存储和检索数据的结构化场所。 命名空间:一种命名和组织方法,提供命名和结构化数据的规则。 安全模型:一种用于定...

cumj63710的博客 6265

YOLOv13涨点改进| CVPR 2026 |独家创新首发、主干改进篇 |利用RIS-PiDiNet主干让YOLOv13更加强大!适合遥感目标检测、小目标检测、旋转目标检测,变化检测,图像分割涨点

🔥本文提出了一种改进的RIS-PiDiNet主干网络,通过引入几何先验构建几何一致性检测器,显著提升了模型在任意方向、结构规则目标场景下的检测性能。包含两个核心模块:S-PDC利用极谐变换的谐波核建模目标结构对称性,RIS-PDC通过SO(2)群平均实现旋转不变性。网络采用基于RIS-block的主干结构并融合轻量级LBP特征,增强了细粒度结构表达能力。实验表明,该方法特别适用于遥感和复杂几何分布场景,能有效提升目标检测的鲁棒性和精度。文章还详细介绍了如何将RIS-PiDiNet集成到YOLOv13框架

Ai缝合怪、助力小伙伴高效发论文 90

linux虚拟文件系统(二)-ext4文件系统结构

EXT4是第四代扩展文件系统(英语:Fourth extended filesystem,缩写为 ext4)是Linux系统下的日志文件系统,是ext2和ext3文件系统的后继版本。

jianjian的博客 6167

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Linux 文件系统深度解析:ext4、XFS、inode、硬链接 vs 软链接 原理与实战

在 Linux 中,一切皆文件。无论是普通文本、设备、目录还是网络套接字,系统都以“文件”的方式统一管理。一个文件是如何在磁盘上存储的?为什么磁盘空间充足,却提示“磁盘已满”?ln创建的硬链接和软链接有什么本质区别?ext4 和 XFS 哪个更适合你的业务场景?本文将带你深入 Linux 文件系统的底层机制,从inode、数据块、超级块到主流文件系统ext4 与 XFS 的对比,再到硬链接与软链接的原理与实战,彻底揭开文件存储的神秘面纱。

用文字记录技术,用分享回馈社区,用坚持见证成长 1742

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

浅析Linux标准的文件系统(Ext2/Ext3/Ext4)

在 vi 的编辑会话期间,更改了该inode中的某些属性,当您完成操作并键入 :wq 时,将关闭并释放该 inode。Ext家族是Linux支持度最广、最完整的文件系统,当我们格式化磁盘后,就已经为我们规划好了所有的inode/block/metadate等数据,这样系统可以直接使用,不需要再进行动态的配置,这也是它最优秀的特点,不过这也是它最显著的缺点,磁盘容量越大,格式化越慢,centos7.x已经选用xfs作为默认文件系统,xfs是一种适合大容量磁盘和处理巨型文件的文件系统。du -sm 单位M。

m0_74282605的博客 1601

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Linux 文件系统之 --- ext4文件系统简介

在linux下面,常见的linux fs就是ext系列,linux里面的vfs也和这个ext fs息息相关。本文主要详解一下ext4 fs的实现原理,并且,从文件操作的角度来看,ext4 fs是怎么实现这一系列工作的。对于上层用户来说, 描述一个磁盘的相关属性使用扇区来描述,一个扇区一般是512字节,磁盘总容量是扇区数*512字节。文件系统是指通过什么样的结构来组织数据的存储方式。具体来说,就是怎么对某一个文件进行定位和操作。

2401_84058604的博客 2533

轻松学Linux文件系统(Ext2/Ext3/Ext4)

当谈到计算机文件系统时,我们通常指的是操作系统用来组织和存储文件数据的方式。常见的文件系统也是千姿百态,比如CentOS 5/6上使用的ext2/ext3/ext4

蚂蚁小哥 2543

linux文件系统一 ext4框架结构

一、文件系统框架:   从下图可以看到整个文件系统包含: 用户层:用户空间对文件的读写操作open/read/write等; VFS层:虚拟文件系统层,承上启下,为上下层提供接口; 文件系统层:可以存在很多类型的文件系统,VFS层的接口会调用到不同的文件系统层的接口; 缓存层:文件系统底下有缓存,PageCache,加速性能; 块设备驱动层:对硬盘进行读写操作进行管理; 二、EX...

frank_zyp的博客 3054

关于ext4文件系统概述

前言: 目前大部分Linux操作系统使用的文件系统是ext4和xfs, 了解ext4在磁盘中的分布 1. 容量概念 对于储存几个概念的解析: sector(扇区) : 1.磁盘最小的储存单位,可以通过命令行 fdisk -l得知单位每sector的大小(一般是512byte) 2.机械硬盘HDD的可用空间大小计算公式是 heads(磁头数量) cylinders(柱面数量) sectors(扇区数量) * 每个sector大小(512byte) 3.所以固态可用空间的总大小是 sectors(扇区数量)

RJ0024的博客 3127
上一篇: Linux ls: xxx .: Input/output error 错误问题 及 fsck源码下载
下一篇: Makefile 编写
Chasing_Chasing
博客等级 码龄10年 233粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值