Linux笔记 (15)

Linux笔记 (15)

标签(空格分隔): Linux


一、观察磁碟分割状态

1. lsblk 列出系统上的所有磁碟列表

lsblk [list block device]:列出所有存储装置

lsblk [-dfimpt] [device]

选项 参数
-d 仅列出磁碟本身,并不会列出该磁碟的分割资料
-f 同时列出给磁碟内的档案系统名称
-i 使用 ASCII 的线段输出,不要使用复杂的编码(在某些环境下很有用)
-m 同时输出该装置在 /dev 底下的权限资料(rwx 的资料)
-p 列出该装置的完整档名,而不是仅列出最后的名字
-t 列出该磁碟装置的详细资料。包括磁碟宁列机制、预读写的资料量大小等
  • MAJ:MIN:主要:次要装置代码
  • RM:是否为可卸载装置(removable device)
  • RO:是否为只读

2. blkid 列出装置的 UUID 等参数

UUID:全域单一识别码(universally unique identifier)

3. parted 列出磁碟的分割表类型与分割资讯

parted device_name print

二、磁碟分割:gdisk/fdisk

MBR 使用 fdisk 分割,GPT 使用 gdisk 分割。

1. gdisk

1.1 gdisk 装置名称

  • 先通过 lsblk 或 blkid 找到磁碟-->再用 parted /dev/xxx print 来找出内部的分割表类型-->使用gdisk 或 fdisk 来操作系统。
  • 使用 gdisk 不需要被指令,只需要按下 ? 即可。
  • d:删除一个分割;n:增加一个分割;p:印出分割表;q:不存储分割就直接离开 gdisk;w:存储分割操作后离开 gdisk。
  • 使用装置档名不要加上数字,因为 partition 是针对整个磁碟装置而不是某个 partition。

1.2 用 gdisk 新增分割槽

  • gdisk /dev/sda
  • p(打印分割表)
  • ?(查看指令)
  • n(新增)
  • Enter 即可
  • Enter 即可
  • +容量(不能Enter。不需要自己计算磁区号码,通过 + 容量的方式就可以让 gdisk 主动算出最接近需要的容量的磁区号码。默认是分割最大的容量。)
  • Enter 即可(8300:Linux filesystem;0700:Microsoft basic data;8200:Linux swap。可在 gdisk 按下 L 来显示)
  • p(检查是否分割结果)
  • w
  • y

1.3 partprobe 更新 Linux 核心的分割表资讯

  • partprobe -s
  • lsblk /dev/sda (实际的磁碟分割状态)

1.4 用 gdisk 删除一个分割槽

  • gdisk /dev/vda
  • p
  • d
  • 要分割的序号
  • p
  • w
  • lsblk
  • partprobe -s
  • lsblk

2. fdisk

  • 几乎和 gdisk 一样。一个使用 ? 作为指令提示,一个使用 m 作为提示。
  • fdisk 有时会使用磁柱(cylinder)作为最小分割单位,与 gdisk 预设使用 sector 不太一样。
  • MBR 分割是有限制的(Primary,Extend,Logical...)

三、磁碟格式化(建置档案系统),mkfs(make filesystem)

1. XFS 档案系统 mkfs.xfs

mkfs.xfs [-b bsize][-d parms][-i parms][-l parms][-L label][-f] \ [-r parms] 装置名称

  • 关于单位:没有加单位则为 bytes,可用k,m,g,t,p;s 表示的是 sector 的个数。
选项 参数
-b 后接 block 容量。512-64k,Max:4k
-d 后接 data section 的相关参数值*
-f 如果装置内已有档案系统,强制格式化
-i 与 inode 相关的设定*
-L 后接这个档案系统的标头名称 Label name
-r 指定 realtime section 的相关设定值*

2. EXT4 档案系统 mkfs.ext4

mkfs.ext4 [-b size][-L label] 装置名称

选项 参数
-b 设定 block 的大小,有 1K,2K,4K 的容量
-L 后面接这个装置的标头名称

3. 其他档案系统 mkfs

  • mkfs -t xfs,找 mkfs.xfs 相关的参数
  • mkfs 【tab】【tab】,系统还支持那种档案系统的格式化功能
  • mkfs -t vfat /dev/sda4,将/dev/sda4的 XFS 档案系统重新格式化为 VFAT 档案系统

四、档案系统检验

1. xfs_repair 处理 XFS 档案系统

当有 xfs 档案系统错乱才需要使用这个指令。

xfs_repair [-fnd] 装置名称

选项 参数
-f 后面的装置其实是个档案而不是实体装置
-n 单纯检查并不修改档案系统的任何资料
-d 通常在单人维护模式下,针对根目录(/)进行检查与修复的动作。危险,不可随便使用

2.fsck.ext4 处理 EXT4 档案系统

fsck.ext4 [-pf][-b superblock] 装置名称

选项 参数
-p 自动回复 y
-f 强制检查
-D 针对档案系统下的目录进行最佳化配置
-b 利用档案系统内备份的 superblock 来尝试救援
  • 执行 xfs_repair/fsck.ext4 时,被检查的 partition 不可挂载到系统上。

五、档案系统挂载与卸载

  • 单一档案系统不应该被重复挂载在不同的挂载点(目录)中;
  • 单一目录不应该重复挂载多个档案系统;
  • 要作为挂载点的目录,理论上应该都是空目录才是。不然原目录的东西会暂时的消失。

1. mount 指令

mount -a
mount [-l]
mount [-t 档案系统] LABEL=" 挂载点
mount [-t 档案系统] UUID=" 挂载点
mount [-t 档案系统] 装置档名 挂载点

1.1 挂载 xfs/ext4/vfat 等档案系统


例1:找出 /dev/sda4 的 UUID 后,用该UUID来挂载档案系统到 /data/xfs 内

  • blkid /dev/sda4
  • mkdir -p /data/xfs
  • mount UUID=" " /data/xfs

1.2 挂载 CD 或 DVD 光碟

例2:挂载光碟到 /data/cdrom

  • blkid
    /dev/sr0:UUID=" "...

  • mkdir /data/cdrom

  • mount /dev/sr0 /data/cdrom

  • 光碟挂载后就无法退出光碟了,除非将它卸载才能退出。

  • 如果使用图形界面,系统会自动的挂载这个光碟到 /media/里面。也可以不卸载就直接退出。

1.3 挂载 vfat USB 磁碟

  • blkid
    /dev/sda 1:UUID=" "...
  • mkdir /data/usb
  • mount -o codepage=950,incharset=utf8 UUID=" " /data/usb
  • mount -o codepage=950,incharset=big5 UUID=" " /data/usb

1.4 重新挂载根目录与挂载不特定目录


例1:将 / 重新挂载,并加入参数为 rw 与 auto

  • mount -o remount,rw,auto /

例2:将 /var 这个目录暂时挂载到 /data/var 底下:

  • mkdir /data/var
  • mount --bind /var /data/var
  • ls -lid /var /data/var

1.5 umount(将装置档案卸载)

umount [-fln] 装置档名或挂载点

选项 参数
-f 强制卸载。可用在类似网络档案系统(NFS)无法读取到的情况下
-l 立刻卸载档案系统
-n 不更新 /etc/mtab 情况下卸载
posted @ 2018-04-24 23:45  Y_momo  阅读(81)  评论(0)    收藏  举报