Azure磁盘扩容后,终端中无法分配新增空间的问题求助
Azure磁盘扩容后,终端中无法分配新增空间的问题求助
看起来你遇到了Azure虚拟机磁盘扩容后,系统层面没法识别并分配新增空间的问题,我先从你提供的fdisk -l输出里帮你梳理下关键信息:
- 基础磁盘
/dev/sda是30GB,分区结构正常,/dev/sda1已经使用了接近全部空间,这部分应该是没问题的。 - 你提到从32GB扩容到64GB的磁盘,目前输出里有两个相关磁盘:
/dev/sdb是32GB(带一个NTFS格式的/dev/sdb1分区),/dev/sdc是64GB但没有任何分区。这里大概率是扩容后系统识别出了新的64GB磁盘,或者原磁盘扩容后未调整分区。
下面分两种常见场景给你解决步骤:
场景1:扩容后的磁盘已被识别为64GB(对应/dev/sdc)
这种情况需要给新磁盘创建分区、格式化并挂载:
- 创建分区:执行
fdisk /dev/sdc进入分区工具,按以下步骤操作:- 输入
n创建新分区,选择主分区(输入p),分区号默认选1,起始扇区直接按回车用默认值,结束扇区也按回车用全部剩余空间。 - 如果你要给Linux系统使用,输入
t修改分区类型,再输入83设置为Linux文件系统类型;如果要保留NTFS格式,输入7即可。 - 输入
w保存分区表并退出。
- 输入
- 格式化分区:
- 用ext4格式:
mkfs.ext4 /dev/sdc1 - 用NTFS格式(需先安装ntfs-3g工具:
apt install ntfs-3g或yum install ntfs-3g):mkfs.ntfs /dev/sdc1
- 用ext4格式:
- 临时挂载:先创建挂载目录,比如
mkdir /mnt/expanded_disk,然后执行mount /dev/sdc1 /mnt/expanded_disk,之后就能在这个目录下使用新增空间了。 - 永久挂载:编辑
/etc/fstab文件,添加一行:/dev/sdc1 /mnt/expanded_disk ext4 defaults 0 0(根据你实际的文件系统格式替换ext4),这样重启后磁盘会自动挂载。
场景2:原32GB磁盘(/dev/sdb)已扩容到64GB,但系统仍只识别32GB分区
这种情况需要先让系统重新识别磁盘容量,再扩展分区和文件系统:
- 重新扫描磁盘:执行
echo 1 > /sys/class/block/sdb/device/rescan,如果这步没用,建议重启一次Azure虚拟机,扩容后重启通常能让系统识别新的磁盘容量。 - 扩展分区:先卸载分区(确保没有进程在使用这个磁盘,可先用
lsof /dev/sdb1检查):umount /dev/sdb1,然后执行fdisk /dev/sdb:- 输入
d删除原来的/dev/sdb1分区。 - 输入
n创建新分区,主分区、分区号1、起始和结束扇区都用默认值,占满全部64GB空间。 - 调整分区类型(和之前一样,Linux用83,NTFS用7),输入
w保存退出。
- 输入
- 扩展文件系统:
- 如果是ext4格式:
resize2fs /dev/sdb1 - 如果是NTFS格式:
ntfsresize /dev/sdb1
- 如果是ext4格式:
- 重新挂载:
mount /dev/sdb1 /your/existing/mount/point(替换成你原来的挂载路径)。
⚠️ 注意:操作磁盘前一定要备份重要数据,避免误操作导致数据丢失!
备注:内容来源于stack exchange,提问作者Markcodes
相关产品推荐
相关产品推荐

