ext4文件系统之裸数据的分析实践

ext4日志系统分析(一) 一、背景ext4文件系统用的是jbd2日志系统。本篇博客从内核源码着手,大致分析jbd2日志系统。二、源码分析我这里用的是source insight工具来分析linux内核的源码。 内核版本为3.10.0。 首先我们搜索一下jbd2关键字。可以看到如下图所示: 可以看到,在fs/jbd2中存在6个文件。这个fs/jbd2中存的就是jbd2日志系统的代码。 一步一步来,先看看插入jbd2 阅读详情

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

ext4文件系统之裸数据的分析实践 

2018-04-28 17:30

作者简介: 黄伟亮(Huang weller),毕业于苏州大学,就职于苏州博世汽车部件汽车多媒体事业部,从事汽车多媒体娱乐系统的平台开发工作六年有余, 接触Linux 系统近10年。感兴趣的方向有Linux系统性能优化,多媒体框架, 文件系统和存储器件, USB以及虚拟化等。

开篇

笔者一直认为,文件系统就是构建在块设备上的数据库,文件名是检索数据库中数据的一种手段。原理永远是简单的,就像火箭上天只要有足够大的反向推力装置就好了,就像空调制冷就是利用汽化吸热的原理一样。但实现是复杂的.

笔者十分偏爱ext4这个文件系统,原因之一是一直和这个文件系统打交道,曾经一年多的时间没做别的事情,工作内容全是它。另一个原因,则是它是linux世界使用最广泛的文件系统,google的GFS也是构建在ext4之上的。而且ext4著名的maintainer Ted 也在google就职, 社区的maintainer回答问题也很积极和友好.不过,因为是偏爱,其实不需要任何理由.

回顾一下笔者当年的学习过程,简单概括起来就是,有表入里,由浅入深。过程也是充满艰辛. 话说信息时代,网络有千文, 但看别人的文章, 总不如自己实践一番来的体会深刻.

但是篇幅和精力所限,本文不做涉及文件系统技术细节的具体分析,比如jbd2在文件系统中的具体作用和分析等,本文 只是提供一个分析文件系统的实践过程.

那么, 就拿张SD卡follow me吧.

Ext4 layout

Ext4的layout的详细内容这里就略过了,童鞋们可以到这个页面去了解:

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inline_Data

一定要看过以后再来看这篇拙文哦! 如果那个链接实在看不下去, 那就看下面这张图吧:

在 mkfs.ext4命令格式化完块设备以后,ext4的layout在块设备上大致如上图所描述, 包含了一下信息:

  • 块设备被按group 来划分,每个group有对应的group deor
  • Super block在Group 0中, 非group 0中的super block是backup super block
  • Journal block的位置并不是在最后一个group.(本例中,journal block在group 2)

定位文件系统超级块superblock

首先, 如果磁盘是DOS的分区格式, 那就用fdisk命令查看一下磁盘的分区信息. 从磁盘的分区信息我们可以得到以下内容:

  • 整个磁盘有多大
  • 磁盘被分成了多少个分区
  • 每个分区的大小和起始结束的位置

下图给出了一个例子, 后面的文件系统分析也是基于该磁盘: /dev/sde1.

下面这张图清晰的描述了测试所用的SD卡的分区信息, 对块设备/dev/sde来说, 最小的单元为sector, sector size通常为512, SD卡的大小可以通过sector来描述.

那么, 接下来就要开始找ext4的super block了. ext4的superblock包含一个magic number : __le16 s_magic = 0xEF53, 我们可以用过它来确认superblock.

通过Linux的常用命令dd + hexdump来查看想要查看的block device任意位置的内容.

如下图所示,dd命令:

sudo dd if=/dev/sde bs=512 skip=2048 | hexdump -C -n 2048

skip到块设备 sde1的offset 2048 x 512B(这里的512即sector size)位置, hexdump出后面2KB的内容.在0x438位置, 找到了ext4的super block magic word, 同时, 也看到了在使用mkfs.ext4时, -L参数指定的disk label: "SDE1_weller"

定位journal block和 inode table

