为您找到与文件系统崩溃相关的共70个结果:
相信不少在使用QQ浏览器的用户,都遇到过QQ浏览器崩溃的情况。那么你知道qq浏览器崩溃了怎么办吗?下面是读文网小编整理的一些关于qq浏览器崩溃了的相关资料,供你参考。
“一键修复”功能中包含了清除缓存、浏览器白屏、视频花屏等6大问题的修复。用户在出现上述问题后只要在QQ浏览器右上角的“帮助”中点击“上网修复工具”就可启动一键修复功能。然后用户在点击“一键修复”,6大问题瞬间搞定。
除了“一键修复”,QQ浏览器还提供了更加全面的“安全中心”。“安全中心”包含了安全铭牌、防钓鱼网站、隐私保护等更多防护措施。白领们在搜索资料时难免误入钓鱼和病毒网站,QQ浏览器提供的“安全铭牌”等功能可以让用户一眼识别不安全网站。此外,备受白领担心的隐私泄漏问题也成为过去,“漏洞模块拦截”、“密码安全保存”等都是既方便用户,又保障了用户安全的人性化功能。
年终加班让人心烦气躁,选择一款合适的浏览器很有必要。QQ浏览器轻快、安全、贴心的功能为上班族们提供了一片“净土”。最新版QQ浏览器推出的“插件”功能更是增加了翻译、邮箱、天气、比价等更多实用应用,让大家的工作更顺畅。值此岁末年初之际,QQ浏览器提醒各位加班族,工作固然重要,但是劳逸结合才是王道。
qq浏览器崩溃了的相关
浏览量:7
下载量:0
时间:
不少人在Win7系统的使用过程中,一使用IE浏览器浏览网页的时候,都会莫名其妙的出现崩溃,或者完全卡死。那么你知道win7系统打开网页就崩溃怎么办吗?下面是读文网小编整理的一些关于win7系统打开网页就崩溃的相关资料,供你参考。
1、打开IE浏览器,进入主界面点击右上角【工具】选项,在下拉菜单栏中选择【Internet选项】;
2、进入Internet属性对话框,进入【常规】选项下,点击【删除】;
3、将【临时文件(Win7)】或者【脱机内容(XP)】,勾选然后点击删除;
4、删除浏览记录完毕,点击上方菜单栏处的【安全】选项;
5、进入安全选项卡下,点击【自定义安全级别】;
6、然后找到【对标记为可安全执行脚本的ActiveX控件执行脚本】将其启用,点击确定;
7、打开电脑左下角开始菜单, 找到【运行】选项点击打开;
8、在运行命令行,输入【regsvr32 jscript.dll】命令点击确定,然后输入【regsvr32 vbscript.dll】点击确定,注册完成,问题解决。
win7系统打开网页就崩溃的相关
浏览量:3
下载量:0
时间:
Shockwave Flash作为网页播放器插件,如果Flash插件损坏了,就无法播放视频了,那么你知道win7浏览器提示Shockwave Flash崩溃怎么办吗?下面是读文网小编整理的关于win7浏览器提示Shockwave Flash崩溃的相关资料,欢迎参考。
利用360等安全类软件消除恶意浏览器插件
打开“360安全卫士”,点击“电脑清理”→“清理插件”,对电脑中存在的恶意插件进行清理操作。
浏览量:2
下载量:0
时间:
造成电脑系统崩溃的原因有很多,一般来说重装个系统就好了,不过也有其他排查的方法。那么你知道电脑系统总是崩溃怎么办吗?下面是读文网小编整理的一些关于电脑系统总是崩溃的相关资料,供你参考。
1、打开电脑一直按F8不要松手,然后选“最近一次的正确配置”回车。
2、请开机按F8进入到安全模式中用系统自带的系统还原,还原到你没有出现这次故障的时候修复。
3、如果故障依旧,使用系统盘修复,打开命令提示符输入SFC /SCANNOW 回车(SFC和/之间有一个空格),插入原装系统盘修复系统,系统会自动对比修复的。
4、如果故障依旧,在BIOS中设置光驱为第一启动设备插入系统安装盘按R键选择“修复安装”即可。
5、如果故障依旧,建议重装操作系统。
如果实在不行,建议选择修复安装,这样即修复了系统,又可使C盘的程序和文件不受损失。
无法启动操作系统各种的诊断方法如下。
首先检查开机时,电脑是否已经开始启动操作系统。如果在启动操作系统时死机、蓝屏或自动重启,则说明硬盘的分区表及主引导记录正常,排除硬盘分区表损坏、硬盘主引导记录损坏、硬盘分区结束标志丢失等故障原因。
接着用下面的方法进行诊断。
1、首先用安全模式启动电脑,看是否能启动,如果不能启动,则可能是感染病毒、系统文件 丢失、操作系统损坏、硬盘有坏道、硬件设备有冲突或硬件有问题,转至第4步;如果能启动安全模式,则可能是硬件驱动与系统不兼容、操作系统有问题或感染病毒等引起的。
2、接着运行杀毒软件,如果有病毒,则可能是病毒引起的,杀毒后重新启动电脑,如果还不正常,则需重新安装操作系统。
3、如果没有检测到病毒,可以使用操作系统自带的“系统还原”功能,将系统还原,还原后如果系统正常,故障则是由系统损坏而引起的。如果故障依旧,则可能是设备驱动程序与系统不兼容引起的;接着将声卡、显卡、网卡等设备的驱动程序删除,然后再逐一安装驱动程序,每安装一个设备就重启一次电脑,来检查是哪个设备的驱动程序引起的故障,查出来后,下载故障设备的新版驱动程序,然后安装即可。
4、如果不能从安全模式启动,接着用安装光盘重新安装操作系统。如果可以正常安装操作系统,转7步;如果安装操作系统时出现故障,如死机、蓝屏、重启等导致无法安装系统,则应该是硬件有问题或硬件接触不良引起的。
5、接着清洁电脑中的灰尘,清洁内存、显卡等设备金手指,重新安装内存等设备,然后再重新安装操作系统,如果能够正常安装系统,则是接触不良引起的故障。
6、如果还是无法安装系统,则可能是硬件问题引起的故障。接着用替换法检查硬件故障,找到后更换硬件即可。
7、如果可以正常安装操作系统,且安装后故障消失,则是系统文件损坏引起的故障。
8、如果安装操作系统后,故障依旧,则可能是硬盘有坏道引起的或设备驱动程序与系统不兼容等引起的。用安全模式启动电脑,如果不能启动,则是硬盘有坏道引起的故障。接着用NDD磁盘工具修复坏道即可。
9、如果能启动安全模式,则是设备驱动程序与系统不兼容引起的。接着将声卡、显卡、网卡等设备删除,然后再逐一安装驱动程序,安装一个启动一次,来检查是哪个设备的驱动程序引起的故障。查出来后,下载故障设备的新版驱动程序,然后安装即可。
将BIOS电池放电(恢复BIOS出厂默认值)建议插拔一下显卡、内存,清理一下卫生,并且擦亮显卡、内存的金手指。
系统自带的磁盘修复方法:(硬盘故障也可引起卡或死机故障)
具体步骤如下(以Windows XP为例),在我的电脑中选中盘符后单击鼠标右键,在弹出的驱动器属性窗口中依次选择 “工具→开始检查”并选择“自动修复文件系统错误”和“扫描并恢复坏扇区”,然后点击开始,扫描时间会因磁盘容量及扫描选项的不同而有所差异。
硬盘坏道将导致电脑系统文件损坏或丢失,电脑无法启动或死机。硬盘坏道可以采用NDD磁盘工具或Scandisk
电脑系统总是崩溃的相关
浏览量:3
下载量:0
时间:
小编特地整理的关于qq女生伤感崩溃网名,一起来看看有没有需要的吧。觉得好的点32个赞哦!
好莱污影帝.
让我偷偷的看着你
楠少為你戰天下
不再联系 i
眉宇惊鸿
涅槃
宋欧巴
风情万种
现宝能手
契维.
临意.
悟
大好时光
隔巷望雨
三个字
别爱她朋友
泪水也无法释怀的歉意
◥ɡê破手腕◤
结局、逼真的太虚伪
、格式化爱情
不是不在乎,
一段情つ莫名旳心痛
沉默代表什么
孤立我@
丶灵魂深处的那一抹忧郁°
無情的世界無情的你。
漫相思
是谁听着歌遗忘了寂寞
-梦死深蓝海@
冷 眸 ゞ
十年梦
雨后等待,谁的出现
情缘隔世
情到深处人孤独@
内心的拉扯、
我喜欢的人说我贱
没有长生不老的恋情
柔情装满哀痛り
ヾ爱念一个人╭ァ
シ明亮的眸子里、看见冷
深呼吸,练习忘记她
哭、到_微笑_
笑容没有了色彩
忧愁畏怖
陷在绝望里
悲催的风里
委屈在呛
轻吟那淡伤
负能量爆棚了
揪人心
心酸客套话
心酸已久
愁酒几壶
灼烫心口
凄凉意
哽咽的月光
孤影不多就我一个
你早已不在我的身边
把难过说给风
回忆中带伤
连哭都怕失礼
惨淡微笑
伤城里°独自低吟寂寞
没有你,世界都黑了
一半清澄的忧伤
烟陪伴我很久
葬送、青春
╠消夨|°
把痛暴露
自寻烦恼
卸下那〆、一抹忧伤
奢逑ьú粜dе噯ˇ
我想前任
繁华笙歌落
怀念
╰蓝铯峢痕灬
他不是归人只是过客-
鸡蛋里d 肉骨头╰っ
你我注定在一起。
ミ汣年不忘°
祝你们金榜题名
宝贝我对不起你
-天才和傻瓜都一样丶
请吻我以葬时光
挥手给谁看
想想我们的以后
伦敦的星光不散场、
寄余生
倦怠而归
南烛
踏过樱花
情场撩妹手
乍见之欢
初言
长情
未回音
怎会无恙
南风几经秋
温柔养猫人
小野猫
良人痞性
久不遇
惯了喧嚣
尽揽少女心
风里有情诗
怎么就动情
黎明有星辰
手稳词又狠
词狠手又稳
依旧
南浊.
北涿.
宇宙大爆炸
温柔又傲娇
怪我不够好
打小就傲
傲似你祖宗
像被丢弃的猫
酷的没边
一见你就笑
一把感情刀
一只失宠猫
你的故事
偶尔热闹
一把温柔刀
扑面的气息
少女英雄梦
命运野心家
怪异思维女
个小天使
把你掰弯
很酷很高冷
尽揽少女心
终难忘
晦涩往以
轰炸女厕
若即若离
一身傲气王
伞底碍昧
爱笑又很酷
携手
失宠猫林夏
勾勒眉眼
新与旧
一场散局
爱是含笑饮砒霜
往事别说
(别走)
一身坏脾气
昨天
陈酒温几回
眼底光
就像烈酒
南巷清风。
只诉孤独
不善言辞i
偏执
℡愿你愿成愿
占有欲和你
酒馆打烊
剩下一个我
迷途不归家
森里伊人
浏览量:4
下载量:0
时间:
在Win8系统中微软集成了一款非常"傻瓜式"的系统恢复工具,轻轻松松就可以让系统恢复到初始状态。那么电脑win8系统崩溃了怎么办呢?今天读文网小编与大家分享下的具体操作步骤,有需要的朋友不妨了解下。
首先是“恢复”,我们将鼠标滑动至屏幕的右下角调出“Charm栏”选择“设置”,在最下面我们会看到“更改电脑设置”的选项。这时候将左侧的标签切换到“常规”,我们就能在右部区域看到“恢复电脑而不影响你的文件”。
系统恢复重装设置
点击开始后系统就会进入恢复状态了,恢复的好处是让系统回到一开始安装时的状态,但会保留个人文件、应用和部分系统设置。
开始恢复
在相同的位置,我们还可以看到“删除所有内容并重新安装Windows”,这个功能是彻底的初始化,系统将回到最初的状态且不保留任何内容。
开始重装
最后是“还原”,这里是将系统还原到指定的恢复点,所以在此之前我们需要先创建一个还原点。在控制面板中找到“恢复”选项(请事先将控制面板改为“大图标”),然后点击“配置系统还原”。
系统还原界面
在弹出的新窗口中选择“创建”来按照提示创建一个新的还原点。当以后需要做系统还原时,在恢复界面点击“开始系统还原”就可以了。
看过“电脑win8系统崩溃了怎么办”
浏览量:2
下载量:0
时间:
如果我们的Win8系统故障或崩溃了怎么办?win8系统崩溃怎么解决呢?今天读文网小编与大家分享下解决win8系统崩溃的具体操作步骤,有需要的朋友不妨了解下。
一、轻轻松松傻瓜式系统恢复工具
在Win8系统中,恢复电脑功能给隐藏在了“电脑设置”中,许多用户不知道如何打开“电脑设置”,其实它隐藏在了隐藏在屏幕右侧边框里的一组按键为 “Charms”按钮组中,(光标移动到屏幕右下角也就是Windows7显示桌面按钮那,就会出现“Charms”按钮组点击“设置”按钮,点击设置按 钮后在出现的右边栏中的“更多电脑设置”)。“Charms”设置功能的快捷键为:Win+I。
在“电脑设置”面板中的“常规”选项卡中有“恢复电脑而不影响你的文件”及“初始化电脑并重新开始”两大工具,它们就是参与我们今天测试的两大主角。我们先来试试“恢复电脑而不影响你的文件”功能。
点击“恢复电脑而不影响你的文件”下边的“开始”按钮,就开始Win8系统的恢复过程。这里有个前提条件,你先得准备Win8系统的安装光盘。整个恢复过程比较的傻瓜式,即使是新手也能轻松完成。
在注释中可以看到“恢复电脑”功能将导致的一些情况:
1.不会更改你的文件和个性化设置;
2.你的电脑设置将还原为默认设置;
3.来自Windows 应用商店的应用将被保留;
4.从光盘或网站安装的应用程序将被删除;
5.已删除应用的列表将保存在你的桌面上;
点击“恢复”按钮后正式进入恢复电脑过程,整个过程将花费10分钟左右的时间,并且将经过两次的重启电脑过程。
看过“win8系统崩溃怎么办”
浏览量:2
下载量:0
时间:
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。那么Linux怎么使用JFS文件系统呢?今天读文网小编与大家分享下Linux使用JFS文件系统的具体操作步骤,有需要的朋友不妨了解下。
JFS是IBM公司为linux系统开发的一个日志文件系统。从IBM的实力及它对Linux的态度来看,JFS应该是未来日志文件系统中最具实力的一个文件系统。
JFS提供了基于日志的字节级文件系统,该文件系统是为面向事务的高性能系统而开发的。JFS 能够在几秒或几 分钟内就把文件系统恢复到一致状态。JFS能够保证数据在任何意外宕机的情况下,不会造成磁盘数据的丢失与损坏。
一、JFS文件系统特点
1.存储空间更大
JFS 支持的最小文件系统是 16M 字节。最大文件系统的大小为 512 万亿字节(TB)。JFS 是真正意义上的 64 位的文件系统。所有 JFS 文件系统结构化字段都是 64 位大小。
2.动态磁盘 inode 分配
JFS 按需为磁盘 inode 动态地分配空间,释放不再需要的空间。这种方式避开了在文件系统创建期间,为磁盘 inode 保留固定数量空间的传统方法。用户不需要考虑文件系统包含的文件和目录最大数目。
3.基于盘区的寻址结构
JFS 使用基于盘区的寻址结构,JFS 分配尝试通过分配最小数量的盘区策略,而使每个盘区尽可能大。这有利于大的 I/O 传送,磁盘读写性能所有提高。
4.块尺寸可变
JFS 支持 512、1024、2048 和 4096 字节的块尺寸,允许用户根据应用环境优化空间利用率。较小的块尺寸减少有利于内部存储碎片的数量,提高空间利用率。系统缺省块尺寸为 4096 字节。
二、使用JFS文件系统
1.编译内核以支持JFS文件系统
首先下载最新的2.4.x 核心,然后下载JFS系统软件包,名称为:jfs-x.y.z-patch.tar.gz。 将下载文件存放在/usr/src目录中。
在/usr/src/上当目录下解开jfs的软件包
# tar –zxvf jfs-2.4-1.0.4.tar.gz
# tar –zxvf jfs-2.4-1.0.4-patch.tar.gz
得到四个文件:
jfs-2.4.common-v1.0.4-patch
jfs-2.4.7-v1.0.4-patch
jfs-2.4.5-v1.0.4-patch
jfs-2.4.0-v1.0.4-patch
其中,jfs-2.4.common-v1.0.4-patch文件用于所有的2.4核心,jfs-2.4.0-v1.0.4-patch用于2.4.0-2.4.2。jfs-2.4.5-v1.0.4-patch可用于核心2.4.5及2.4.6。
注意仔细阅读README文件,不要用错了patch文件
接着是为核心打补丁:
# patch –p1 < jfs-2.4.5-v1.0.4-patch
打补丁工作完成。
最后运行
#make menuconfig
将新的文件系统加入了核心编译配置文件中,要进行以下内核配置:
使用make menuconfig 在菜单"Code maturity level options"中,选择"Prompt for development and/or incomplete code/drivers."选项。然后,进入文件系统菜单"File systems",选择"JFS filesystem support."选项。配置核心,使核心支持JFS文件系统。配置核心的其它选项。
<*> JFS filesystem support
##将JFS文件系统的支持编译入内核,也可以将其编译成模块加载方式,见以下选择:
JFS filesystem support
笔者建议将JFS文件系统支持直接编译进内核,这有利于提高系统性能。
然后编译核心:
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
#cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.5-jfs
最后,编辑 /etc/lilo.conf 文件,加入新内核条目,以便使用新的内核引导系统。如下所示,在 lilo.conf文件中加入以下几行内容:
image=/boot/vmlinuz-2.4.5-jfs
label=jfs
read-only
root=/dev/hda5
然后运行lilo,使更改生效。
#lilo
三、创建JFS文件系统
1.查看系统对JFS文件系统的支持
如果新的内核正确启动,这说明核心已支持JFS文件系统了。查看系统进程,可以看到以下进程:
#lsmod
7 ? SW 0:00 [jfsIO]
8 ? SW 0:00 [jfsCommit]
9 ? SW 0:00 [jfsSync]
如果你看到了以上这几个进程,这表明系统核心已支持JFS文件系统。
另外,在/proc/fs/jfs 目录下应该还有三个文件:
jfsFYI
logmgr
TxAnchor
2.下载编译JFS文件系统工具
为了使用JFS文件系统,我们还需要创建文件系统的工具,到IBM的JFS网站下载相应工具jfsutils-1.0.7.tar.gz软件包。
编译安装过程如下:
#tar –zxvf jfsutils-1.0.7.tar.gz
#cd jfsutils-1.0.7
#./configure
#make
#make install
安装完成后,在/usr/sbin中就多出一个 可执行文件mkfs.jfs,我们就用它将分区格式化成jfs文件系统。
3.创建JFS文件系统
以下开始创建一个JFS文件系统, 将hda6分区格式化成JFS文件系统,以下为格式化时显示的内容:
#mkfs -t jfs /dev/hda6
mkfs.jfs development version: $Name: v0_3_1 $
Warning! All data on device /dev/hda6 will be lost!
Continue? (Y/N) y
Format completed successfully.
5120608 kilobytes total disk space.
运行完成后,JFS文件系统已经在hda6分区创建完成了。
4.加载JFS文件系统
首先,创建一个目录jfs,以便将JFS文件系统mount到其上:
#mkdir jfs
将新的分区mount到jfs目录下:
#mount –t jfs /dev/hda6 /jfs
这样,新的文件系统就加载到/jfs目录下了。现在可以使用新的文件系统了。
四、使用JFS文件系统
1.普通分区使用JFS文件系统
Linux内核支持了JFS文件系统后,可以将磁盘所有分区均格式化为JFS文件系统。通常情况下,建议/usr,/usr/sbin等分区采用非日志文件系统,而在那些对读写要求频繁的分区上使用JFS文件系统。这有利于提高系统性能。
2.主引导区使用JFS文件系统
主分区为linux的启动分区,其中存放了系统启动所需的基本文件。以下开始将JFS文件系统用于主分区,首先备份主分区上的所有常用文件目录:
#cd /
#cp -a bin etc lib boot dev home usr var [...] /jfs
#mkdir /jfs/proc
在使用JFS文件系统启动之前,还应该更改/etc/fstab文件,将相应的分区用作根分区。如下所示:原来的根分区为:
LABEL=/ / ext2 defaults 1 1
应该更改为:
/dev/hda6 / jfs defaults 1 1
然后,编译/etc/lilo.conf文件,将主引导分区更改为/dev/hda6。置label为jfs,将缺省的启动设置为jfs。
如下所示:
default=jfs
...
image=/boot/vmlinuz-2.4.0-jfs
label=jfs
read-only
root=/dev/hda6
然后,运行lilo,完成。
最后,reboot 系统,启动之后,你就得到一个纯jfs文件系统的linux环境了,剩下的事情就是将原来的主分区重新格式化成 jfs,然后再将其mount到主分区的某个目录下就行了。
看过“Linux怎么使用JFS文件系统”
浏览量:5
下载量:0
时间:
有些玩家在玩剑灵游戏的时候经常会出现游戏崩溃的情况,那么你知道剑灵客户端崩溃了怎样修复吗?读文网小编为大家分享了剑灵客户端崩溃了的修复方法。
在电脑上安装好电脑管家并运行,找到界面中的【电脑诊所】点击进入。
进入电脑诊所后,找到腾讯专区下面的【剑灵崩溃】点击进入。
在【剑灵崩溃】-----【一键修复】下面就有一个【立即修复】的按钮,点击此处。
电脑管家会自动修复剑灵客户端的错误,你只需要等待就可以了。
再次运行剑灵客户端就可以了。
看过“剑灵客户端崩溃了怎样修复”
浏览量:2
下载量:0
时间:
Office其他软件都没有这个问题,而word每次退出都出现停止工作这种错误。那么下面就由读文网小编给大家分享下技巧,希望能帮助到您。
步骤一:先任意打开一个Word文档,选择菜单栏“文件”
步骤二:然后选择文件下拉菜单的“选项”
步骤三:选择Word选项的“加载项”,
步骤四:左下角管理选项选择“com加载项”,然后单击“转到
步骤五:在弹出的com加载项对话框中,有几个打了勾的加载项,接下来可以全部取消打勾,或者取消其中几个,具体选择自己尝试,然后单击“确定”。本人亲测全部取消或者取消后两个加载项打勾后,Word关闭时完全正常,不再崩溃。
浏览量:2
下载量:0
时间:
Linux不正常关机,有时候再次启动时会报文件系统损坏,如何修复文件?下面大家与读文网小编一起来学习一下吧。
修复文件系统 | Repaire filesystem
1、重启系统系统时,Linux系统提示“contains a file system with errors”,并自动扫描并尝试修复错误。
2、当自动修复失败时,提示你输入root用户的密码进行手动修复或者按Ctrl+D继续。在这种情况下,按Ctrl+D是没有用的,检查一会儿系统会继续回到当前的界面。
3、输入root用户的密码,按回车。系统出现“(Repair filesystem) 1 #”的提示符。现在可以执行root用户的权限,运行所有的命令。
4、首先用 “fdisl -l” 查看磁盘设备。
5、找到需要修复的设备后,执行命令“fsck -y /dev/sda2”。
说明:/dev/sda2 是我需要修复的设备。
6、总共会进行5个步骤,执行时间和设备中文件数据的大小有关系。在我的机器上,30GB的文件数据共了约20分钟进行修复。修复完成后,会出现提示“FILE SYSTEM WAS MODIFIED”。这时输入命令 "reboot" 命令重启系统。
<正文结束>
看过“ linux 文件系统修复 ”
浏览量:3
下载量:0
时间:
Xp系统下,我们可以通过资源管理器直接管理系统中的文件、共享文档和网上邻居等资源。不过,很多WinXp系统用户在使用时经常会碰到资源管理器崩溃的情况。那么,当遇到该问题时,我们要怎么办呢?下面,读文网小编就向大家分享Xp资源管理器经常崩溃问题的解决方法。
1、点击win+r组合键,打开运行,然后执行:开始--运行,如图所示:
2、在运行窗口里面直接输入regedit,然后点击确定;
3、打开注册表打开之后,将其定位到:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon;
4、在右边空白的地方单击鼠标右键,选择新建--dWord32位;
5、将其命名为AutoRestartShell;
6、右键单击这个数值,然后选择修改;
7、设置数值数据修改为1,这样就能够阻止重启。如果需要开启的话可以将其设定为0。
通过教程的方法对注册表数值数据进行相关设置,那么资源管理器自动重启的问题也就很容易得到解决,主要原因是注册表被恶意修改所致,建议用户使用安全软件对系统病毒进行扫描查杀。
浏览量:2
下载量:0
时间:
系统备份是系统管理工作中十分重要的一个环切,备份是一项重要的工作,但是很多人没有去做。那么如何备份linux系统呢?下面跟着读文网小编一起来了解一下吧。
如果Linux计算机只有一个使用者,可以一个星期或一个月对整个系统备份一次。如果有关键性的文件,就应该有计划地把这些文件拷贝到一个可移动的磁盘中。
备份之前,首先要确保正确地设置备份设备。大多数磁带备份系统在安装时可以发现是否正确。系统启动后,打开一个终端窗口并且输入下面的命令:
$dmeg | less
滚动列表,并从中寻找你的磁带系统的驱动。如果没有发现,就需要加载一个组件驱动程序。
如果运行Linux服务器,就要制定一个备份计划,但这并不意味着每天要对所有的东西都备份。系统中只有一部分东西需要每天备份,下面先介绍下目录结构及备份策略:
目录结构:
/etc
包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。
/var
包含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。
/home
包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。
/root
是根(root)用户的主目录。
/opt
是安装许多非系统文件的地方。IBM 软件就安装在这里。OpenOffice、JDK 和其他软件在默认情况下也安装在这里。
有些目录是应该考虑不 备份的。
1. /proc
应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图。它包括诸如 /proc/kcore 这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。
2. /dev
包含硬件设备的文件表示。如果计划还原到一个空白的系统,那就可以备份 /dev。然而,如果计划还原到一个已安装的 Linux 系统,那么备份 /dev 是没有必要的。
备份策略:
用户文件:每天都要对/home目录中的用户文件进行备份。
配置文件:/etc和/var目录中的配置文件不需要频繁备份,每个星期或每月备份一次即可,主要取决于配置更改的频繁程度。
程序文件:/usr和/opt目录中的程序文件很少发生变化,安装后做一次备份即可。通常情况下,程序文件可方便地从原始安装盘中恢复。
选择备份介质
把备份存到哪里有多种选择。下面介绍一些可选择的备份介质:
软盘:如果要把重要文件快速备份,或者将其带到家中,这时软盘仍旧是一种可选的备份介质。
光盘写入器:随着光盘写入器变得越来越可靠,价格也越来越低,光盘本身也非常便宜。选用此项的一个好处是光盘不容易被损坏,它备份的可靠性很高。使用光盘写入器有两点不利因素:它们速度较慢,并且只能保存大约650MB。
可重写的光盘:可重写光盘驱动器比光盘写入器要贵得多,工作方式与其类似。但是,这些光盘是可被重写的,并且它比只能写一次的光盘贵许多。可重写光盘其它的特性都与光盘写入器类似。
Jaz 和Zip:Zip驱动器很流行,已经成为许多PC机的标准配置,同时它的磁盘和驱动器也都不贵。它一张磁盘可容纳100MB的数据,是一种用于快速、可移动备份的很好选择。Jaz磁盘可以容纳上G字节的数据,并且使用更先进的技术以获得更好的表现。Jaz驱动器和Jaz磁盘都比较贵。Jaz和Zip的缺陷是都容易损坏,并且保持时间相对要短。
磁带机:磁带备份设备是大多数Linux服务器的标准配置。磁带是可靠的,并且很少出现错误,它几乎比其它介质存储时间都要长。对于点对点工作组网络和中型网络,Travan和高端数字音频磁带(DAT)通常是最好的选择。Travan驱动器经过压缩可以处理8GB数据,这对于具有5-10个PC机的小型网络来说足够了。DAT驱动器有更好的表现,可以处理24GB的数据。DAT驱动器比 Travan驱动器昂贵,但它磁带的价格要比Travan QIC磁带卷便宜。
高端磁带:选择高端磁带可能是相当贵的。与Travan 或DAT相比,这种驱动器有更大的容量和更高的速度。三种广泛使用的驱动器类型是:Sony Advanced Intelliget Tape ( AIT ) 、Quantum Digital Linear Ta p e ( DLT )和Exabyte Mammoth 8mm。它们最少可以容纳20GB的不压缩数据,并且具有更高的数据传输能力。
用于备份的Tar
备份工具Tar是以前备份文件的可靠方法,几乎可以工作于任何环境中,Linux老用户一般都信赖它。 Linux中以。tar结尾的文件都是用tar创建的。它的使用超出了单纯的备份,可用来把许多不同文件放到一起组成一个易于分开的文件。tar是从 Tape ARchiver备份工具起步的。包含在Linux中的GNU tar工具简便易用,包含了一个用来压缩的选项,且支持不断增加的备份。tar是一个命令行的工具,没有图形界面。使用Konsole或Kvt打开一个终端窗口,接下来是一个简单的备份命令:
$tar cvf - /home > /temp/backup.tar
这个命令在/tmp目录中创建一个backup.tar的文件,/home目录中所有内容都包含在其中。接下来可以把tar文件拷贝到备份磁盘中。使用简单备份时,如果要使用压缩功能,改为下面命令:
$tar czvf - /home > /tmp/backup.tgz
上面扩展名。 tgz指出这是一个压缩文件。下一个例子可以用来直接备份到一个安装好的Jaz驱动器中,但这样做要确定有足够的空间:
$tar czvf /mnt/jaz/backup.tgz - /home
对于一个磁带驱动器,使用设备名称:
$tar czvf /dev/st0/backup.tgz - /home
如果有一个备份非常大,可以使用多卷选项。但是,这样做就不能使用压缩。当第一个磁盘或磁带填满后,tar将提示插入另一张:
$tar cvMf /dev/st0/5mar2000.tar -home
要恢复备份使用下面的命令,以Jaz磁盘为例:
$tar xzvf /mnt/jaz/5mar2000.tgz /home
表1列出了tar主要功能参数。此外还有很多可选参数,本文不再详述。
表1
备份工具tar可以用crontab工具设置成基于时间的有规律地运行。例如,每晚2点把/home目录备份到SCSI磁带驱动器中,只要将下面语句添加到root的crontab中即可:
00 02 * * * tar cvf /dev/st0/homefiles.tar - /home
要使用 tar 来把除 /proc 目录之外的整个文件系统备份到 SCSI 磁带设备:
$tar -cpf /dev/st0 / --exclude=/proc
在上面的例子中,-c 开关表示归档文件正在被创建。-p 开关表示我们希望保留文件许可权限,这对良好的备份来说是很关键的。-f 开关指向该归档文件的文件名。在本例中,我们使用的是原始磁带设备 /dev/st0。/ 表示我们想要备份的内容。既然我们想要备份整个系统,因此把这个开关指定为根(root)。当把 tar 指向一个目录(以 / 结尾)时,它会自动递归。最后,我们排除了 /proc 目录,因为它没有包含需要保存的任何内容。如果单盒磁带容纳不下这个备份,我们需要添加 -M 开关(本例中没有显示)以进行多卷备份。
要还原一个或多个文件,可以使用带提取开关(-x)的 tar 命令:
$tar -xpf /dev/st0 -C /
-C / 表明我们想要让还原从 / 开始。-C 开关使我们的当前目录不再相关。
您可能会经常使用的另外两个 tar 命令是 -t 和 -d 开关。-t 开关列出某个归档文件的内容。-d 开关将归档文件的内容与系统上的当前文件作比较。
为便于操作和编辑,您可以将想要归档的文件和目录放进一个文本文件中,然后在命令行通过 -T 开关引用这个文本文件。这些文件和目录可以与命令行上列出的其他目录结合起来。下面的命令行备份 MyFiles 中列出的所有文件和目录、/ 根目录和 /tmp 目录中的所有 iso 文件。
$tar -cpf /dev/st0 -T MyFiles /root /tmp/*.iso
文件列表只是一个文本文件,其中列出文件或目录。下面是一个例子:
/etc
/var
/home
/usr/local
/opt
请注意 tar -T(或 files-from)命令不能接受通配符。文件必须明确地列出。上面的例子展示了一种单独地引用文件的方法。您还可以执行脚本来搜索系统,然后建立一个列表。下面就是这样一个脚本的例子:
#!/bin/sh
cat MyFiles > TempList
find /usr/share -iname *.png 》 TempList
find /tmp -iname *.iso 》 TempList
tar -cpzMf /dev/st0 -T TempList
上面的脚本首先将 MyFiles 中的所有现有文件列表复制到 TempList。然后它执行两个 find 命令来搜索文件系统中匹配某个模式的文件,并将它们附加到 TempList。第一次是搜索 /usr/share 目录树中以 .png 结尾的所有文件。第二次是搜索 /tmp 目录树中以 .iso 结尾的所有文件。在建立好列表之后,tar 然后在文件设备 /dev/st0 (第一个 SCSI 磁带设备)上创建 一个新的归档文件,该文件使用 gzip 格式来压缩,并保留所有文件权限。该归档文件将跨越多个卷。要归档的文件的名称将从 TempList 文件中提取。
用于备份的Cpio
GNU cpio工具像tar一样从命令提示行启动程序。与tar相比cpio更复杂,但是也更为可靠。因为如果一个tar文件中某处有一个坏块,就不能对备份文件的其它部分进行访问,而使用cpio,只有坏块不能被访问。cpio创建一个称为copy-out mode的备份,备份存档中包含了文件和所有者、时间及访问许可等信息。cpio需要一个假定要备份的文件列表。创建列表的一个最方便的方法就是使用ls 命令。例如,要把/home目录备份到SCSI磁带设备中,输入下面的命令:
$ls /home | cpio -o > /dev/st0
也可以使用find命令。它包括许多选项可以用来消减被存档文件的数量。例如,下面的命令对所有在上一个2 4小时内修改过的文件进行存档:
$find /home -mtime 1 -type f -print | cpio -o > /dev/st0
copy - in模式把文件从备份存档中解出来。下面的命令会恢复前两个备份例子中的所有文件:
$cpio -i < /dev/st0
看过“linux 文件系统备份 ”
浏览量:2
下载量:0
时间:
Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。下面大家与读文网小编一起来学习一下吧。
1,内核安装特殊rootfs文件系统,该文件系统仅提供一个作为初始安装点的空目录
start_kernel()->vfs_caches_init()->mnt_init()->init_rootfs()
[cpp] view plain copy print?
/*初始化根文件系统*/
int __init init_rootfs(void)
{
int err;
/*初始化ramfs_backing_dev_info*/
err = bdi_init(&ramfs_backing_dev_info);
if (err)
return err;
/*注册rootfs_fs_type文件类型*/
err = register_filesystem(&rootfs_fs_type);
if (err)/*如果出错,销毁上面初始化的*/
bdi_destroy(&ramfs_backing_dev_info);
return err;
}
[cpp] view plain copy print?
static struct backing_dev_info ramfs_backing_dev_info = {
.name = "ramfs",
.ra_pages = 0, /* No readahead */
.capabilities = BDI_CAP_NO_ACCT_AND_WRITEBACK |
BDI_CAP_MAP_DIRECT | BDI_CAP_MAP_COPY |
BDI_CAP_READ_MAP | BDI_CAP_WRITE_MAP | BDI_CAP_EXEC_MAP,
};
[cpp] view plain copy print?
/**
* register_filesystem - register a new filesystem
* @fs: the file system structure
*
* Adds the file system passed to the list of file systems the kernel
* is aware of for mount and other syscalls. Returns 0 on success,
* or a negative errno code on an error.
*
* The &struct file_system_type that is passed is linked into the kernel
* structures and must not be freed until the file system has been
* unregistered.
*/
/*注册一个新的文件系统*/
int register_filesystem(struct file_system_type * fs)
{
int res = 0;
struct file_system_type ** p;
BUG_ON(strchr(fs->name, '.'));
if (fs->next)
return -EBUSY;
INIT_LIST_HEAD(&fs->fs_supers);
write_lock(&file_systems_lock);
/*从system_type链表中查找指定名称的file_system_type*/
p = find_filesystem(fs->name, strlen(fs->name));
if (*p)
res = -EBUSY;
else
*p = fs;
write_unlock(&file_systems_lock);
return res;
}
根文件系统定义如下
[cpp] view plain copy print?
static struct file_system_type rootfs_fs_type = {
.name = "rootfs",
.get_sb = rootfs_get_sb,
.kill_sb = kill_litter_super,
};
下面看看他的两个函数
[cpp] view plain copy print?
/*获得根目录的sb*/
static int rootfs_get_sb(struct file_system_type *fs_type,
int flags, const char *dev_name, void *data, struct vfsmount *mnt)
{
return get_sb_nodev(fs_type, flags|MS_NOUSER, data, ramfs_fill_super,
mnt);
}
[cpp] view plain copy print?
int get_sb_nodev(struct file_system_type *fs_type,
int flags, void *data,
int (*fill_super)(struct super_block *, void *, int),
struct vfsmount *mnt)
{
int error;
/*获得sb结构*/
struct super_block *s = sget(fs_type, NULL, set_anon_super, NULL);
if (IS_ERR(s))
return PTR_ERR(s);
s->s_flags = flags;
/*这里实际调用ramfs_fill_super,对sb结构的属性进行设置*/
error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
if (error) {
deactivate_locked_super(s);
return error;
}
s->s_flags |= MS_ACTIVE;
simple_set_mnt(mnt, s);/*设置mnt和sb关联*/
return 0;
}
[cpp] view plain copy print?
/**
* sget - find or create a superblock
* @type: filesystem type superblock should belong to
* @test: comparison callback
* @set: setup callback
* @data: argument to each of them
*/
/*查找或创建一个sb结构*/
struct super_block *sget(struct file_system_type *type,
int (*test)(struct super_block *,void *),
int (*set)(struct super_block *,void *),
void *data)
{
struct super_block *s = NULL;
struct super_block *old;
int err;
retry:
spin_lock(&sb_lock);
if (test) {
list_for_each_entry(old, &type->fs_supers, s_instances) {
if (!test(old, data))
continue;
if (!grab_super(old))
goto retry;
if (s) {
up_write(&s->s_umount);
destroy_super(s);
}
return old;
}
}
if (!s) {/*如果找不到sb,从内存中申请一个*/
spin_unlock(&sb_lock);
s = alloc_super(type);
if (!s)
return ERR_PTR(-ENOMEM);
goto retry;
}
err = set(s, data);
if (err) {
spin_unlock(&sb_lock);
up_write(&s->s_umount);
destroy_super(s);
return ERR_PTR(err);
}
/*初始化得到的sb结构*/
s->s_type = type;
strlcpy(s->s_id, type->name, sizeof(s->s_id));
/*加入链表尾*/
list_add_tail(&s->s_list, &super_blocks);
list_add(&s->s_instances, &type->fs_supers);
spin_unlock(&sb_lock);
get_filesystem(type);
return s;
}
[cpp] view plain copy print?
/*所有超级块对象都以双向循环链表的形式链接在一起,量表中第一个
元素用super_blocks变量表示,而超级块对象的s_list字段存放指向链表
相邻元素的指针*/
LIST_HEAD(super_blocks);
[cpp] view plain copy print?
/**
* alloc_super - create new superblock
* @type: filesystem type superblock should belong to
*
* Allocates and initializes a new &struct super_block. alloc_super()
* returns a pointer new superblock or %NULL if allocation had failed.
*/
static struct super_block *alloc_super(struct file_system_type *type)
{
/*从内存中申请sb*/
struct super_block *s = kzalloc(sizeof(struct super_block), GFP_USER);
static const struct super_operations default_op;
if (s) {
if (security_sb_alloc(s)) {
kfree(s);
s = NULL;
goto out;
}
/*初始化*/
INIT_LIST_HEAD(&s->s_files);
INIT_LIST_HEAD(&s->s_instances);
INIT_HLIST_HEAD(&s->s_anon);
INIT_LIST_HEAD(&s->s_inodes);
INIT_LIST_HEAD(&s->s_dentry_lru);
init_rwsem(&s->s_umount);
mutex_init(&s->s_lock);
lockdep_set_class(&s->s_umount, &type->s_umount_key);
/*
* The locking rules for s_lock are up to the
* filesystem. For example ext3fs has different
* lock ordering than usbfs:
*/
lockdep_set_class(&s->s_lock, &type->s_lock_key);
/*
* sget() can have s_umount recursion.
*
* When it cannot find a suitable sb, it allocates a new
* one (this one), and tries again to find a suitable old
* one.
*
* In case that succeeds, it will acquire the s_umount
* lock of the old one. Since these are clearly distrinct
* locks, and this object isn't exposed yet, there's no
* risk of deadlocks.
*
* Annotate this by putting this lock in a different
* subclass.
*/
down_write_nested(&s->s_umount, SINGLE_DEPTH_NESTING);
s->s_count = S_BIAS;
atomic_set(&s->s_active, 1);
mutex_init(&s->s_vfs_rename_mutex);
mutex_init(&s->s_dquot.dqio_mutex);
mutex_init(&s->s_dquot.dqonoff_mutex);
init_rwsem(&s->s_dquot.dqptr_sem);
init_waitqueue_head(&s->s_wait_unfrozen);
s->s_maxbytes = MAX_NON_LFS;
s->dq_op = sb_dquot_ops;
s->s_qcop = sb_quotactl_ops;
s->s_op = &default_op;
s->s_time_gran = 1000000000;
}
out:
return s;
}
kill_litter_super的过程相反,这里不再写了。
构造根目录是由init_mount_tree()函数实现的,该函数在前面已经介绍过了。
2,安装实际根文件系统
关于__setup宏
__setup宏来注册关键字及相关联的处理函数,__setup宏在include/linux/init.h中定义,其原型如下:
__setup(string, _handler);
其中:string是关键字,_handler是关联处理函数。__setup只是告诉内核在启动时输入串中含有string时,内核要去
执行_handler。String必须以“=”符结束以使parse_args更方便解析。紧随“=”后的任何文本都会作为输入传给
_handler。下面的例子来自于init/do_mounts.c,其中root_dev_setup作为处理程序被注册给“root=”关键字:
__setup("root=", root_dev_setup);
比如我们在启动向参数终有
noinitrd root=/dev/mtdblock2 console=/linuxrc
setup_arch解释时会发现root=/dev/mtdblock2,然后它就会调用root_dev_setup
[cpp] view plain copy print?
static int __init root_dev_setup(char *line)
{
strlcpy(saved_root_name, line, sizeof(saved_root_name));
return 1;
}
__setup("root=", root_dev_setup);
Start_kernel->rest_init->init-> prepare_namespace->
[cpp] view plain copy print?
/*
* Prepare the namespace - decide what/where to mount, load ramdisks, etc.
*/
void __init prepare_namespace(void)
{
int is_floppy;
if (root_delay) {
printk(KERN_INFO "Waiting %dsec before mounting root device...",
root_delay);
ssleep(root_delay);
}
/*
* wait for the known devices to complete their probing
*
* Note: this is a potential source of long boot delays.
* For example, it is not atypical to wait 5 seconds here
* for the touchpad of a laptop to initialize.
*/
wait_for_device_probe();
/*创建/dev/ram0,必须得,因为initrd要放到/dev/ram0里*/
md_run_setup();
if (saved_root_name[0]) {/*saved_root_name为从启动参数"root"中获取的设备文件名*/
root_device_name = saved_root_name;
if (!strncmp(root_device_name, "mtd", 3) ||
!strncmp(root_device_name, "ubi", 3)) {/*如果设备名开头为这两个*/
mount_block_root(root_device_name, root_mountflags);
goto out;
}
/*主设备号和次设备号*/
ROOT_DEV = name_to_dev_t(root_device_name);
if (strncmp(root_device_name, "/dev/", 5) == 0)
root_device_name += 5;/*滤掉'/dev/'字符*/
}
if (initrd_load())
goto out;
/* wait for any asynchronous scanning to complete */
if ((ROOT_DEV == 0) && root_wait) {
printk(KERN_INFO "Waiting for root device %s...",
saved_root_name);
while (driver_probe_done() != 0 ||
(ROOT_DEV = name_to_dev_t(saved_root_name)) == 0)
msleep(100);
async_synchronize_full();
}
is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR;
if (is_floppy && rd_doload && rd_load_disk(0))
ROOT_DEV = Root_RAM0;
/*实际操作*/
mount_root();
out:
devtmpfs_mount("dev");/*devfs从虚拟的根文件系统的/dev umount*/
sys_mount(".", "/", NULL, MS_MOVE, NULL);/*将挂载点从当前目录【/root】(在mount_root函数中设置的)移到根目录*/
/*当前目录即【/root】(真正文件系统挂载的目录)做为系统根目录*/
sys_chroot(".");
}
mount_root操作
[cpp] view plain copy print?
void __init mount_root(void)
{
#ifdef CONFIG_ROOT_NFS
if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {
if (mount_nfs_root())
return;
printk(KERN_ERR "VFS: Unable to mount root fs via NFS, trying floppy.");
ROOT_DEV = Root_FD0;
}
#endif
#ifdef CONFIG_BLK_DEV_FD
if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) {
/* rd_doload is 2 for a dual initrd/ramload setup */
if (rd_doload==2) {
if (rd_load_disk(1)) {
ROOT_DEV = Root_RAM1;
root_device_name = NULL;
}
} else
change_floppy("root floppy");
}
#endif
#ifdef CONFIG_BLOCK/*这里是一般流程*/
create_dev("/dev/root", ROOT_DEV);/*用系统调用创建"/dev/root"*/
mount_block_root("/dev/root", root_mountflags);
#endif
}
[cpp] view plain copy print?
void __init mount_block_root(char *name, int flags)
{
/*从cache中分配空间*/
char *fs_names = __getname_gfp(GFP_KERNEL
| __GFP_NOTRACK_FALSE_POSITIVE);
char *p;
#ifdef CONFIG_BLOCK
char b[BDEVNAME_SIZE];
#else
const char *b = name;
#endif
/*获得文件系统类型,如果在bootoption里有,
则就为这个文件系统类型,如果没有指定,
则返回ilesytem链上所有类型,下面再对每个进行尝试.*/
get_fs_names(fs_names);
retry:
for (p = fs_names; *p; p += strlen(p)+1) {
/*实际的安装工作,这里调用了mount系统调用
将文件系统挂到/root目录,p为文件系统类型,由get_fs_names得到
*/
int err = do_mount_root(name, p, flags, root_mount_data);
switch (err) {
case 0:
goto out;
case -EACCES:
flags |= MS_RDONLY;
goto retry;
case -EINVAL:
continue;
}
/*
* Allow the user to distinguish between failed sys_open
* and bad superblock on root device.
* and give them a list of the available devices
*/
#ifdef CONFIG_BLOCK
__bdevname(ROOT_DEV, b);
#endif
printk("VFS: Cannot open root device "%s" or %s",
root_device_name, b);
printk("Please append a correct "root=" boot option; here are the available partitions:");
printk_all_partitions();
#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
printk("DEBUG_BLOCK_EXT_DEVT is enabled, you need to specify "
"explicit textual name for "root=" boot option.");
#endif
panic("VFS: Unable to mount root fs on %s", b);
}
printk("List of all partitions:");
printk_all_partitions();
printk("No filesystem could mount root, tried: ");
for (p = fs_names; *p; p += strlen(p)+1)
printk(" %s", p);
printk("");
#ifdef CONFIG_BLOCK
__bdevname(ROOT_DEV, b);
#endif
panic("VFS: Unable to mount root fs on %s", b);
out:
putname(fs_names);
}
[cpp] view plain copy print?
static int __init do_mount_root(char *name, char *fs, int flags, void *data)
{
/*mount系统调用来做实际的安装文件系统工作*/
int err = sys_mount(name, "/root", fs, flags, data);
if (err)
return err;
/*改变当前路径到根目录*/
sys_chdir("/root");
ROOT_DEV = current->fs->pwd.mnt->mnt_sb->s_dev;
printk("VFS: Mounted root (%s filesystem)%s on device %u:%u.",
current->fs->pwd.mnt->mnt_sb->s_type->name,
current->fs->pwd.mnt->mnt_sb->s_flags & MS_RDONLY ?
" readonly" : "", MAJOR(ROOT_DEV), MINOR(ROOT_DEV));
return 0;
}
到此,根文件系统的安装过程算是完成了,中间关于mount等系统调用将在后面分析。可以看出总的步骤主要有:
1,创建一个rootfs,这个是虚拟的rootfs,是内存文件系统(和ramfs),后面还会指向具体的根文件系统;
2,从系统启动参数中获取设备文件名以及设备号;
3,调用系统调用创建符号链接,并调用mount系统调用进程实际的安装操作;
4,改变进程当前目录;
5,移动rootfs文件系统根目录上得已经安装文件系统的安装点;
rootfs特殊文件系统没有被卸载,他只是隐藏在基于磁盘的根文件系统下了。
浏览量:2
下载量:0
时间:
Linux文件管理从用户的层面介绍了Linux管理文件的方式。Linux有一个树状结构来组织文件。树的顶端为根目录(/),节点为目录,而末端的叶子为包含数据的文件。当我们给出一个文件的完整路径时,我们从根目录出发,经过沿途各个目录,最终到达文件。那么linux文件系统怎么管理?下面跟着读文网小编一起来了解一下吧。
在linux中所有的东西都是文件
Linux文件系统的组织方式称做Filesystem Hierarchy Standard(文件系统分层标准,简称FHS),即采用层次式的树状目录结构。在此结构的最上层是根目录"/"(斜杠),然后在此根目录下是其他的目录和子目录
Linux与DOS及Windows一样,采用"路径"来表示文件或目录在文件系统中所处的层次。路径由以"/"为分隔符的多个目录名字符串组成,分为绝对路径和相对路径。所谓绝对路径是指由根目录"/"为起点来表示系统中某个文件或目录的位置的方法。例如如果用绝对路径表示图中第4层目录中的bin目录,应为"/usr/local/bin"。相对路径则是以当前目录为起点,表示系统中某个文件或目录在文件系统中的位置的方法。若当前工作目录是"/home",则用相对路径表示图中第4层目录中的bin目录,应为"hls/bin"或"./hls/bin",其中"./"表示当前目录,通常可以省略。
Linux文件系统的组织与Windows操作系统不同。对于在Linux下使用的设备,不需要像Windows那样创建驱动器盘符,Linux会将包括本地磁盘、网络文件系统、CD-ROM和U盘等所有设备识别为设备文件,并嵌入到Linux文件系统中来进行管理。一个设备文件不占用文件系统的任何空间,仅仅是访问某个设备驱动程序的入口。Linux 系统中有两类特殊文件:面向字符的特殊文件和面向块(block)的特殊文件。前者允许I/O操作以字符的形式进行,而后者通过内存缓冲区来使数据的读写操作以数据块的方式实现。当对设备文件进行I/O操作时,该操作会被转给相应的设备驱动程序。一个设备文件是用主设备号(指出设备类型)和从设备号(指出是该类型中的第几个设备)来表示的,可以通过mknod命令进行创建。软盘、光盘和硬盘等典型设备文件在Linux系统中的表示方法。
典型设备文件在Linux系统中的表示方法
Linux文件名最长可允许256个字符,可以包括数字、字符,以及"."、"-"、"_"等符号。Linux文件名不像DOS或Windows由主文件名和扩展文件名两部分组成,Linux中没有扩展名的概念。Linux环境下,文件名对大小写敏感(Case Sensitive),例如test.txt与Test.txt会被识别成两个不同的文件,而DOS或Windows平台是不进行大小写区分的。
文件系统的构成
/usr/bin、/bin : -------------存放所有用户可以执行的命令
/usr/sbin、/sbin : -----------存放只有root可以执行的命令
/home :--------------------用户缺省宿主目录
/proc :---------------------虚拟文件系统,存放当前内存镜像
/dev :----------------------存放设备文件
/lib :-----------------------存放系统程序运行所需的共享库
/lost+foud :---------------存放一些系统出错的检查结果
/tmp :---------------------存放临时文件
/etc :-----------------------系统配置文件
/var :----------------------包含经常发生变动的文件,如:邮件、日志文件、计划任务等
/usr :----------------------存放所有命令、库、手册页等 类似于windows C盘下的WINDOWS目录
/mnt :----------------------临时文件系统的安装点
/boot :---------------------内核文件及自举程序文件保存位置
用windows下我们习惯把安装的程序放在Program files目录下,在linux下面习惯放在/user/local下。
查看文件命令
查看分区使用情况:df
查看文件、目录大小:du
检测修复文件系统: fsck、e2fsck
(单用户模式执行)
判断文件类型:file
df 查看linux磁盘分区情况
在windows下查看我们硬盘的分区很简单,打开“我的电脑”就知道有几个盘,鼠标放到盘符上就显示磁盘的大小,那么在linux下如何查看呢,其实也非常简单,一个命令的事儿
[root@bogon ~]# df -h
Filesystem 容量 已用 可用 已用% 挂载点
/dev/sda1 9.7G 3.3G 5.9G 37% /
none 506M 0 506M 0% /dev/shm
/dev/sda2 2.9G 37M 2.7G 2% /hzh
/dev/sda5 6.2G 47M 5.9G 1% /web
du 查看文件、目录的大小
windows下查看文件、目录的大小右键--属性,linux我们使用du命令进行查看。
root@fnngj-H24X:/hzh# du -h test.test ------查看文件的大小
4.0K test.test
root@fnngj-H24X:/# du -sh /etc ------查看目录的大小
7.1M /etc
file判断文件类型
我们知道linux下的文件不是同过后缀名来确定类型的,如果刚好某个文件没有定义后缀名,我们可以通过file命令来查看后缀名。
root@fnngj-H24X:/hzh# file test.test
test.test: ASCII text
添加磁盘、分区、格式化、挂载
这是我们在玩linux服务器时会遇到的一个问题,根据初期的规划,你linux上了一块500GB的硬盘,过了一段时间,不够用了。怎么办?换一个1TB的硬盘,把系统重装一下,把原来的数据拷贝到新硬盘上。这种方式可以,但太笨。直接在原系统上加一块硬盘不就行了。我们现在需要知道的就是如何让新加的这块硬盘给我们工作。
设置---根据图片的提示添加一块新的虚拟硬盘,嗯!这就是虚拟机的好处,可以帮我们模拟添加多块硬盘。呵呵
划分分区(fdisk)
创建文件系统(mkfs)
尝试挂载(mount)
写入配置文件(/etc/fstab)
查看新添加分区的硬盘信息:
[root@bogon ~]# dmesg | grep sdb sdb是我们添加的第二块硬盘
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
sdb: cache data unavailable
sdb: assuming drive cache: write through
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
sdb: cache data unavailable
sdb: assuming drive cache: write through
sdb: unknown partition table
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
如果敲入dmesg | grep sdb命令没有任何信息,那问题就大了,你的系统没有识别新添加胡硬盘。
对硬盘进行分区
下面先看一下我们添加的第二块硬盘的一些信息。
[root@bogon ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
sdb中b表示第二块硬盘,如果想看我们第一块硬盘的信息,可以输入sda
[root@bogon ~]# fdisk -l /dev/sda
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1275 10241406 83 Linux
/dev/sda2 1276 1657 3068415 83 Linux
/dev/sda3 1658 1788 1052257+ 82 Linux swap
/dev/sda4 1789 2610 6602715 5 Extended
/dev/sda5 1789 2610 6602683+ 83 Linux
下面开始真正的对硬盘进行分区
[root@bogon ~]# fdisk /dev/sdb
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m ----- 按m可以获得帮助信息
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition -----删除分区
l list known partition types
m print this menu
n add a new partition -----添加一个新的分区
o create a new empty DOS partition table
p print the partition table -----显示分区表
q quit without saving changes -----不保存退出
s create a new empty Sun disklabel
t change a partition's system id -----改变文件系统类型
u change display/entry units
v verify the partition table
w write table to disk and exit ----- 保存退出
x extra functionality (experts only)
------------------------------------------------------添加第一个主分区--------------------------
Command (m for help): p ----- 显示分区表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help): n ----- 添加新分区
Command action
e extended e是扩展分区
p primary partition (1-4) ----p是主分区,我们最多可以添加4个主分区
p ----- 按p表示我们要划分主分区
Partition number (1-4): 1 -----给主分区的一个编号1
First cylinder (1-1305, default 1): -----这1到1305是指扇面,这个比较麻烦,不选择直接回车
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +5120M ---- 这个地方我们要指定分区的大小,我们可以通过字节的方式来指定,国为我的硬盘是10G,我划分5G出来。
Command (m for help): p ----- 现在再来查看分区表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 623 5004216 83 Linux ----- 划分的第一个主分区信息出来了
-----------------------------------------------------添加第二个主分区---------------------------------
Command (m for help): n ----- 按n继续划分分区
Command action
e extended
p primary partition (1-4)
p -----p再划一个主分区
Partition number (1-4): 2 ----- 这里输入2表示第二个主分区
First cylinder (624-1305, default 624):
Using default value 624
Last cylinder or +size or +sizeM or +sizeK (624-1305, default 1305): ----- 我们要把剩余空间都给2,这里直接回车
Using default value 1305
Command (m for help): p ----- 再来查看分区表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 623 5004216 83 Linux
/dev/sdb2 624 1305 5478165 83 Linux ----- 划分的两个分区都出来了
指定磁盘的格式
接下来要指这文件系统的类型,现在的window分FAT32和NTFS是两种比较常见的分区,那linux下面磁盘支持的格式就非常多了
注:下面的操作不要退出fdisk模式
Command (m for help): t ----给分区指定表格
Partition number (1-4): 1 ----我们选编号为1的主分区
Hex code (type L to list codes): L ---- 这里我们不知道编号,可用L来查看所有的分区格式
83 Linux -----这个也就是我们刚划分的两个主分区的格式。
Hex code (type L to list codes): 83 ---- 如果不想改变原有格式直接输入83回车
删除分区
如果这时你发现自己的分区划分的不合理,想删除某一个分区,重新划分。
注:下面的操作不要退出fdisk模式
Command (m for help): d ----删除分区
Partition number (1-4): 2 ----这里选择删除第2个分区
Command (m for help): P
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 63 506016 83 Linux ---- 我们划分的两个分区只剩一个了
保存退出
当我们把分区分好以后,需要保存退出才能保存我们划分的分区。其它非正常退出都不能保存我们划好的分区。
注:此处才是我们要退出fdisk模式的时候^_^
Command (m for help): w--w是保存退出,q是不保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
磁盘格式话
ok!分区已经完毕,下面是不是应该对硬盘进行一下格式化了
[root@bogon ~]# mk -- 输入mk,按两下tab键,你会看到linux下面有许多分区命令
mkafmmap mkdosfs mkfs.ext2 mkisofs mktemp
mkbootdisk mke2fs mkfs.ext3 mklost+found mkxauth
mkcfm mkfifo mkfs.msdos mkmanifest mkzftree
mkcramfs mkfontdir mkfs.vfat mknod mkzonedb
mkdict mkfontscale mkhtmlindex mkSimNodeDir
mkdir mkfs mkhybrid mksock
mkdirhier mkfs.cramfs mkinitrd mkswap
windwos下我们在格式化的时候,可以指定FAT32和NTFS,那么linux下流行的格式为ext2和ext3 ,这里我们对划分好的第1个分区进行格式化,选用ext3的格式
[root@bogon ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
626496 inodes, 1251054 blocks
62552 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1283457024
39 block groups
32768 blocks per group, 32768 fragments per group
16064 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
挂载分区
OK!现在硬盘分区也分好了,也进行了格式化,下面要使用这个分区了。在使用的时候我们需要对其进行挂载。就像前面我讲的挂在光盘一样。使用mount命令。
[root@bogon /]# mkdir /newsdb -----我们在根目录下创建一个做挂载点的目录/newsdb
[root@bogon /]# mount /dev/sdb1 /newsdb/ ---- 然后把格式化好的第1个分区/dev/sdb1 挂载到/newsdb目录下
[root@bogon /]# df -h
Filesystem 容量 已用 可用 已用% 挂载点
/dev/sda1 9.7G 3.3G 5.9G 37% /
none 506M 0 506M 0% /dev/shm
/dev/sda2 2.9G 37M 2.7G 2% /hzh
/dev/sda5 6.2G 47M 5.9G 1% /web
/dev/sdb1 4.7G 42M 4.5G 1% /newsdb
看过“ linux文件系统怎么管理 ”
浏览量:2
下载量:0
时间:
相信大家在使用360浏览器win10版的时候会遇到很多的问题吧,比如说浏览器崩溃什么的,遇到这种问题大家肯定很烦恼吧,下面读文网小编就详细的给大家介绍一下360浏览器崩溃应该怎么解决,希望能够帮助到大家。
360浏览器win10版有常见问题及解决方法:
问题一:360浏览器老是崩溃
解决方法:由于使用新架构的360se会有多个进程,所以当大家手动结束了某个子进程时,会导致在这个进程中的标签页面崩溃。所以请不要强制性结束360se.exe进程。
当然有时候也是因为您正在浏览的页面发生了异常导致页面崩溃,这种情况请不要担心,3.0版本的新架构下,一个子进程的崩溃不会导致整个浏览器的崩溃,大大增强了程序的稳定性,您只需要将崩溃的页面关闭即可。
软件名称: | 360浏览器win10版 |
软件大小: | 27.97 |
下载地址: | 详见360官网 |
问题二:下载完成后直接关闭下载窗口
解决方法:检查电脑中是否安装超级兔子,有可能是超级兔子优化在使用的时候触发了Vista马上删除下载文件开关,也就是说关闭了硬盘上建立的下载缓存区,因此你即使下载另存为,也没有保存,实际上被系统当时就删除了,根本没有从内存中复制到硬盘中去。你还是使用系统还原功能,把它还原到使用优化之前去就好了。你的这种情况见得多,很多使用第三方软件优化Vista的人都遇到你这样的问题,唯一的方法就是还原到优化之前去。
问题三:用了一会儿就会蓝屏
解决方法:回答这个问题前,先说一下电脑的蓝屏的原因很多很复杂,包括硬件和软件两大部分,看到你问题的描述,应该是软件方面的,检查杀毒软件是否有冲突,或者360浏览器和其它软件之间是否有冲突,怀疑有冲突的,可以先卸载掉再看看情况有没有好转,如果实在不行就只有重装系统,连重装系统后都还出现蓝屏,那就是硬件问题了,内存条是否松动或者灰尘太多清理一下等等!
问题四:看视频没有声音
解决方法:这可能是大家误关了浏览器的页面声音导致的。方法:打开360浏览器——查看——页面元素——播放网页声音!
问题五:如何更新收藏夹
解决方法:360浏览器更新收藏夹方法:打开360浏览器——收藏——导入导出——导入收藏夹——浏览(收藏夹位置)——开始导入——OK就可以了。
温馨提示:大家在遇到问题的时候不要着急,按照上面的方法慢慢检查,找出问题并解决。
看过“ win10中360浏览器崩溃怎么办 ”
浏览量:4
下载量:0
时间:
很多时候我们都会遇上系统奔溃的情况,那么Windows系统崩溃该怎么办呢?读文网小编为大家分享了具体的操作方法,有需要的朋友可以参考下!
1、设置电脑从U盘启动。如何设置启动顺序,一般开机时BIOS 自检开始前屏幕上都会有提示,具体如何启动,请根据自己的电脑型号百度搜索一下。
2、U盘引导系统启动成功后,在选择菜单中选择合适版本的WIN PE系统。
3、耐心等待,WIN PE系统启动过程中。
4、WIN PE系统成功启动。
5、进入PE环境后,打开资源管理器,找到C盘,选择你要拷贝的文件或是文件夹,把它拷贝到移动硬盘或是U盘中。
6、集成有WIN PE系统的U盘启动工具,通常还集成有其他常用工具,如 windows登陆密码清除工具,一键GHOST,分区工具,硬盘低格工具等。建议没有光驱的朋友,可以制作一个U盘启动工具。
找到C盘后,选择要拷贝的文件/文件夹移动硬盘或是U盘就成功解决C盘重要资料了。
浏览量:3
下载量:0
时间:
Word使用的是Word 2010版本,最近不知道怎么回事,总是崩溃,只要一关闭Word 2010,就崩溃,在使用中任何问题都没有,重新安装Word也没有用,这是怎么回事呢?下面小编来告诉你吧。
先任意打开一个Word文档,选择菜单栏“文件”
然后选择文件下拉菜单的“选项”
选择Word选项的“加载项”,
左下角管理选项选择“com加载项”,然后单击“转到
在弹出的com加载项对话框中,有几个打了勾的加载项,接下来可以全部取消打勾,或者取消其中几个,具体选择自己尝试,然后单击“确定”。本人亲测全部取消或者取消后两个加载项打勾后,Word关闭时完全正常,不再崩溃。
浏览量:2
下载量:0
时间:
你的IE8或者IE9是不是经常崩溃呢?其实这一般来说都是由于某些第三方插件不兼容造成的问题。下面读文网小编就为大家介绍一个简单的解决IE浏览器总是崩溃的方法,欢迎大家参考和学习。
1、打开IE浏览器,按Alt键显示IE的菜单栏;
2、选择“工具 -> Internet选项”;
3、在Internet选项中,选择“高级”选项卡;
4、在重置Internet Explorer设置中点击“重置”按钮;
5、弹出的“重置Internet Explorer设置”对话框中,点击“重置”按钮,就重置IE浏览器的各项设置了。
注意:重置完后,IE浏览器相关的第三方插件都会被清除。
浏览量:2
下载量:0
时间: