嵌入式爱好者

修复文件系统损坏的方法

2022-6-25 16:06| 发布者: 15132383595| 查看: 537| 评论: 0|原作者: liyucheng|来自: 原创

类目: 知识库  >  I.MX6系列产品     文档编号: 662

问题引出:

客户文件系统损坏,无法挂载文件系统

 

下面截取启动日志一部分:

[    4.193039] No filesystem could mount root, tried:  ext3 ext2 ext4 vfat fuseblk

[    4.200458] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

[    4.208908] CPU1: stopping

[    4.211630] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.1.15 #1

[    4.217555] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)

[    4.224118] [<80015e7c>] (unwind_backtrace) from [<80012778>] (show_stack+0x10/0x14)

[    4.231880] [<80012778>] (show_stack) from [<80981c24>] (dump_stack+0x74/0xb4)

[    4.239115] [<80981c24>] (dump_stack) from [<80014d6c>] (handle_IPI+0x178/0x18c)

[    4.246521] [<80014d6c>] (handle_IPI) from [<8000949c>] (gic_handle_irq+0x58/0x5c)

[    4.254101] [<8000949c>] (gic_handle_irq) from [<80013280>] (__irq_svc+0x40/0x74)

[    4.261587] Exception stack(0xd80a5f50 to 0xd80a5f98)

[    4.266648] 5f40:                                     00000000 ee70e580 00000001 d80a4000

[    4.274833] 5f60: f90239da 00000000 ee70ae90 00000001 faa73c7f 00000000 00000001 00000000

[    4.283017] 5f80: 00000001 d80a5f98 80988f0c 805d1e9c 20000113 ffffffff

[    4.289648] [<80013280>] (__irq_svc) from [<805d1e9c>] (cpuidle_enter_state+0xcc/0x1f8)

[    4.297670] [<805d1e9c>] (cpuidle_enter_state) from [<80065068>] (cpu_startup_entry+0x1f8/0x318)

[    4.306466] [<80065068>] (cpu_startup_entry) from [<1000952c>] (0x1000952c)

[    4.313435] CPU3: stopping

[    4.316154] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.1.15 #1

[    4.322078] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)

[    4.328625] [<80015e7c>] (unwind_backtrace) from [<80012778>] (show_stack+0x10/0x14)

[    4.336383] [<80012778>] (show_stack) from [<80981c24>] (dump_stack+0x74/0xb4)

[    4.343617] [<80981c24>] (dump_stack) from [<80014d6c>] (handle_IPI+0x178/0x18c)

[    4.351022] [<80014d6c>] (handle_IPI) from [<8000949c>] (gic_handle_irq+0x58/0x5c)

[    4.358600] [<8000949c>] (gic_handle_irq) from [<80013280>] (__irq_svc+0x40/0x74)

[    4.366086] Exception stack(0xd80a9f50 to 0xd80a9f98)

[    4.371144] 9f40:                                     00000000 ee726580 00000001 d80a8000

[    4.379329] 9f60: f90246df 00000000 ee722e90 00000001 faa739e5 00000000 00000001 00000000

[    4.387513] 9f80: 00000001 d80a9f98 80988f0c 805d1e9c 20000113 ffffffff

[    4.394140] [<80013280>] (__irq_svc) from [<805d1e9c>] (cpuidle_enter_state+0xcc/0x1f8)

[    4.402156] [<805d1e9c>] (cpuidle_enter_state) from [<80065068>] (cpu_startup_entry+0x1f8/0x318)

[    4.410951] [<80065068>] (cpu_startup_entry) from [<1000952c>] (0x1000952c)

[    4.417918] CPU2: stopping

[    4.420638] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.1.15 #1

[    4.426562] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)

[    4.433110] [<80015e7c>] (unwind_backtrace) from [<80012778>] (show_stack+0x10/0x14)

[    4.440867] [<80012778>] (show_stack) from [<80981c24>] (dump_stack+0x74/0xb4)

[    4.448100] [<80981c24>] (dump_stack) from [<80014d6c>] (handle_IPI+0x178/0x18c)

[    4.455505] [<80014d6c>] (handle_IPI) from [<8000949c>] (gic_handle_irq+0x58/0x5c)

[    4.463083] [<8000949c>] (gic_handle_irq) from [<80013280>] (__irq_svc+0x40/0x74)

[    4.470569] Exception stack(0xd80a7f50 to 0xd80a7f98)

[    4.475628] 7f40:                                     00000000 ee71a580 00000001 d80a6000

[    4.483813] 7f60: f9024d62 00000000 ee716e90 00000001 faa73c7f 00000000 00000001 00000000

[    4.491996] 7f80: 00000001 d80a7f98 80988f0c 805d1e9c 20000113 ffffffff

[    4.498623] [<80013280>] (__irq_svc) from [<805d1e9c>] (cpuidle_enter_state+0xcc/0x1f8)

[    4.506639] [<805d1e9c>] (cpuidle_enter_state) from [<80065068>] (cpu_startup_entry+0x1f8/0x318)

[    4.515433] [<80065068>] (cpu_startup_entry) from [<1000952c>] (0x1000952c)

[   4.522404] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

 

解决方法:

磁盘修复e2fsck -f /dev/mmcblk3p2

检查坏块badblocks -sv /dev/mmcblk3p2


 操作步骤:

使用网络启动的方式,具体方法见OKMX6X-网络服务相关_Linux应用笔记_v1.0,启动后,输入 e2fsck -f /dev/mmcblk3p2 命令,然后一直点回车,直到完成,文件系统修复完成。然后断电重启后在uboot选择emmc启动即可正常挂载文件系统

root@imx6qsabresd:/# e2fsck -f /dev/mmcblk3p2

e2fsck 1.43-WIP (18-May-2015)

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/mmcblk3p2: 60902/438912 files (0.1% non-contiguous), 581469/1755600 blocks

 

 


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-4-20 23:15

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部