linux磁盘管理笔记

发布时间:2019-10-12编辑:脚本学堂
本文介绍了linux下磁盘管理的方法,包括linux磁盘主引导记录的修复,以及linux磁盘分区的操作方法,有需要的朋友参考下。

一,Liunx的主引导记录被破坏了的修复手段:dd  if=/dev/zero of=/dev/sda  bs=单位大小 count=数目利用这条命令破坏主引导记录。

修复过程:
 

1:重启
 a. 光盘挽救
 b. 网络方式挽救
2:进入 rescue  installed system 模式
3   进入shell模式
4:chroot  /mnt/sysimage
5:   grub-install  /dev/sda  完成引导记录到挽救。

二:磁盘分区
1:  fdisk  /dev/sdb  输入该命令之后就可以对磁盘/dev/sdb进行分区了。
输入命令  m   显示所有命令到菜单
  p显示分区表的信息
  n开始分区,选择分区类型
  w保存分区信息并退出   

2:查看磁盘分区信息    fdisk  -l  /dev/sda
3: 格式化磁盘,创建文件系统。
mkfs.ext4   /dev/sdb1    注意! 这里只能一个分区一个分区的格式化,不能使用mkfs.ext4 /dev/sdb将整个磁盘格式化。这样所有到分区都会消失,又得重新划分。

4: parted 命令和fdisk命令的区别是 fdisk的一个分区最大为2TB,parted分区分完后就生效!
5 :  partpreb命令在分区完后运行可以不用重启重新读取分区表信息,在服务器严禁重启的情况下可以使用。

三:磁盘主引导记录MBR
位置:磁盘的第0个柱面,第0个磁头,第1个扇区。
大小: 446B为主引导程序,64B为分区信息,2B为分区结束标志。
每个主分区的第1K的位置为各个区的Boot Sector。一般数据为空。在安装多系统的时候,在放置第二个系统的分区中的系统引导程序放置在这里。如果在linux操作系统中安装windows系统,则windows系统会直接覆盖MBR引导记录。而不会在系统分区的Boot Sector放置引导程序。这是先安装windows才能安装linux的原因。

四:文件系统
文件系统包含到重要参数:
Super Blocks(超级块): 这个数据结构通常在分区的第2K位置(根据块大小而有所不同),包含了所有inode,blocks的数目,用量,剩余量。
inode结点:包含了文件和目录的所有信息,如权限,名字,所有者,大小等。
block: 存放数据。

文件系统默认将所有到block分为block groups(块组). 每个块组中含有Super Blocks,Inode Table,Indo index.

Data Block 文件系统描述等。 每个组中的Super Block都是第一个Block groups的备份,Super Blocks中记录的是所有的块组的信息!

dumpe2fs 查看Super Blocks的信息。 用法: dumpe2fs /dev/sda

mkfs.ext4   /dev/sda1  创建文件系统。

mke2fs  -L 分区名 -b 块大小 /dev/sda2  创建文件系统并指定相应到参数。

修复文件系统:
当分区中的Super Blocks被破坏,而且各个分区又有备份时可以使用命令
fsck  (file system check ) 修复 ,它的修复原理就是将备份的Super Blocks恢复到第一个Super Block中
fsck -y /dev/sda1   选项-y表示修复中自动确认,自动化修复时很重要。

五:交换分区
创建交换分区  mkswap  -L swaplabel  /dev/sdb3 。 这种情况适用于含有空闲分区的硬盘,在没有分区的情况下可以使用文件作为交换分区,mkswap /opt/swap_file
使用free 命令查看内存大小以及虚拟内存,创建的交换分区不能立即生效,swapon   /dev/sdb3  使交换分区生效! swapoff  /dev/sdb3使交换分区失效!

六:分区挂载命令mount
mount  -o  remount,rw  /重新挂载分区,并以可读写的方式挂载。-o 为--option,后面接参数。
这种方式不用卸载即可重新挂载,在不能卸载分区的情况下很有用。比如救援模式

七:自动挂载 /etc/fstab
自动挂载配置文件/etc/fstab各个参数如下:
挂载设备所挂载的文件夹文件系统  挂载选项   是否备份此分区    是否被fsck扫描
 

复制代码 代码示例:
LABEL=分区标签名   /ext4defaults1    1
UUID=分区UUID/boot    ext4 defaults,user1    2
UUID=分区UUIDswapswap    defaults,rw  0    0
tmpfs    /dev/shmtmpfs    defaults,auto0    0
devpts  /dev/pts  devpts gid=5,mode=620   0    0
sysfs/syssysfs   defaults0    0
proc    /procproc defaults0  0

建议使用自动挂载配置文件时,挂载设备使用分区标签名,如果使用设备编号如/dev/sdb2 这样在多硬盘的情况下可能导致编号变动,数据丢失。
命令 blkid 查看所有分区的UUID ,LABEL,文件系统。 e2label  /dev/sda2  label_name 修改ext3,ext2文件系统的分区标签,不能修改swap文件系统标签。修改swap标签可以用 mkswap -L label /dev/sdb2
 挂载选项中的  user表示普通用户可以挂载该分区,auto表示系统启动时自动挂载该分区。