Linux fsck.ext2命令详解
1. 语法
fsck.ext2 [-acdfFnprstvVy] [-b <分区第一磁区地址>] [-B <区块大小>] [-C <反叛减器>] [-I <inode缓冲区块数>] [-l/L <损坏区块文件>] [-P <处理inode大小>] [分区设备或文件名]
2. 参数详解
-a 自动修复文件系统,不询问任何问题。
示例:
fsck.ext2 -a /dev/sda1
自动修复
/dev/sda1
上的文件系统。
-b
<分区第一磁区地址>
指定分区的第一个磁区的起始地址,也就是Super Block。示例:
fsck.ext2 -b 8193 /dev/sda1
使用位于8193块的Super Block修复
/dev/sda1
。
-B
<区块大小>
设置该分区区块的大小。示例:
fsck.ext2 -B 4096 /dev/sda1
将区块大小设置为4096字节来修复
/dev/sda1
。
-c 检查指定的文件系统中,是否存在有损坏的区块。
示例:
fsck.ext2 -c /dev/sda1
检查
/dev/sda1
中的坏块。
-C 反叛减器 显示进度。
示例:
fsck.ext2 -C /dev/sda1
显示修复
/dev/sda1
的进度。
-d 详细显示指令执行过程,便于排错或分析程序执行的情形。
示例:
fsck.ext2 -d /dev/sda1
显示详细的调试信息。
-f 强制对指定的文件系统进行完整检查,判断文件系统在检查下没有问题。
示例:
fsck.ext2 -f /dev/sda1
强制完全检查
/dev/sda1
。
-F 检查文件系统之前,先清理该保存设备中文件的数据。
示例:
fsck.ext2 -F /dev/sda1
检查前清理设备数据。
-I
<inode缓冲区块数>
设置检查时缓冲的inode区块数目。示例:
fsck.ext2 -I 256 /dev/sda1
设置缓冲256个inode区块进行检查。
-l
<损坏区块文件>
把区块文件中的坏区块,视为损坏区块并标示出来,避免应用程序使用该区块。示例:
fsck.ext2 -l badblocks.txt /dev/sda1
使用
badblocks.txt
中的坏块信息修复/dev/sda1
。
-L
<损坏区块文件>
与-l
参数的效果相同,但会将原来的损坏区块标示区块信息覆盖。示例:
fsck.ext2 -L badblocks.txt /dev/sda1
同样使用
badblocks.txt
修复,但覆盖原标示信息。
-n 把检查的文件系统设成只读,并关闭互动模式,否决所有询问的问题。
示例:
fsck.ext2 -n /dev/sda1
以只读方式检查
/dev/sda1
,并自动否决所有询问。
-p 此参数的效果相当于指定
-a
参数相同。示例:
fsck.ext2 -p /dev/sda1
自动修复
/dev/sda1
。
-P
<处理inode大小>
设置fsck.ext2指令所能处理的inode大小为多少。示例:
fsck.ext2 -P 256 /dev/sda1
设置处理256字节大小的inode。
-r 此参数将被忽略不予处理,仅负责解决兼容性的问题。
示例:
fsck.ext2 -r /dev/sda1
参数被忽略。
-s 检查文件系统时,交换每对字节的内容。
示例:
fsck.ext2 -s /dev/sda1
检查时交换字节。
-S 此参数的效果相当于指定
-s
参数相同,但不论该文件系统是否已是标准位顺序,一律交换每对字节的内容。示例:
fsck.ext2 -S /dev/sda1
强制交换字节。
-t 显示fsck.ext2指令的时序信息。
示例:
fsck.ext2 -t /dev/sda1
显示时序信息。
-v 详细显示指令执行过程。
示例:
fsck.ext2 -v /dev/sda1
详细显示执行过程。
-V 显示版本信息。
示例:
fsck.ext2 -V
显示fsck.ext2的版本信息。
-y 关闭互动模式,并同意所有询问的问题。
示例:
fsck.ext2 -y /dev/sda1
自动同意所有修复询问。
3. 使用fdisk扩展磁盘100G的示例
将/dev/sda
磁盘扩容100G,并在此磁盘上使用fsck.ext2检查和修复文件系统。
查看当前磁盘分区情况
fdisk -l
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 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: gpt Disk identifier: A1B2C3D4-E5F6-7890-1234-56789ABCDE Device Start End Sectors Size Type /dev/sda1 2048 419428351 419426304 200G Linux filesystem
使用fdisk扩展磁盘
fdisk /dev/sda
交互命令:
- 输入
d
删除分区。 - 输入分区号
1
。 - 输入
n
新建分区。 - 输入
p
新建主分区。 - 输入分区号
1
。 - 按回车使用默认起始位置。
- 输入
+300G
分配300GB(原有200GB + 新增100GB)。 - 输入
w
保存分区表并退出。
- 输入
重新读取分区表
partprobe /dev/sda
扩展文件系统
resize2fs /dev/sda1
resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/sda1 is mounted on /mnt; on-line resizing required old_desc_blocks = 25, new_desc_blocks = 37 The filesystem on /dev/sda1 is now 78643200 (4k) blocks long.
使用fsck.ext2检查并修复文件系统
fsck.ext2 -f -y /dev/sda1
e2fsck 1.44.1 (24-Mar-2018) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sda1: 11/5242880 files (0.0% non-contiguous), 524288/20971520 blocks
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。