Linux 磁盘管理命令mkbootdisk fsck blockdev hdparm mkswap

2024-05-13 17:44

本文主要是介绍Linux 磁盘管理命令mkbootdisk fsck blockdev hdparm mkswap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 3.Linux 磁盘管理命令
    • 3.9 mkbootdisk:建立启动盘
      • 案例练习
    • 3.10 fsck:检查文件系统
      • 案例练习
    • 3.11 blockdev:从命令行调用区块设备控制程序
      • 案例练习
    • 3.12 hdparm:设置磁盘参数
      • 案例练习
    • 3.13 mkswap:建立交换分区
      • 案例练习

3.Linux 磁盘管理命令

3.9 mkbootdisk:建立启动盘

  • 作用:mkbootdisk 命令用来建立系统的启动盘。

  • 用法:mkbootdisk [选项] [–device]

  • 主要选项如下:

    命令描述
    --device<devicefile>指定设备,默认是/dev/fd0。
    --mkinitrdargs<参数>设置 mkinitrd 的参数。
    --noprompt一般情况下 kbootdisk 会提示用户插入磁盘,使用此参数可省略此过程。
    --verbose执行时显示详细的信息。
    --isomkbootdisk 制作一个 ISO 映象文件。
    --version-v显示版本信息。
    --size<size>指定启动文件大小,默认是 1.44MB。

案例练习

动手快速制作一张启动盘,步骤如下:

① 查看内核版本。

#uname –r 
2.6.20-8

② 自动完成启动盘制作。

#mkbootdisk --device /dev/fd0 --noprompt 2.6.20-8

如果没有任何错误提示,就表示操作成功。

3.10 fsck:检查文件系统

  • 作用:fsck 命令用来检查文件系统并尝试修复错误。

  • 用法:fsck [选项] [-t fstype] device

  • 主要选项如下:

    命令描述
    -a自动修复文件系统,不询问任何问题。
    -A依照/etc/fstab 配置文件的内容,检查文件内所列的全部文件系统。
    -N不执行指令,仅列出实际执行会进行的动作。
    -P当搭配“-A”参数使用时,会同时检查所有的文件系统。
    -r采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。
    -R当搭配“-A”参数使用时,会略过“/”目录的文件系统不予检查。
    -s依次执行检查作业,而非同时执行。
    -t fstype指定要检查的文件系统类型。
    -T执行 fsck 指令时,不显示标题信息。
    -V显示指令执行过程。

fsck 是 Linux 各文件系统检查程序(fsck.fstype)的前端程序。出于对 Linux 各个 发行版本的兼容性,检查 Ext2/Ext3 文件系统的命令可能有不同的命令名称,实际功 能是相同的,如 fsck.Ext2、fsck.Ext3、E2fsck 都用来检查 Ext2/Ext3 文件系统。

e2fsck 执行的传回值及代表意义如下:

0:没有任何错误发生。
1:文件系统发生错误,并且已经修正。
2:文件系统应当重启。
4:文件系统发生错误,但没有修正。
8:运行时发生错误。
16:使用的语法发生错误。
128:共享的函数库发生错误。

案例练习

检查设备/dev/sda1

# fsck /dev/sda1 

3.11 blockdev:从命令行调用区块设备控制程序

  • 作用:在命令行调用“ioxtls”函数,以实现对设备的控制。

  • 用法:blockdev -V
    blockdev –report [设备]
    blockdev [-v|-q] 命令 设备

  • 主要选项如下:

    命令描述
    -V打印版本号并退出。
    -q安静模式。
    -v详细信息模式。
    --report打印报告指定设备。

    可用命令如下:

    命令描述
    --getsz获得 512 字节扇区的大小。
    --setro设置只读。
    --setrw设置读/写。
    --getro获得只读。
    --getdiscardzeroes获取忽略零数据支持状态。
    --getss获得逻辑块(扇区)大小。
    --getpbsz获得物理块(扇区)大小。
    --getiomin获得最小 I/O 大小。
    --getioopt获得最优 I/O 大小。
    --getalignoff获得对齐偏移字节数。
    --getmaxsect获得每次请求的最大扇区数。
    --getbsz获得块大小。
    --setbsz<bytes>设置块设备大小。
    --getsize获得 32bit 扇区数量(已废弃,请使用–getsz)。
    --getsize64获得字节大小。
    --setra<sectors>设置 readahead。
    --getra获取 readahead。
    --setfra<sectors>设置文件系统 readahead。
    --getfra获取文件系统 readahead。
    --flushbufs刷新缓存。
    --rereadpt重新读取分区表。