Ext4离开jbd2能活吗? 可以! 但会变得非常不可靠. 关于jbd2和文件系统的关系, 会在以后的文章中再做详述.不过我们要知道journaling block device是通用的journaling layer,为其他文件系统提供journaling服务.

因为文件的写操作和挂载过程和jbd2紧密相关, 所以在分析文件系统问题的时候, 我们通常需要查询journal block里的内容做分析,因此请跟随下面的内容来定位journal block.

首先使用dumpe2fs来查看sde1块设备上的ext4文件系统的信息,这也是本文唯一使用的ext4原生工具.

如下图所示可知如下信息:

  • journal的位置信息存储在inode table 的 offset 8 上(inode index = 8)
  • journal的整个大小是16MB
  • journal的长度则是和文件系统的block size相同, 也是4KB.
  • Inode size 是256B

命令:

sudo dumpe2fs /dev/sde1

那么,问题来了,为了找到journal的起始位置, 我们不得不先去找inode index 8所在的位置. 其实,用hexdump直接search journal的magic word也可以找到journal block的起始位置, 但是这是笔者初学时的方法, 现在想来实在太low.

定位inode table

回到sudo dumpe2fs /dev/sde1这条命令的输出结果上来, 在Group 0的描述中,Inode table的起始block number是65.

已知该文件系统的block size是 4KB, Inode size是256B.

那么inode index 8在inode table中的 offset为 (8-1) x 256B = 0x700

使用如下命令dump出来, 截取0x700开始的256B内容:

命令:

sudo dd if=/dev/sde1 bs=4096 skip=65 | hexdump -Cv -n 2048

由此可知,journal block的起始位置是0x00010000 x 4KB,也就是block number为0x10000的block,大小为0x1000 x 4KB(16MB).

如何判断结果上述的结果准确呢?

Journal block对数据格式也是有定义的, 判断依据是, /dev/sde1设备的0x10000 block offset处的数据内容应当是journal的super block, block type为4意为 Journal superblock v2.

来一窥真容:

命令:

sudo dd if=/dev/sde1 bs=4096 skip=65536 | hexdump -Cv -n 2048

定位文件内容位置

要找到一个文件内容在磁盘上的位置, 我们需要先了解一下文件在ext4上的建立过程.Data block bitmap和inode bitmap想像记账员一样,记录着data block和inode table的使用情况. Inode table用来描述文件内容所在的block number 和number of block.

首先我们在块设备sde1 mount的目录下创建一个文件file1.txt.然后用ls -i命令获得file1.txt的inode index.

下例中,file1.txt的inode index为12.

inode12 在inode table中的 offset为 (12-1) x256B = 0xB00. 用下面的命令dump inode table并且截取0xB00位置的256B字节:

命令:

sudo dd if=/dev/sde1 bs=4096 skip=65 | hexdump -Cv -n 4096

由图可知,文件的数据块在0x00008021的地方, 我们dump出来看看吧, 猜猜我在文件里写了哪些内容呢?

命令:

sudo dd if=/dev/sde1 bs=4096 skip=32801 | hexdump -Cv -n 4096

定位文件名位置

不知道你会不会好奇,这个文件是在根目录下, 那么文件名又是存在什么位置的呢 ? ext4是怎么知道文件夹它包含哪些文件的呢?

首先根目录也是目录,目录在文件系统里面的表示和文件的表示是一样一样的.

同样可以找到根目录的inode index : ls -i . -a

我们可以看到,当前目录, 也就是"."的inode index为 2.

Inode index 2内容(命令忽略了,可以思考一下命令是怎样的):

根据inode table描述, 根目录的数据块在block offset 0x25, 长度为1个block.

让我们一起看看block number为0x25的内容吧, 我们可以看到".", "..", lost+found和file1.txt等文件名.至于这一块的数据格式定义, 请童鞋自行学习吧.

命令:

sudo dd if=/dev/sde1 bs=4096 skip=37 | hexdump -Cv -n 4096

添加softlink后的文件系统分析

在测试目录下添加一个软链接文件,指向文件file1.txt

用之前的方法找到softlink1这个链接文件的inode.

软连接, 普通文件和文件夹一样,都通过inode table来描述:

通过上面章节相同的方法dump 根目录的inode指向的数据块, 我们可以看到一个新的文件softlink1已经被添加. 下图中,对于softlink1这个文件的描述是这样的:

  • 0x0000000d 意为这个文件的inode index.
  • 0x09意为文件名字的长度
  • 0x07意为文件的类型是soft link.

接着, 我们来dump inode index 0x0d上的文件内容:

0xa1ff中的0xa意为这个文件是一个softlink类型的文件(详情请见inode数据格式定义), 对于这种类型的文件, ext4的处理方式是这样的:

The target of a symbolic link will be stored in this field if the target string is less than 60 bytes long. Otherwise, either extents or block maps will be used to allocate data blocks to store the link target.

意思就是, 如果目标文件名的大小< 60B, 则存放在inode的i_block的数据结构中,否则就分配一个extents去存放长度更长的目标文件名.

删除文件后的文件系统分析

文件删除操作,作为文件创建的反向操作, 大致的原理是找到文件的inode, 修改文件的inode, 释放inode(free inode number)和data block.

在将跟目录下的文件file1.txt删除后, 我们分别dump一下被删除文件的inode内容, 被删除文件的文件内容, 根目录的extent内容.

删除文件的inode: extent的block number和number of block变为 0. 删除时间由原先的0变更为0x5976f7a3(epoch format), 也就是标记这个inode被delete了, 它没有指向任何数据, 解除了和原先文件file1.txt的关系(如上图).

文件内容则依然存在,只是这个原先的extent占用的块已经被释放了:

根目录的extent内容没有发生变化:

也就是说,删除文件其实就是操作了对应文件的inode table.

终了

本文使用了dd,hexdump, dumpe2fs, ls四个命令完成了对ext4文件系统的简单的分析实践,之所以说简单,是因为本文只包含了对文件系统基本操作的分析实践, 但是触类旁通, 希望这篇文章能够给大家带来一定的帮助, 同时, 也希望大牛能够给本文指出不足,小弟先谢谢大家了.

另外,笔者之所以没有使用debugfs工具来分析ext4是为了让大家更直观的了解分析实践的过程

Linux文件系统和磁盘分区 文件系统与磁盘分区 Linux系统中颇具特色的文件存储结构常常搞得新手头晕脑胀,本节课从Linux系统中的文件存储结构开始,讲述文件系统层次化标准(FHS,Filesystem Hierarchy Standard)、udev硬件命名规则以及硬盘分区的规划方法。 为了更好地理解文件系统的作用,将详细地分析Linux系统中最常见的Ext3、Ext4与XFS文件系统的不同之处,着重练习硬盘设备分区... 阅读详情

相关推荐

银河麒麟V10数据恢复实战:误删文件、格式化分区与工具操作指南

数据恢复是计算机存储管理中的一项关键技术,其核心原理基于文件系统删除操作通常只移除索引标记,而实际数据仍保留在存储介质中,直到被新数据覆盖。这项技术的价值在于能够从逻辑层挽回因误操作、格式化或文件系统损坏导致的数据丢失,尤其适用于个人用户、系统管理员等场景。在Linux环境下,Ext4、XFS等文件系统拥有成熟的恢复工具链,通过分析文件系统日志或进行底层特征扫描,可以有效恢复文档、图片等重要资料。本文聚焦银河麒麟V10操作系统,针对误删除、分区丢失等常见问题,详细解析extundelete、testdisk

weixin_30388677的博客 342

Ext 4 概述(五)之布局Layout、组件Component、Form

Layout参考资源<br />Ext 4 Layouts (video)<br />Ext 4 Layouts (slides<br />ComponentLayout<br />ComponentLayout是一种新型的布局方式,许多复杂的组件就采用这种布局(与之对应的为ContainerLayout,“ContainerLayout”——传统基于容器布局的新名字)来计算内置元素的大小尺寸,以响应resize的调用。Field字段组件的FieldLayout布局,关于labell控件和input元素

zhangxin09的专栏 1万+

SSD数据恢复:穿透FTL与文件系统取证,从勒索软件手中抢救数据

数据恢复是信息安全与数字取证领域的关键技术,其核心原理在于理解存储介质的数据存储与寻址机制。传统机械硬盘的数据恢复主要依赖于文件系统取证,通过分析未被覆盖的元数据逻辑地址来定位残留数据。然而,在固态硬盘(SSD)中,由于闪存转换层(FTL)的存在和垃圾回收机制,数据在逻辑删除后可能被迅速物理擦除,使得传统恢复方法失效。这催生了结合文件系统取证与芯片级物理提取的深度恢复技术,其技术价值在于能够绕过FTL抽象,直接从NAND闪存芯片中读取原始数据页,为数据彻底丢失的场景提供了最后的技术防线。该技术主要应用于勒索

掬水月在手,弄花香满衣 393

Ext4 Disk Layout (ext4 磁盘布局)

英文原文网址:https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout 本文主要介绍ext4文件系统在磁盘上的格式。一些和ext2/3文件系统共同的特性也可以适用于ext2/3,只不过ext4的一些特性ext2无法支持。 1 相关术语 ext4文件系统把一个物理存储切分成物理快的数组,可以减少bookkeeping的开销,并且提升

zw423795258的专栏 4118

ext4文件系统的硬盘布局(英语版)

首先,此文档是英文的;第二,此文件主要的内容为ext4文件系统在磁盘上的布局构成;

linux-buffer-debug:具有对ext4jbd2的缓冲层跟踪支持Linux

EXT4 / JBD2缓冲区调试 对ext4 / jbd2(Linux内核2.6.32.67)的缓冲层跟踪支持。 它在bh内记录了针对该bh运行的最后32个BUFFER_TRACE()的输入。 如果J_ASSERT失败,那么您会很好地跟踪此bh发生的最后32次“事件”,包括该过渡时bh的状态。 它基本上会告诉您查找错误所需的一切。 配置内核: BUFFER_DEBUG取决于JBD2。 这是一个例子: CONFIG_EXT4_FS=m CONFIG_EXT4_DEBUG=y CONFIG_JBD2=m CONFIG_JBD2_DEBUG=y CONFIG_BUFFER_DEBUG=y 您还可以从找到ext3缓冲区调试补丁。 有关jbd和jbd2的相关补丁: ://gist.github.com/huwan/b03a16c49e61b69cfa67。

在 ubuntu 18.04 上面测试查找EXT4 文件系统的裸数据

my_file.soft.link的inode 为12,可以计算出它 在inode table中的 offset为 (12-1) x256B = 0xB00.my_file.txt的inode 为13,可以计算出它 在inode table中的 offset为 (13-1) x256B = 0xC00.根目录为inode 2,而 inode 2 在inode table中的 offset为 (2-1) x256B = 0x100.可以看到硬链接文件与原始文件,它们的 inode 是一样的,都是 13。

weixin_43082062的博客 1060

8.5/Q1,Charls最新高分文章解读!

8 257名受试者中,672人(8.14%)在9年内发生过卒中。在调整的多因素cox回归模型中,TyG和ABSI仍然是卒中的预测因素,TyG的HR为1.25(95%CI:1.06~1.47),ABSI的HR为1.33(95%CI:1.06~1.68)。TyG和ABSI联合诊断效能最高(AUC:0.579,95%CI:0.553~0.597),而TyG(AUC:0.566,95%CI:0.544~0.587)和ABSI(AUC:0.533,95%CI:0.524~0.597)的诊断效能最低。

gsky_sci的博客 1016

Ext4文件系统介绍 - 实战篇

红框的f30a对应上图的extent_header,根据ext4理论篇中的定义我们知道extent_header数据结构如下:正好f30A对应extent_header的magic number。我们知道inode是存储在inode table中,每个inode size 是256B,所以我们怎么找到inode table的block号?dumpe2fs命令!本文主要通过dd,hexdump和dumpe2fs工具分析ext4的磁盘二进制数据,加深对ext4文件系统的印象,要想理解本建议先阅读下。

GetnextWindow的专栏 1100

2025虚幻游戏逆向工程解包尝试

2025虚幻游戏逆向工程解包指南 本文详细介绍了虚幻引擎5游戏逆向解包的完整流程,主要包括获取AES密钥、生成映射文件和导出资源三个关键步骤。作者在实际操作中遇到诸多难题:AES密钥获取工具存在加壳保护问题,映射文件生成器依赖复杂的VS编译环境,DLL注入工具的使用也存在技术门槛。通过多次尝试,作者发现部分游戏可直接搜索现成的AES密钥,而映射文件生成需要额外下载Memcury依赖库才能正常编译。文章提供了相关工具的下载链接和具体操作说明,但同时也指出每个环节都可能出现意外状况,逆向工程实际执行过程远比理论

wsdchong的博客 6154

CloudCompare实战:5分钟搞定点云数据预处理(含常见格式转换技巧)

本文提供了一套基于CloudCompare的5分钟点云数据预处理实战指南。文章详细讲解了如何利用这款开源工具,快速完成点云数据的格式转换(如LAS转PLY)、统计离群值降噪、体素网格下采样以及交互式裁剪等核心操作,帮助用户高效清理和规整杂乱数据,为后续分析建模奠定基础。

weixin_29207533的博客 477

Linux文件裸写,黄伟亮:ext4文件系统之裸数据的分析实践

原创 黄伟亮 Linux阅码场 2017-07-27作者简介: 黄伟亮(Huang weller),毕业于苏州大学,就职于苏州博世汽车部件汽车多媒体事业部,从事汽车多媒体娱乐系统的平台开发工作六年有余, 接触Linux 系统近10年。感兴趣的方向有Linux系统性能优化,多媒体框架, 文件系统和存储器件, USB以及虚拟化等。欢迎给Linuxer投稿(Linuxer只接受Linux方面的原创文...

weixin_39618176的博客 348

筑牢上线前安全防线:安全运维服务中的检测实践与深化

在日益严峻的网络安全形势下,将漏洞扫描、渗透测试和基线核查有机结合的上线前安全检测,是保障信息系统安全、稳定、合规上线的基石。通过专业、严谨、协作的检测实践,乙方安全团队能够有效协助甲方在系统生命周期的起点就构筑起坚固的安全防线,为业务的顺利开展和用户的信任保驾护航,真正实现“安全赋能业务”的价值。这道“守门人”的职责,是数字时代企业稳健前行的不可或缺的保障。专业的安全服务提供商(乙方)需要与甲方(系统所有者/运营方)建立紧密、透明、协作的伙伴关系,实现风险的闭环管理,甚至推动甲方安全能力的长期提升。

huluang的专栏 183

通过简单工具定位ext4文件系统中的裸数据

一、工欲善其事必先利其器   我在系统上通过如下2条命令创建了一个ext4格式的“内存磁盘” mkfs.ext4 /dev/ram0 mount /dev/ram0 /ram   接着拷贝一些文件到 /ram目录下,其中一个就是 /ram/uio/uio_begin.sh   首先通过 dumpe2fs /dev/ram0了解到文件系统的如下信息 Blocks per group: ...

^_^ 1081

数据挖掘实战-基于LSTM时间序列模型的香烟销售预测分析

本文介绍了基于LSTM时间序列模型的香烟销售预测分析实验。实验背景为烟草市场竞争激烈,企业需提高销售预测准确性以优化生产、库存和营销策略。LSTM模型因其处理长序列数据的能力被选为预测工具。实验步骤包括数据准备、特征工程、模型构建、训练与评估及结果分析。数据集来自某市门店的销售数据,技术工具为Python 3.9和Jupyter Notebook。实验过程涵盖数据导入、预处理、产品销售与区域销售分析、销售预测(包括销售额、销量、利润及海通店销售额预测)。

m0_64336780的博客 8952

YOLO系列算法改进 | Head改进篇 | 融合Detect_LSCD轻量共享卷积检测头 | 轻量化设计破解计算瓶颈,增强复杂场景目标感知能力

YOLO系列算法改进 | Head改进篇 | 融合Detect_LSCD轻量共享卷积检测头 | 轻量化设计破解计算瓶颈,增强复杂场景目标感知能力 (以YOLO26最新目标检测模型为基础,融合Detect_LSCD检测头进行改进)

2502_91881744的博客 704

EXT4文件系统学习(七)裸数据分析

环境     虚拟机CentOS 7,4GB TF卡     分区:fdisk /dev/sdc     格式化:mkfs.ext4 /dev/sdc1 查看分区信息 [wang@localhost ~]$ sudo fdisk -l /dev/sdc 磁盘 /dev/sdc:3965 MB, 3965190144 字节,7744512 个扇区 Units = 扇区 of 1 * 512...

TSZ0000的博客 1085

【AI智能体】Dify 基于知识库搭建智能客服问答应用详解

Dify 基于知识库搭建智能客服问答应用详解

congge 6929

磁盘管理与文件系统

磁盘结构 硬盘的物理结构 盘片:硬盘有多个盘片,每盘片2面 磁头:每面一个磁头 硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 磁道:同一个盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面。 磁盘结构2-2 硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域 磁盘接口类型 IDE,SATA,SCSI,SAS,光纤通道 MBR与磁盘分区表示 主引导记录 MBR位于硬盘第一个物理扇区处 MBR中包含硬盘的主引导程序

weixin_50344776的博客 179

小波变换完全指南:从原理到实践的深度解析

在信号处理领域,傅里叶变换长期以来一直是频域分析的主要工具。然而,傅里叶变换存在一个根本性的局限:它只能告诉我们信号中包含哪些频率成分,却无法告诉我们这些频率成分在什么时刻出现。这就像是你知道一首歌用了哪些音符,却不知道这些音符的演奏顺序。小波变换(Wavelet Transform) 应运而生,它完美地解决了这个问题。小波变换不仅能够提供频率信息,还能同时提供时间信息,实现了信号的时频联合分析。本文将带你从零开始,深入理解小波变换的原理、实现和应用。傅里叶变换的定义如下: 它使用正弦和余弦这样的全局基函数

电脑管家 212

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

带exFAT文件系统的FPGA NVME高速读写系统实现

本文在前文NVMe高速读写的系统基础上进一步实现了基于exFAT文件系统的NVMe存储系统,可以依据标准规范生成自定义的文件夹和文件以及不同大小的文件,测试结果表明exFAT IP生成的文件目录系统可以被常用操作系统正确自动识别。基于硬件开发的exFAT IP在4MB及以上文件尺寸效率高于99%。本文所设计的exFAT IP具有较好的适用性以及极高的整体效率。

weixin_42166371的博客 3998

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

阿里云云盘手动扩展方法

本节以MBR分区、GPT分区、裸数据盘为例展示扩容分区和文件系统的操作命令,供您参考。在实际扩容过程中,请您以实际环境为准。操作系统:Alibaba Cloud Linux 3。示例1:扩容MBR分区和ext4文件系统。示例2:扩容GPT分区和xfs文件系统。设备名:/dev/vda(系统盘)1个分区:/dev/vda1。文件系统类型:ext4。示例3:扩容裸数据盘。

rapid2011的专栏 533

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

云服务ECS扩容示例

示例1:扩容MBR分区和ext4文件系统。示例2:扩容GPT分区和xfs文件系统。示例3:扩容裸数据盘。

qq_41497074的博客 620

是不是进入挂载点就意味着切还了新的文件系统?挂载与建卷

文章目录 /dev/md1只是一个设备,块设备,不是文件系统,相当于在windows下新增了一个硬盘。这个时候,你开机,是看不到新增的盘符的。 如果是windows,你需要先对硬盘进行分区,然后格式化相应的分区,最后挂载分区(即给分区分配盘符)。 同理,linux下也是差不多的操作。 先用 fdisk /dev/md1 对硬盘进行分区。 然后 mkfs.ext4 /dev/md1XX 对分区进行格式化,这里mkfs.ext4可改为其他文件系统类型,md1XX是分区后的设备名称。 最后, mount

喜欢打篮球的普通人 582

哈哈哈哈:关于“高内聚,低耦合”的考试答案,内涵段子

点击蓝字关注我们早上起床,批改试卷,发现大家都太有才了。谁说工程师的创造力被抹杀了?——宋宝华考试题目用一个真实的案例(生活,工作,工程皆可),论述高内聚和低耦合的关系。...

Linux阅码场 926
上一篇: mt6739 lk设置背光低于255 kernel黑屏
下一篇: 理解inode
shark1621
博客等级 码龄10年 20粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值