相比于Windows环境下进行磁盘的修复,在Linux环境下进行磁盘修复的工作要复杂一些。那么到底如何通过Linux来进行磁盘的修复工作呢?为此在本文中课课家笔者就为大家介绍在Linux环境下进行磁盘修复的相关命令,让大家对此有一个基本的了解而不至于丈二和尚摸不着头脑。
◎badblocks
功能说明:badblocks命令一般用来检查磁盘装置中损坏的区块。
语 法:badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]
补充说明:我们在执行指令时须指定所要检查的磁盘装置以及此装置的磁盘区块数。
参 数:
-b 指定磁盘的区块大小,单位为字节。
-o 将检查的结果写入指定的输出文件。
-s 在检查时显示进度。
-v 执行时显示详细的信息。
-w 在检查时执行写入测试。
[磁盘装置] 指定要检查的磁盘装置。
[磁盘区块数] 指定磁盘装置的区块总数。
[启始区块] 指定要从哪个区块开始检查。
◎cfdisk
功能说明:cfdisk命令用于磁盘的分区。
语 法:cfdisk [-avz][-c -h -s ][-P ][外围设备代号]
补充说明:cfdisk类似于DOS的fdisk,它具有互动式操作界面而非传统fdisk的问答式界面,因此我们可以轻易地利用方向键来操控分区操作。
参 数:
-a 在程序里不用反白代表选取而以箭头表示。
-c 忽略BIOS的数值直接指定磁盘的柱面数目。
-h 忽略BIOS的数值直接指定磁盘的磁头数目。
-P 显示分区表的内容:附加参数"r"会显示整个分区表的详细资料,附加参数"s"会依照磁区的顺序显示相关信息,附加参数"t"则会以磁头,磁区,柱面的方式来显示资料。
-s 忽略BIOS的数值直接指定磁盘的磁区数目。
-v 显示版本信息。
-z 不读取现有的分区直接当作没有分区的新磁盘使用。
◎dd
功能说明:dd命令用于读取,转换并输出数据。
语 法:dd [bs=][cbs=][conv=][count=][ibs=][if=][obs=][of=][seek=][skip=][--help][--version]
补充说明:dd命令可从标准输入或文件读取数据,依指定的格式来转换数据,然后再输出到文件、设备或标准输出。
参 数:
bs= 将ibs( 输入)与obs(输出)设成指定的字节数。
cbs= 转换时每次只转换指定的字节数。
conv= 指定文件转换的方式。
count= 仅读取指定的区块数。
ibs= 每次读取的字节数。
if= 从文件读取。
obs= 每次输出的字节数。
of= 输出到文件。
seek= 一开始输出时跳过指定的区块数。
skip= 一开始读取时跳过指定的区块数。
--help 帮助。
--version 显示版本信息。
◎e2fsck(ext2 file system check)
功能说明:e2fsck命令用于检查ext2文件系统的正确性。
语 法:e2fsck [-acCdfFnprsStvVy][-b ][-B ][-l ][-L ][设备名称]
补充说明:e2fsck执行后的传回值及代表意义如下:
0 没有任何错误发生。
1 文件系统发生错误并且已经修正。
2 文件系统发生错误并且已经修正。
4 文件系统发生错误但没有修正。
8 运作时发生错误。
16使用的语法发生错误。
128共享的函数库发生错误。
参 数:
-a 不询问使用者意见便自动修复文件系统。
-b 指定superblock而不使用预设的superblock。
-B 指定区块的大小,单位为字节。
-c 一并执行badblocks以标示损坏的区块。
-C 将检查过程的信息完整记录在file descriptor中,使得整个检查过程都能完整监控。
-d 显示排错信息。
-f 即使文件系统没有错误迹象仍强制地检查正确性。
-F 执行前先清除设备的缓冲区。
-l 将文件中指定的区块加到损坏区块列表。
-L 先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表。因此损坏区块列表的区块跟文件中指定的区块是一样的。
-n 以只读模式开启文件系统并采取非互动方式执行,所有的问题对话均设置以"no"回答。
-p 不询问使用者意见便自动修复文件系统。
-r 此参数只为了兼容性而存在并无实际作用。
-s 如果文件系统的字节顺序不适当就交换字节顺序,否则不做任何动作。
-S 不管文件系统的字节顺序一律交换字节顺序。
-t 显示时间信息。
-v 执行时显示详细的信息。
-V 显示版本信息。
-y 采取非互动方式执行,所有的问题均设置以"yes"回答。
◎ext2ed(ext2 file system editor)
功能说明:ext2ed命令主要是ext2文件系统编辑程序。
语 法:ext2ed
补充说明:ext2ed可直接处理硬盘分区上的数据,这个指令只有Red Hat Linux才提供。
参 数:
● 一般指令
setdevice[设备名称] 指定要处理的设备。
disablewrite 将ext2ed设为只读的状态。
enablewrite 将ext2ed设为可读写的状态。
help[指令] 显示个别指令的帮助。
next 移至下一个单位,单位会依目前所在的模式而异。
prev 移至前一个单位,单位会依目前所在的模式而异。
pgup 移至下一页。
pgdn 移至上一页。
set 修改目前的数据,参数会依目前所在的模式而异。
writedata 在执行此指令之后才会实际修改分区中的数据。
● ext2进入3种模式的指令
super 进入main superblock,换句话说就是Superblock模式。
group 进入指定的group,换句话说就是Group模式。
cd 在inode模式下进入指定的目录或文件,换句话说就是Inode模式。
Superblock模式
gocopy 进入指定的superblock备份。
setactivecopy 将目前所在的superblock复制到main superblock。
Group模式
blockbitmap 显示目前groupo的区块图。
inode 进入目前group的第一个inode。
inodebitmap 显示目前group的inode二进制码。
Inode模式
dir 进入目录模式。
file 进入文件模式。
◎fdisk
功能说明:fdisk命令用于磁盘的分区。
语 法:fdisk [-b ][-uv][外围设备代号] 或 fdisk [-l][-b ][-uv][外围设备代号...] 或 fdisk [-s ]
补充说明:fdisk是用来磁盘分区的程序,它采用传统的问答式界面而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便。
参 数:
-b 指定每个分区的大小。
-l 列出指定的外围设备的分区表状况。
-s 将指定的分区大小输出到标准输出上,单位为区块。
-u 搭配"-l"参数列表,会用分区数目取代柱面数目来表示每个分区的起始地址。
-v 显示版本信息。
◎fsck.ext2(file system check-second filesystem)
功能说明:fsck.ext2命令用于检查文件系统并尝试修复错误。
语 法:fsck.ext2 [-acdfFnprsStvVy][-b ][-B ][-C ][-I ][-l/L ][-P ][外围设备代号]
补充说明:当ext2文件系统发生错误时可用fsck.ext2指令尝试加以修复。
参 数:
-a 自动修复文件系统不询问任何问题。
-b 指定分区的第一个磁区的起始地址,也就是Super Block。
-B 设置该分区每个区块的大小。
-c 检查指定的文件系统内是否存在有损坏的区块。
-C 指定反叙述器,fsck.ext2指令会把全部的执行过程都交由其逆向叙述,便于排错或监控程序执行的情形。
-d 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f 强制对该文件系统进行完整检查,即使该文件系统在慨略检查下没有问题。
-F 检查文件系统之前先清理该保存设备块区内的数据。
-I 设置欲检查的文件系统,其inode缓冲区的区块数目。
-l 把文件中所列出的区块视为损坏区块并将其标示出来,避免应用程序使用该区块。
-L 此参数的效果和指定"-l"参数类似,但在参考损坏区块文件标示损坏区块之前会先将原来标示成损坏区块者统统清楚,即全部重新设置而非仅是加入新的损坏区块标示。
-n 把欲检查的文件系统设成只读并关闭互动模式,否决所有询问的问题。
-p 此参数的效果和指定"-a"参数相同。
-P 设置fsck.ext2指令所能处理的inode大小为多少。
-r 此参数将忽略不予处理,仅负责解决兼容性的问题。
-s 检查文件系统时交换每对字节的内容。
-S 此参数的效果和指定"-s"参数类似,但不论该文件系统是否已是标准位顺序一律交换每对字节的内容。
-t 显示fsck.ext2指令的时序信息。
-v 详细显示指令执行过程。
-V 显示版本信息。
-y 关闭互动模式且同意所有询问的问题。
◎fsck(file system check)
功能说明:fsck命令用于检查文件系统并尝试修复错误。
语 法:fsck [-aANPrRsTV][-t ][文件系统...]
补充说明:当文件系统发生错误四化可用fsck指令尝试加以修复。
参 数:
-a 自动修复文件系统不询问任何问题。
-A 依照/etc/fstab配置文件的内容检查文件内所列的全部文件系统。
-N 不执行指令仅列出实际执行会进行的动作。
-P 当搭配"-A"参数使用时则会同时检查所有的文件系统。
-r 采用互动模式,在执行修复时询问问题让用户得以确认并决定处理方式。
-R 当搭配"-A"参数使用时则会略过/目录的文件系统不予检查。
-s 依序执行检查作业而非同时执行。
-t 指定要检查的文件系统类型。
-T 执行fsck指令时不显示标题信息。
-V 显示指令执行过程。
以上就是几则常用Linux磁盘修复命令。
本次的几则常用Linux磁盘修复命令的讲解到此就暂告一段落,如果以后有什么相关的内容继续进行补充或者修改的话,笔者会在此继续进行相关的内容的补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的讲解对大家学习Linux和Linux认证能够起到一定的帮助作用!