命令行
df
常用命令了, 可以查看各个盘分区使用及挂载情况. df -h
会以GB之类显示而非字节.
df -T
可以查看分区的文件系统类型.
lsblk
可以查看各个硬盘以及相应的分区和挂载情况.
lsblklsblk不提供硬盘代号.
fdisk
sudo fdisk -l
可以查看各个硬盘的分区, 扇区情况等更详尽的信息. 和lsblk类似, 仍然不提供关键的UUID信息. 不过会提供一些信息, 例如扇区正确与否, 分区是否有问题.
Partition does not start on physical sector boundary. 这个问题比较麻烦, 可以不处理. 一种处理方法是重新分区, 算了吧.
fdisk 也可用于小于2T硬盘的分区:
fdisk /dev/sdb
m # 查看帮助
n # 新建分区
p # 创建逻辑分区, 输入分区号及指定大小
w # 保存退出, 执行分区操作
例如:
Command (m for help): n
# n创建分区
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
# p(primary主分区) e(extended拓展分区)
Partition number (1-4, default 1): 1
# 分区号
First sector (2048-83886079, default 2048):
# 默认
Last sector, +sectors or +size{K,M,G,T,P} (2048-83886079, default 83886079):
# 大小,可自定义,保持默认
Created a new partition 1 of type 'Linux' and of size 40 GiB.
Command (m for help): p
# 查看分区情况
Disk /dev/sdb: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbb6c1792
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 83886079 83884032 40G 83 Linux
Command (m for help): w
# 保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
parted
这是gparted的命令行命令. 建议用图形界面.
parted /dev/sdb
mklabel gpt # gpt分区表
unit TB # 设置使用单位是TB
mkpart primary 0 3 # 设置一个主分区, 大小3T, 开始是0.
print # 显示分区大小
quit # 退出程序
mkfs
这是格式化分区的工具. 后面根据.ext4
,.ntfs
可以选择相应格式的格式化.
sudo mkfs.ext4 /dev/sdb1
blkid
这是可以查看硬盘 UUID的工具, 有了UUID才可以写入到/etc/fstab
中进行自动挂载的控制. 更好用法是sudo blkid |grep sda8
这类似的查看, 否则看不清.
随后, 可以根据UUID来控制开机挂载到指定位置, 例如:
UUID=68FE3E72FE3E3920 /ext ntfs defaults 0 1
# 也可以
UUID=68FE3E72FE3E3920 /ext ext4 defaults,errors=remount-ro 0 1
图形界面程序
disks
Ubuntu默认程序, 可以查看硬盘, 可以进行格式化, 可以进行挂载和卸载.
Disksgparted
图形界面程序, 很好用的分区程序. 在Ubuntu默认没有安装, 在Ubuntu LiveCD里默认安装了. 具有图标, 可以在应用面板中找到.
sudo apt-get install gparted
GParted
坏道处理
badblocks
可以检查硬盘是否有坏道, 逻辑坏道可以修复, 物理坏道只能屏蔽了.
badblocks -s -v -o ~/badblocks.log /dev/sdb
badblocks [-svw][-b < 区块大小>][-o < 输出文件>][磁盘装置][磁盘区块数][启始区块]
-
-o
指定输出文件, 记录坏道块号, 后面可以用工具针对他处理. -
-c < 检查区块数目>
每一次检测区块的数目。默认值是16。增加这个数目可以增加检测块的效率可同时也会增加内存的耗费。设置32, 64.. -
-b 区块大小
, 指定区块大小, 单位字节, 不指定自己控制. -
-s
在检查时显示进度。 -
-v
执行时显示详细的信息。 -
-w
在检查时,执行写入测试。
随后, 可以用该文件来屏蔽坏扇区. 用到e2fsck
或fsck
命令, 前者适用于ext2-4, 后者适用其他文件系统.
sudo e2fsck -l ~/badblocks.log /dev/sdb
smartmontools
适用于SMART设备, 包括固态硬盘.
sudo apt install smartmontools
# 查看硬盘健康情况
sudo smartctl -H /dev/sdb
关闭硬盘
以下命令可以在Linux下实现机械硬盘磁头归位停转. 省电.
hdparm -Y /dev/sdx
Window下, 磁盘管理, 右键可以脱机. 关了APS.
网友评论