如何在未挂载的文件系统上停止 jbd2

如何在未挂载的文件系统上停止 jbd2

我需要resize2fs嵌入式设备的根分区。由于它没有备用启动选项,因此我使用了tmpfs,移动并重述了所有内容,直到我最终能够做到umount /dev/mmcblk0p1。但运气不好:

$ umount /dev/mmcblk0p1 
umount: /dev/mmcblk0p1: not mounted
$ resize2fs /dev/mmcblk0p1 
resize2fs 1.42.12 (29-Aug-2014)
resize2fs: Device or resource busy while trying to open /dev/mmcblk0p1
Couldn't find valid filesystem superblock.
$ fsck /dev/mmcblk0p1 
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/dev/mmcblk0p1 is in use.
e2fsck: Cannot continue, aborting.

奇怪的!繁忙的未安装文件系统。在我看来,该杂志仍然掌握着该设备:

root       112  0.0  0.0      0     0 ?        S    14:13   0:00 [jbd2/mmcblk0p1-]

你说关掉日记吧?母鸡与蛋的游戏来了:

$ tune2fs -O ^has_journal /dev/mmcblk0p1 
tune2fs 1.42.12 (29-Aug-2014)
The needs_recovery flag is set.  Please run e2fsck before clearing
the has_journal flag.

那么如何阻止呢?它仍在救援模式下运行,无法kill -9编辑。如何摆脱它? (我在 Debian Jessie)

答案1

对我有用的是fuser -km MOUNTPOINT.这将终止仍在使用该安装点中的文件的任何进程。不过要小心!就我而言,这使我退出了 Gnome。

相关内容