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 情况下卸载 |

浙公网安备 33010602011771号