STM32硬件复位和断电复位控制器重启的区别

Linux中自动挂载各种文件系统的实现
用圣才电子书APP或微信扫一扫,在手机上阅读本文,也可分享给你的朋友。
来源:网络 作者:未知
  Mount是用来挂载文件系统的,可以在启动的时候挂载也可以在启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载,而光盘,软盘,NFS,SMB等文件系统具有动态性,即需要的时候才有必要挂载,光驱和软盘我们一般知道什么时候需要挂载,但NFS,SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载,而autofs服务就提供这种功能,好像 windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂在麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。下面就给出配置的方法。
  1、修改/etc/auto.master,设置挂载点
  格式:挂载集群点配置文件
  /mnt /etc/auto.misc (/etc/auto.misc中配置挂载项挂载在/mnt下)
  /mnt/net /etc/auto.net
  2、配置文件的设置
  配置文件用来设置需要挂载的文件系统,每行为一个文件系统,如果一行写不完,可以用\换行,格式如下
  相对挂载点挂载参数文件系统位置
  各种文件系统的挂载实例如下(这里以/etc/auto.misc为例)
  cdrom -fstype=iso9660,iocharset=cp936,ro :/dev/cdrom
  fd -fstype=vfat :/dev/fd0
  win -fstype=smbfs ://10.8.22.18/syd168
  local -fstype=ext3 :/dev/hda1
  以上的挂载分别挂载的是cdrom,floppy,windows共享,本地文分区。挂载成功后,访问的位置分别是:
  /mnt/cdrom,/mnt/fd,/mnt/win,/mnt/local.
  3、启动autofs服务
  完成以上两项设置后,需要配置autofs服务。
  #chkconfig autofs on
  #service autofs start
  4、访问挂载文件系统的方法
  #cd /misc/相对挂载点
  5、挂载文件系统的卸载
#umount /misc/相对挂载点
小编工资已与此赏挂钩!一赏一分钱!求打赏↓ ↓ ↓
如果你喜欢本文章,请赐赏:
已赐赏的人
我的电子书张宇 的BLOG
用户名:张宇
文章数:211
评论数:739
访问量:1199352
注册日期:
阅读量:5863
阅读量:12276
阅读量:408189
阅读量:1096435
51CTO推荐博文
1.故障发生背景文件系统没有下来,之后做了操作检查一致性,结果导致文件不上(有时也会表现为导致目录变成了文件)。报错提示信息:2.故障原理分析某故障时,日志和数据不一致造成的正常文件系统数据被覆盖的现象。这种故障在、文件系统常有发生,好在日志文件留有缓冲,恢复时可以从日志文件里找到相应信息,并粘贴回相应位置,达到重建原文件的目的。3.案例重要信息系统的硬盘的第一个扇区是扇区,从分区表能看出来,本案例一共有两个分区。第一个分区是交换分区,共,第二个分区是文件系统,共。总的大小为。、文件系统有日志功能,本案例考虑从日志文件中找到丢失数据。块大小为固定的,即个扇区。超级块起始位置在字节处,即号扇区,大小为个扇区。块组描述表从第一个块开始,即从字节处开始。4.案例重要概念超级块:用于存储文件系统的配置参数如块大小、总块数、节点数和动态信息当前空闲块数和节点数。文件系统的超级块开始于字节处,即号扇区。块组:文件系统的全部空间被划分为若干个块组,每个块组内的结构都是大致相同的。块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为字节,其主要描述块位图、节点位图及节点表的地址等信息。节点:描述文件的时间信息、大小、块指针等信息。块组描述符和超级块在块中的位置:当块大小为2个扇区时,0号块是引导程序或者保留块,超级块起始于1号块。当块大小为4个扇区时,引导程序或者保留块位于0号块的前两个扇区,超级块位于0号块的后两个扇区。当块大小为8个扇区时,引导程序或者保留块位于0号块的0-1号扇区,超级块位于0号块的2-3号扇区。文件系统的整体结构及第一个块组的具体结构如图所示。5.解决步骤步骤总结:通过日志文件里的超级块备份找到超级块,确定块大小。通过日志文件里的超级块备份找到超级块,重建超级块信息。通过日志文件找到目录节点,重建恢复目录。通过日志文件找到目录节点找到要恢复的文件的节点信息,重建恢复文件。首先用打开文件系统,可以看到扇区的数据包括超级块和块组描述符被日志记录覆盖。、文件系统的日志页以开头。如图所示。图确定块大小超级块中有关于块大小的信息。从日志中查找超级块的备份。用查找得到日志中超级块的信息,其标志是“”。查找超级块方式如图所示。查看块大小方法如图和图所示。超级块处描述块大小,确定本案例块大小为。图& & 通过超级块查看块大小如图所示。图& & 或者模板编辑器也可以显示块大小如图所示。图重建恢复超级块由于原文件系统超级块损坏,所以恢复文件时,要把这部分超级块信息粘贴回去,即放在号扇区开始,或字节处。做完以上操作,超级块备份某些地方与实际的超级块数值可能不一致,需要通过的模板管理器修改一下。本案例对超级块所在的块组作了修改,它在第个块组里。如图所示。图重建恢复块组描述表由于部分块组描述表被破坏,所以在日志文件里找到所有的块组描述表,并把它们粘贴回去。日志文件里,如图所示,块组描述符表存储在超级块的后面。所以要找块组描述表时,可以先找到超级块。找到后将块组描述符表内容粘贴到字节处。重建恢复目录&当我们要恢复某个文件夹里的文件时,比如我们需要恢复文件夹里的数据。我们发现这些文件夹在里是不能打开的状态。如图所示。很明显这个目录损坏了,打开其节点信息,发现正常数据被日志填充,如图所示。图图我们找到它的上一级目录,即文件夹。右击点“”,打开看到文件里的所有文件的目录信息。找到要恢复的目录的信息,是其节点号,表示其目录项长度,表示其文件名称长度,表示其文件类型为目录。如图所示。图然后在文件夹的目录块下查找目录的位置,如图所示,标红的位置是找到的结果。此位置显示所在块号为。图根据所在块号,就可以定位目录相应节点的位置。由于人工补节点比较繁琐,我们可以打开日志文件,从里面找到其节点信息,把相应的信息粘贴回去。上述方法可以重建恢复目录,恢复目录里的文件也是通过同样的方法从日志文件里找到相应的文件的节点信息,找到后粘贴回原来的位置,达到重建恢复文件的目的。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
08:16:39 00:14:41 23:07:52网页设计教程与开发
提供各种常见网页效果
提供各种各样的设计教程
装扮QQ,让QQ变得更酷
设计参考,提高自升水平
学习服务器和操作系统
提供各种素材和工具
收藏学习资料
您现在的位置:&&>>&&>>&&>>&正文
如何修复Linux文件系统错误
  Linux主机因经常非正常关机、突然断电、设备数据读写异常等原因导致文件系统的破坏,比较常见的是超级块(super-block)损坏,超级块是文件系统的核心档案,记录了该文件系统的类型、大小、空闲磁盘块等信息。
  当文件系统超级块损坏时,Linux系统将无法识别该文件系统,也就无法挂载使用
  当通过 /etc/fstab 配置文件自动加载的文件系统出现错误时,Linux系统会开机自检,并提示用户进行文件系统的修复操作
  当/dev/sdb1 分区的超级块出现错误时,启动后系统将提示“ Give root password for maintenance ”
  输入root用户密码,进入临时shell环境
  # fsck -yt ext3 /dev/sdb1
  # exit
  -t 指定文件系统
  -y 对发现的问题自动回答yes
  模拟出对 /dev/sdb7 文件系统数据的破坏
  # dd if=/dev/zero of=/dev/sdb7 bs=512 count=1
转载请注明:破洛洛(谢谢合作)
上一篇文章: 下一篇文章:
网友评论:22647人阅读
ubuntu(4)
Linux(37)
Linux系统(Ubuntu)在运行时,断电等非正常关机操作,会导致ext4文件系统数据损坏。严重时会导致系统崩溃。如下log就是系统数据损坏。
7.878756] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:742: group 0, 14845 clusters in bitmap, 14822 in gd
8.484660] init: samba-ad-dc main process (995) terminated with status 1
14.248075] EXT4-fs error (device mmcblk0p2): ext4_mb_generate_buddy:742: group 1, 1 clusters in bitmap, 2 in gd
检查方法:
1、开机log,如上log就是开机时,kernel监测到文件系统错误;
2、比如要检查的分区是/dev/mmcblk0p2,如下红色字体部分就是系统错误的信息。
~# tune2fs -l /dev/mmcblk0p2
tune2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:
Last mounted on:
Filesystem UUID:
ab8-465f-8a1a-cf
Filesystem magic number:
Filesystem revision #:
1 (dynamic)
Filesystem features:
ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:
unsigned_directory_hash
Default mount options:
user_xattr acl
Filesystem state:
not clean with errors
Errors behavior:
Filesystem OS type:
Inode count:
Block count:
Reserved block count:
Free blocks:
Free inodes:
First block:
Block size:
Fragment size:
Reserved GDT blocks:
Blocks per group:
Fragments per group:
Inodes per group:
Inode blocks per group:
Flex block group size:
Filesystem created:
Sat Sep 12 11:55:02 2015
Last mount time:
5 00:56:20 2015
Last write time:
5 00:56:32 2015
Mount count:
Maximum mount count:
Last checked:
Sat Sep 12 11:55:02 2015
Check interval:
0 (&none&)
Lifetime writes:
Reserved blocks uid:
0 (user root)
Reserved blocks gid:
0 (group root)
First inode:
Inode size:
Required extra isize:
Desired extra isize:
Default directory hash:
Directory Hash Seed:
37b-4ff5-a68e-4a1e1ea81c0e
Journal backup:
inode blocks
&span style=&color:#ff0000;&&FS Error count:
First error time:
5 00:52:47 2015
First error function:
ext4_mb_generate_buddy
First error line #:
First error inode #:
First error block #:
Last error time:
5 00:56:32 2015
Last error function:
ext4_mb_generate_buddy
Last error line #:
Last error inode #:
Last error block #:
修复方法:
1、手动修复:借助其他完整系统启动,对所在磁盘分区卸载,比如要修复/dev/mmcblk0p2,
执行命令 fsck.ext4 /dev/mmcblk0p2 可检查修复系统;
2、自动修复:
自动修复要保证,bootloader参数bootargs 生命挂载以制度方式挂载根文件系统
& & & & & &&
console=tty1 console=ttySAC2, root=UUID=e139ce78-9841-40fe-a09859 rootwait
& 如果最后ro是rw,将不能完成自动修复。
编辑/etc/fstab 挂载最后一个选项设置为1,标明启动时自动检测文件系统,如下:
UUID=e139ce78-9841-40fe-a09859 & & & / & & & ext4 & &errors=remount-ro,noatime,nodiratime & & & & & &0
编辑 /etc/default/rcS 最后一个选项(其他linux系统有区别)
# automatically repair filesystems with inconsistencies during boot
FSCKFIX=yes
然后,可以参考/etc/init/mountall.conf
description
&Mount filesystems on boot&
start on startup
stop on starting rcS
expect daemon
emits virtual-filesystems
emits local-filesystems
emits remote-filesystems
emits all-swaps
emits filesystem
emits mounting
emits mounted
. /etc/default/rcS || true
[ -f /forcefsck ] && force_fsck=&--force-fsck&
[ &$FSCKFIX& = &yes& ] && fsck_fix=&--fsck-fix&
# Doesn't work so well if mountall is responsible for mounting /proc, heh.
if [ -e /proc/cmdline ]; then
read line & /proc/cmdline
for arg in $ do
case $arg in
-q|--quiet|-v|--verbose|--debug)
debug_arg=$arg
done & /proc/cmdline
# set $LANG so that messages appearing in plymouth are translated
if [ -r /etc/default/locale ]; then
. /etc/default/locale || true
export LANG LANGUAGE LC_MESSAGES LC_ALL
    exec mountall --daemon $force_fsck $fsck_fix $debug_arg
