在利用Hyper-V建立Ubuntu虚拟机之初,认为12G的存储空间足够让虚拟机作为一个联网中转站去给离线服务器安装一些软件包了,但是使用一段时间后发现还是太天真了,某些docker 镜像就大得超出我的预期(TensorFlow 6G+),故在此记录为Hyper-V的Ubuntu虚拟机扩展存储的方法。
Part 1 Hyper-V设置
首先打开Hyper-V管理器,选中需要编辑的Ubuntu虚拟机,点击右侧栏中的编辑磁盘选项:
进入“编辑虚拟硬盘向导”:
首先找到要编辑的.vhdx文件,如果是快速创建的Ubuntu虚拟机,则其默认的保存位置为:
“C:\ProgramData\Microsoft\Windows\Virtual Hard Disk\”
之后就按照向导设置“扩展”及扩展大小即可(GUI向导一般比较好理解)。
Part 2 Ubuntu内设置
启动Ubuntu虚拟机,进入终端。
sudo fdisk -l
可以看到,虚拟机中虚拟硬盘的大小已经扩展到17G,但作为文件系统的sda1仍只有12G。
利用gdisk进行后续设置:
# 确保已经安装gdisk,其对gpt的磁盘修改能力更好
sudo apt-get install gdisk
sudo gdisk /dev/sda
# 在 gdisk 中执行以下命令:
> p # (打印分区表,确认分区编号)
> d # (删除分区),选择1号分区
> n # (新建分区),选择1号分区,使用记录的起点和默认的结束扇区(最大值)
> w # (写入更改并退出)
# 以上部分目的为删除已有的sda1分区,并重新建立sda1分区以将其扩展
# 重新扫描分区表
sudo partprobe /dev/sda
# 扩展文件系统
sudo resize2fs /dev/sda1
#以下为返回结果
resize2fs 1.45.5 (07-Jan-2020)
/dev/sda1 上的文件系统已被挂载于 /;需要进行在线调整大小
old_desc_blocks = 2, new_desc_blocks = 3
/dev/sda1 上的文件系统大小已经调整为 4428027 个块(每块 4k)。
# 检查磁盘空间
df -h
扩展完成!
WeChat public account:长安不老李