我想在vmware下把linux根盘做大一些。我已经在vmware中扩展了“物理”磁盘,fdisk可以看到可用空间。
分区是ext4。
我已经删除了未使用的交换分区,因此可用空间是根分区之后的空间。
我想这样做:https://askubuntu.com/questions/24027/how-can-i-resize-an-ext-root-partition-at-runtime 删除分区并从相同位置开始重新创建更大的分区。但我的旧分区从63开始,新分区从2048开始。我**没有**保存新分区。
编辑:磁盘从 8 GB 扩展到 20 GB,这会影响第一个分区的开始位置吗?
~# fdisk /dev/sda
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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: 0x000a5f05
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 63 15952544 15952482 7.6G 83 Linux
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039):
Created a new partition 1 of type 'Linux' and of size 20 GiB.
Command (m for help): p
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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: 0x000a5f05
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 41943039 41940992 20G 83 Linux
Command (m for help): q
为什么我不能使新分区与旧分区在同一位置开始?其他选择?创建一个更大的磁盘,添加所有内容,然后安装新的根磁盘而不是旧的?
答案1
您的原始分区可能是使用旧版本fdisk
或其他分区工具创建的,这些工具同样默认创建与 DOS 兼容的分区。
您的新fdisk
分区使用当前推荐的分区对齐方式:通过在扇区 2048 处启动磁盘的第一个分区,它将距离磁盘开头正好 1 MiB。这有助于将分区的数据与底层存储系统的结构对齐,无论该结构可能是:
- 现代多 TB HDD 上的 4k 块
- 擦除 SSD 上的块
- RAID 集上的条带
- 在强大的企业 SAN 存储系统上缓存块
- ETC。
这数据对齐出于性能原因,有助于最大限度地减少 SSD 的磨损。但是,如果您想使用与以前相同的起始扇区创建分区,请将该选项添加到命令行-c=dos
中fdisk
:
fdisk -c=dos /dev/sda
这应该允许分区的第一个扇区小于块 2048,然后您可以将其设置为块 63,与旧分区完全相同。