end script
post-stop script
    rm -f /forcefsck 2&dev/null || true
end script
(4)、 系统检测到分区有问题时,会再根目录下创建一个空文件/forcefsck,重启后,执行mountall,自动进行修复,然后删除forcefsck,也可以手动创建/forcefsck,系统同样会在下次启动时强制检查修复文件系统;
系统启动检查修复过程的log,不在/var/log/fsck/目录下,而是在/var/log/upstart/目录下,文件为 mountall.log,如下:
# cat mountall.log
mount: mount point /media/boot does not exist
mountall: mount /media/boot [382] terminated with status 32
mountall: Filesystem could not be mounted: /media/boot
Skipping /media/boot at user request
Skipping /media/boot at user request
Skipping /media/boot at user request
fsck from util-linux 2.20.1
e2fsck 1.42.9 (4-Feb-2014)
/dev/mmcblk0p2: clean, 216 files, 2864 blocks
也可以通过设置 系统挂载的次数来自动检查修复文件系统
tune2fs -c 30 /dev/mmcblk0p2 系统每启动30次,就会检查修复一次。
修复完成后,通过 tune2fs -l /dev/mmcblk0p2看到没有错误信息,如下:
~# tune2fs -l /dev/mmcblk0p2
tune2fs 1.42.9 (4-Feb-2014)
Filesystem volume name:
Last mounted on:
Filesystem UUID:
ab8-465f-8a1a-cf
Filesystem magic number:
Filesystem revision #:
1 (dynamic)
Filesystem features:
ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:
unsigned_directory_hash
Default mount options:
user_xattr acl
Filesystem state:
Errors behavior:
Filesystem OS type:
Inode count:
Block count:
Reserved block count:
Free blocks:
Free inodes:
First block:
Block size:
Fragment size:
Reserved GDT blocks:
Blocks per group:
Fragments per group:
Inodes per group:
Inode blocks per group:
Flex block group size:
Filesystem created:
Sat Sep 12 11:55:02 2015
Last mount time:
5 00:58:56 2015
Last write time:
5 00:58:41 2015
Mount count:
Maximum mount count:
Last checked:
5 00:58:41 2015
Check interval:
0 (&none&)
Lifetime writes:
Reserved blocks uid:
0 (user root)
Reserved blocks gid:
0 (group root)
First inode:
Inode size:
Required extra isize:
Desired extra isize:
Default directory hash:
Directory Hash Seed:
37b-4ff5-a68e-4a1e1ea81c0e
Journal backup:
inode blocks
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:331733次
积分:4359
积分:4359
排名:第5937名
原创:111篇
评论:264条
(1)(1)(1)(1)(1)(2)(1)(2)(5)(5)(1)(1)(3)(5)(6)(4)(8)(2)(1)(2)(1)(3)(4)(6)(10)(1)(4)(6)(1)(3)(2)(3)(20)

我要回帖

更多关于 汽车ecu断电复位方法 的文章

 

随机推荐