我正在考虑如何将Ubuntu 虚拟机的分区/dev/sda1/
分成/dev/sda1
和。/dev/sda2
现在,每次我用 vagrant 创建一个新的虚拟服务器实例时,我都会为其分配 40GB 的磁盘空间,并且所有磁盘空间都分配给/dev/sda1
/dev/sda1
我需要一种使用终端(远程 ssh)将分区分成 2 个的方法。
所以到目前为止我尝试过的是
// Step 1
root@server-1:~# fdisk /dev/sda
// Step 2 Delete sda1
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
// Step 3 Create 2 new Partition
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):p
Partition number (1-4, default 1):
First sector (2048-83886079, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886079, default 83886079): 61440000
Created a new partition 1 of type 'Linux' and of size 29.3 GiB.
Partition #1 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: N
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2):
First sector (61440001-83886079, default 61442048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (61442048-83886079, default 83886079):
Created a new partition 2 of type 'Linux' and of size 10.7 GiB.
// Step 4 and last step is write it to disk
Command (m for help): w
因此,这种方式可以按照我的意愿工作,但是如果我运行 fsck,/dev/sda1
我会在文件系统上得到无效的校验和,并且每当我重新启动虚拟机时,SSH 就会拒绝连接。它甚至没有回应。
我的做法正确吗?分区是否损坏?有什么办法可以解决吗?
答案1
你的想法是正确的,但你错过了第一步。您首先必须收缩分区 sda1 上的文件系统,然后再收缩分区本身。收缩文件系统并不总是受支持,并且本质上是危险的(就像整个操作一样)。我的建议是将文件系统缩小到比您想要将分区缩小到的程度小一点,然后在缩小分区后重新增长文件系统。