我有一台 Debian 机器,布局如下:
*Disk /dev/sda: 110 GiB, 118111600640 bytes, 230686720 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: 0x3f34cd54
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 96466943 96464896 46G 83 Linux
/dev/sda2 96466944 104853503 8386560 4G 82 Linux swap / Solaris*
现在我将 sda 大小调整为 110GB,以便在 sda1 上获得更多空间。 fdisk 给我这些信息:
*Disk /dev/sda: 110 GiB, 118111600640 bytes, 230686720 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: 0x3f34cd54
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 96466943 96464896 46G 83 Linux
/dev/sda2 96466944 104853503 8386560 4G 82 Linux swap / Solaris*
和
*Command (m for help): F
Unpartitioned space /dev/sda: 60 GiB, 64426606592 bytes, 125833216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes*
当我现在删除并重新创建 sda1 和“其他”数字时,我想我的 sda2 已经消失了,是吗?
如何调整 sda1 的大小,以便将未分配的 60GB 添加到 sda1 而不丢失 sda2。我可以将 sda2 “移动”到扇区末尾,然后扩展 sda1 吗?完成这件事的最佳方法是什么?
答案1
在编辑分区表之前,运行 swapoff /dev/sda2
告诉系统停止使用交换分区。之后,您可以删除它并根据需要重新创建它(首先创建分区,然后mkswap
在其上运行)。
如果交换恰好由 UUID 指定/etc/fstab
,则删除并重新创建交换分区将创建一个新的 UUID。在这种情况下,使用blkid
或swaplabel
命令找出新的 UUID 并进行编辑以匹配它。/etc/fstab
完成后,最后swapon -a
根据配置运行重新激活交换分区/etc/fstab
(从而同时验证其正确性)。
sda1
要在成功修改分区后调整文件系统的大小(扩展) ,请使用fsadm resize /dev/sda1
或使用特定于文件系统的工具:resize2fs
对于 ext2/ext3/ext4 文件类型、xfs_growfs
对于 XFS 等。
特定于 Debian:如果这是一台笔记本电脑或者您正在使用挂起/休眠功能,还请检查/etc/initramfs-tools/conf.d/resume
;如果它存在并且引用交换分区,请在必要时修复它。如果需要修改该文件,请update-initramfs -u
稍后运行。