通过 fdisk 对磁盘分区扩容
最近 Hyper-V 里面虚拟机的硬盘容量不够用了,便在管理器里直接修改虚拟硬盘的大小,但是进去虚拟机查看并没有生效,网上查了下,还需要手动修改分区大小,这里用的是 fdisk
命令,从 50G 扩展到 200G。
记得操作前先设置一下检查点,以便恢复快照。
查看当前的挂载点:
root@us1804:~$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 924M 0 924M 0% /dev
tmpfs tmpfs 191M 11M 181M 6% /run
/dev/sda2 ext4 49G 25G 22G 53% /
tmpfs tmpfs 953M 0 953M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 953M 0 953M 0% /sys/fs/cgroup
/dev/loop0 squashfs 91M 91M 0 100% /snap/core/6350
tmpfs tmpfs 191M 0 191M 0% /run/user/1000
查看分区信息:
root@us1804:~$ fdisk -l
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 6EB98689-A74E-4AE2-B170-7E527EC91CCD
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 104855551 104851456 50G Linux filesystem
修改虚拟硬盘分区大小:
root@us1804:~$ fdisk /dev/sda
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): m #查看命令说明
Help:
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help): d #先删除分区
Partition number (1,2, default 2): 2 #sda2,分区号是 2
Partition 2 has been deleted.
Command (m for help): n #新建分区,选择主分区就行,p
Partition number (2-128, default 2): 2 #sda2,分区号还是 2
First sector (4096-419430366, default 4096): #磁盘开始位置,默认回车就行
Last sector, +sectors or +size{K,M,G,T,P} (4096-419430366, default 419430366): #分配的磁盘大小,全部分配,默认回车就行
Created a new partition 2 of type 'Linux filesystem' and of size 200 GiB.
Partition #2 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: Y #如果旧的分区有签名信息,移除
The signature will be removed by a write command.
Command (m for help): p #查看新分区信息,可以看到,200G 已经完全分配
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 40301CF6-FD50-414E-8CB2-4BC129149EA7
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 419430366 419426271 200G Linux filesystem
Filesystem/RAID signature on partition 2 will be wiped.
Command (m for help): w #保存新分区
The partition table has been altered.
Syncing disks.
接下来重启虚拟机 reboot
,重启之后更新文件系统大小:
root@us1804:~$ resize2fs /dev/sda2
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 25
The filesystem on /dev/sda2 is now 52428283 (4k) blocks long.
查看新分区信息:
root@us1804:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 924M 0 924M 0% /dev
tmpfs 191M 11M 181M 6% /run
/dev/sda2 197G 25G 164G 14% /
tmpfs 953M 0 953M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 953M 0 953M 0% /sys/fs/cgroup
/dev/loop0 91M 91M 0 100% /snap/core/6350
tmpfs 191M 0 191M 0% /run/user/1000
可以看到,扩容已经完成。