案例练习

(1)设置设备为只读

# blockdev --setro /dev/hda4

(2)读取设备是否为只读

#blockdev --getro /dev/hda4

3.12 hdparm:设置磁盘参数

  • 作用:hdparm 命令用来检测、显示与设定硬盘的参数。

  • 用法:hdparm[选项] [设备]

  • 主要选项如下:

    命令描述
    -a设定读取文件时,预先存入块区的分区数。
    -A启动或关闭读取文件时的快取功能,可选 0 或 1。
    -c设定 IDE 硬盘 32 位 I/O 模式。
    -C检测 IDE 硬盘的电源管理模式。
    -d设定磁盘的 DMA 模式,可选 0 或 1。
    -f将内存缓冲区的数据写入硬盘,并清空缓冲区。
    -g显示硬盘的磁轨、磁头、磁区等参数。
    -h显示帮助信息。
    -i显示硬盘的硬件信息,这些信息是在开机时由硬盘本身所提供的。
    -I直接读取硬盘所提供的硬件规格信息。
    -k重新设定硬盘参数时,保留-dmu 参数的设定,可选 0 或 1。
    -K重新设定硬盘参数时,保留-APSWXZ 参数的设定,可选 0 或 1。
    -m<扇区数目>设定硬盘多重分区存取的分区数。
    -n是否忽略硬盘写入时所发生的错误,可选 0 或 1。
    -p<PIO 模式>设定硬盘的 PIO 模式,可选 0、1、2、3、4、5。
    -P<扇区数目>设定硬盘内部快速存取的分区数。
    -q执行后续的参数时,不在屏幕上显示任何信息。
    -r设定硬盘的读/写模式,可选 0 或 1。
    -S设定硬盘进入省电模式前的等待时间。
    -t检测硬盘的读取数据效率。
    -T检测硬盘快速存取(即寻道时间)的读取效率。
    -u在硬盘存取数据时,是否允许其他中断要求同时执行,可选 0 或 1。
    -v显示硬盘的相关设定。
    -W设定硬盘的写入快速存取,可选 0 或 1。
    -X<传输模式>设定硬盘的传输模式。
    -y使 IDE 硬盘进入省电模式。
    -Y使 IDE 硬盘进入睡眠模式。
    -Z关闭 Seagate 硬盘的自动省电功能。
    -z重新读取硬盘分区表。

    hdparm 命令是进行硬盘性能调谐的一个最常用的命令,使用这个命令前,需要对 硬盘的硬件知识有一定了解,另外需要做好数据备份。

案例练习

使用 hdparm 命令来调谐磁盘性能,步骤如下:

① 查看默认设置

#hdparm –v /dev/hda

② 测试并且记录默认设置的磁盘性能。

#hdparm –tT /dev/hda

③ 重新设定硬盘各项参数

#hdparm -u1 -d1 -m16 -c3 -X66 /dev/hda

-u1:Linux 在处理磁盘中断时,可以响应其他中断相关的任务。
-d1:打开 DMA 模式。
-m16:改变硬盘的多路扇区的读功能。-m16 可以使得硬盘在一次 I/O 中断中读入 16 个扇区的数据。
-c3:把硬盘的 16 位模式转换为 32 位模式(32 bit mode w/sync)。
-X66:启用 DMA66 数据传输模式。

④ 记录修改设置后的磁盘性能,对比数据。如果磁盘的性能有所改进,则保存设置

#hdparm –t1 /dev/hda 

3.13 mkswap:建立交换分区

  • 作用:设置交换区(swap area)。

  • 用法:mkswap [选项] [设备名称或文件] [交换区大小]

  • 主要选项如下:

    命令描述
    -c建立交换区前,先检查是否有损坏的区块。
    -f在 SPARC 计算机上建立交换区时,要加上此参数。
    -v0建立旧式交换区,此为预设值。
    -v1建立新式交换区。
    [交换区大小]指定交换区的大小,单位为 1024 字节。

    mkswap 可将磁盘分区或文件设为 Linux 的交换区。在一个文件或者设备上建立 交换区,在建立完之后要使用 swapon 指令开始使用这个交换区。最后一个选择性参 数指定了交换区的大小,但是这个参数是为了后向兼容设置的,没有使用的必要。一 般都将整个文件或设备作为交换区。

案例练习

指定一个设备作为交换区

# mkswap -c -v1 -L swapnew /dev/hda3 

这篇关于Linux 磁盘管理命令mkbootdisk fsck blockdev hdparm mkswap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986393

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象