Dan*_*l F 7 partitioning virtualbox vmdk
前段时间我创建了一个 VMDK,它映射到 SSD 上的原始分区。
SSD 是一个 128GB 的,我在 Windows(主机)中对其进行了分区,使第二个分区可供 Windows (NTFS) 访问,并使用第一个分区将其映射到 VMDK。
第一个分区的大小约为 48GB。
然后,当我在使用该 VMDK 的 VM 中安装 Ubuntu Server 时,我注意到/dev/sda
显示给我的大小是 128GB,但我在 Ubuntu 安装期间创建的分区为第一个分区的大小,所以这/dev/sda1
是48GB。
由于空间不足/dev/sda1
(有 5GB 可用空间),我购买了另一个 SSD,并决定停止使用原始映射。我通过虚拟媒体管理器将 VMDK 复制到新的 SSD 上,所以我现在有一个 aprox 的 VMDK 文件。44GB(不要太准确,这是 MiB 与 GiB 与 GB 的问题)。
然后我用新复制的 VMDK 替换了 VM 的 HDD 并启动了它。它按预期工作。
现在我有这个:
:~$ cat /proc/partitions
major minor #blocks name
11 0 58100 sr0
8 0 125034840 sda
8 1 46873600 sda1
8 16 488386584 sdb
8 17 181189085 sdb1
Run Code Online (Sandbox Code Playgroud)
这个
~$ sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 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: 0x000271d1
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 93749247 93747200 44.7G 83 Linux
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 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: gpt
Disk identifier: 59B4B505-C79F-11E3-8F9C-709E29CA19D2
Device Start End Sectors Size Type
/dev/sdb1 34 362378204 362378171 172.8G Linux filesystem
Run Code Online (Sandbox Code Playgroud)
和这个
:/$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 9.1M 1.6G 1% /run
/dev/sda1 44G 37G 5.1G 88% /
tmpfs 7.9G 1.1M 7.9G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
windows-avconv 1.9T 1.8T 103G 95% /home/user/windows-avconv
windows-storage 1.9T 1.8T 103G 95% /home/user/windows-storage
windows-share 50G 101M 50G 1% /home/user/windows
cgmfs 100K 0 100K 0% /run/cgmanager/fs
/dev/sdb1 170G 91G 72G 56% /media/hdd
tmpfs 1.6G 0 1.6G 0% /run/user/1000
Run Code Online (Sandbox Code Playgroud)
所有这些似乎都表明我可以发出一个
sudo resize2fs /dev/sda1
Run Code Online (Sandbox Code Playgroud)
然后/dev/sda1
将增长到 119.2 GiB 大而无需我使用VBoxManage modifyhd <absolute path to file> --resize <size in MB>
我对这个假设是否正确?
更新:我制作了 VMDK 的备份副本并发布了一个
:~$ sudo resize2fs /dev/sda1
Run Code Online (Sandbox Code Playgroud)
这是结果:
resize2fs 1.42.13 (17-May-2015)
The filesystem is already 11718400 (4k) blocks long. Nothing to do!
Run Code Online (Sandbox Code Playgroud)
我需要发出一个
sudo growpart /dev/sda 1
Run Code Online (Sandbox Code Playgroud)
之前resize2fs
可以工作吗?
vid*_*rlo 15
您必须首先使用以下步骤调整分区大小:
sudo parted /dev/sda
以超级用户身份输入提示“(parted)”resizepart 1
调整分区大小 1
-0
将其大小调整到磁盘的末尾。-
表示它应该从磁盘的末尾开始计数,而不是从开始。这使得 -0 成为磁盘的最后一个扇区 - 这适用于您想要使其尽可能大的情况。第四步:quit
退出分手文件系统元信息需要指明磁盘的大小,resize2fs 更新这个。因此,在展开之后,运行resize2fs /dev/sda1
.
强烈建议在单用户模式/恢复模式下执行此操作,或者在只读模式下安装文件系统。您可以通过mount -o remount,ro /dev/sda1
.
扩展是可以在RW模式文件系统做的,但会增加数据丢失的可能性。由于这是一个虚拟机,您可以轻松进行备份,因此使用挂载的 RW 卷进行备份可能是有意义的。
附录:以 root 身份运行命令以获得所需的效果。
归档时间: |
|
查看次数: |
51016 次 |
最近记录: |