# 硬盘

硬盘分区操作

# 查看状态 fdisk df

# 查看所有硬盘信息
sudo fdisk -l
   
df -Th 只能看到挂载的磁盘信息(-T显示Type)

# 查看当前目录下一级子文件和子目录占用的磁盘容量
du -lh --max-depth=1 

# 降序排序
du -h --max-depth=1 | sort -rh

# 检查磁盘坏道
badblocks -v /dev/sda > badsectors.txt

# 查看系统检测的硬盘 命令:
lsblk
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 挂载 mount

# 格式化为ext4分区
mkfs.ext4 /dev/sdd1

# 挂载fat32格式U盘
mount -t vfat /dev/sda1 /media 
# 挂载ntfs硬盘
mount -t ntfs /dev/sda1 /media
# 挂载 ext4
mount -t ext4 /dev/sdd1 /dir
# 卸载u盘
sudo umount -l /media/

# 配置开机自动挂载
# 编辑
vim /etc/fstab
加入:
# 目录方式
/dev/sdb1(磁盘分区)  /data1 (挂载目录) ext3(文件格式)defaults  0  0
# 磁盘uuid方式
# 查看硬盘uuid
blkid /dev/vdb
UUID=b3c417e5-7122-474e-ad9a-c32ca225032b  /home/edu/data          ext4    defaults        0 2
# 0 代表: 0不进行备份操作 2代表:检验磁盘扇区是否完整【2代表1级别检验完成之后进行检验】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 挂载虚拟磁盘

  1. 查看物理卷:pvs

  2. 查看卷组:vgs

  3. 创建 逻辑分区(创建完成后,fdisk -l 会出现对应的disk,此时需要格式化分区)

lvcreate -L 800G -n mylv ubuntu-vg
1
  1. 查看逻辑分区
lvdisplay

1
2
  1. 挂载分区
mount /dev/myvg/mylv /mnt/mylv
1

# 逻辑分区扩容

  1. 扩容逻辑分区
lvextend -L +100G /dev/myvg/mylv
1
  1. 扩容文件系统
resize2fs /dev/myvg/mylv
1

# 迁移磁盘

  1. 使用dd命令迁移磁盘或者分区
# bs=4M 表示每次读取4M的数据, 默认是512字节,如果用默认的参数,会非常慢.
# 注: 迁移磁盘会把原磁盘的所有数据迁移到新磁盘,包括分区表,分区,数据等,所以新磁盘的大小要大于等于原磁盘。eg: 原磁盘是500G,新磁盘是1T.同时迁移磁盘不是按照已存在数据的大小来迁移的,而是按照磁盘的大小来迁移的。
dd if=/dev/sda of=/dev/sdb bs=4M
# 以上命令是迁移的磁盘,如果是迁移分区,需要指定分区号
dd if=/dev/sda1 of=/dev/sdb1 bs=4M
1
2
3
4
5

迁移完成后uuid跟原磁盘一样,如果是替换原磁盘,可以直接使用。

2. 迁移完成后会出现未分配的磁盘空间,需要使用工具进行分区,这里使用的是`parted`工具,gui工具有`gparted`

```bash
# 查看磁盘分区
parted /dev/sdb print free

# 将磁盘分区1扩容到最大
sudo parted /dev/sdb resizepart 1 100%

# 修复文件系统(如果是ext4文件系统,可以使用e2fsck命令修复文件系统,其他文件系统可以使用对应的命令修复文件系统)
# 有一定几率会出现文件系统损坏,需要修复
sudo e2fsck -fy /dev/sdb1

# resize2fs命令扩容文件系统,需要一定时间
sudo resize2fs /dev/sdb1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

硬盘扩展parted (opens new window)

2操作不需要卸载磁盘 1操作需要卸载磁盘(e.g.在ubuntu live cd下操作)

问题

  • 原磁盘是2T磁盘,为MBR分区,迁移到4T磁盘,使用dd命令迁移后,新磁盘只有2T大小,而且分区表也是MBR分区,无法使用4T磁盘的空间。如果要使用4T磁盘的空间,需要重新分区,一般重新分区会导致数据丢失,因为需要格式化分区。 此时可以使用DiskGenius工具,可以不丢失数据的情况下重新分区。点击磁盘->转换分区表->GPT->确定->应用。然后使用parted工具扩容分区。
Last Updated: 5/24/2024, 2:37:16 AM