首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展主linux分区以使用所有可用空间

扩展主linux分区以使用所有可用空间
EN

Server Fault用户
提问于 2023-04-02 02:06:13
回答 1查看 292关注 0票数 0

我试图调整主/引导分区的大小,以使用添加的30 to (Proxmox上的虚拟机)。如您所见,我的引导分区已满。我对所有这些都很陌生,所以,我从这里开始跟踪答案:Ubuntu -无法用增长部分扩展分区-分区1只能在2046年之前增长.

据我所知,我的空闲空间有两个“方式”分区,所以我不能简单地使用growpart,从而谷歌错误并通过上面的线程。

代码语言:javascript
复制
porter@porter:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            5.9G     0  5.9G   0% /dev
tmpfs           1.2G  1.6M  1.2G   1% /run
/dev/sda1        19G   18G     0 100% /
tmpfs           5.9G     0  5.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.2G     0  1.2G   0% /run/user/0
tmpfs           1.2G     0  1.2G   0% /run/user/1000

使用cfdisk,我可以看到30 GB的空闲空间。

代码语言:javascript
复制
                                                   Disk: /dev/sda
                                   Size: 50 GiB, 53687091200 bytes, 104857600 sectors
                                           Label: dos, identifier: 0x0266d922

    Device            Boot               Start            End       Sectors       Size      Id Type
>>  /dev/sda1         *                   2048       39942143      39940096        19G      83 Linux                        
    /dev/sda2                         39944190       41940991       1996802       975M       5 Extended
    └─/dev/sda5                       39944192       41940991       1996800       975M      82 Linux swap / Solaris
    Free space                        41940992      104857599      62916608        30G

因此,我删除sda2sda5,然后编写更改。

代码语言:javascript
复制
                                                   Disk: /dev/sda
                                   Size: 50 GiB, 53687091200 bytes, 104857600 sectors
                                           Label: dos, identifier: 0x0266d922

    Device            Boot                  Start              End         Sectors       Size       Id Type
>>  /dev/sda1         *                      2048         39942143        39940096        19G       83 Linux                
    Free space                           39942144        104857599        64915456        31G

但是,当我转到growpart时,会得到一个错误:

代码语言:javascript
复制
porter@porter:~$ sudo growpart -v /dev/sda 1
update-partition set to true
resizing 1 on /dev/sda using resize_sfdisk_dos
104857600 sectors of 512. total size=53687091200 bytes
## sfdisk --unit=S --dump /dev/sda
label: dos
label-id: 0x0266d922
device: /dev/sda
unit: sectors
sector-size: 512

/dev/sda1 : start=        2048, size=    39940096, type=83, bootable
padding 33 sectors for gpt secondary header
max_end=104857567 tot=104857600 pt_end=39942144 pt_start=2048 pt_size=39940096
resize of /dev/sda returned 0.
failed [pt_update:1] pt_update /dev/sda 1
partx: /dev/sda: error updating partition 1
FAILED: pt_resize failed

随后resize2fs的执行也会失败,同时也会出现错误:

代码语言:javascript
复制
porter@porter:~$ sudo resize2fs /dev/sda 1
resize2fs 1.46.2 (28-Feb-2021)
resize2fs: Device or resource busy while trying to open /dev/sda
Couldn't find valid filesystem superblock.

如有任何指导,将不胜感激。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2023-04-02 05:35:04

您需要区分两种设备:

/dev/sdX (在您的例子中是sda)-一个" SCSI“磁盘设备(我将它放入引号中,因为许多设备正在通过模拟SCSI层而不是真实SCSI)。

它是一个完整的磁盘。可以在其上放置不同的东西,但在绝大多数情况下,它是一个分区表,其他的东西都进入分区。这是你的案子。

/dev/sdXN (在您的例子中是sda1)-设备sdX上的一个分区N。它是sdX的一部分,它跨越了一些LBA。

这通常是放置文件系统(或其他存储系统层)的地方。与在整个磁盘级别上运行的growpart不同,resize2fs (或任何其他与文件系统相关的工具)应该准确地指向包含文件系统的设备,在您的情况下,它应该是/dev/sda1 1。注意,这里没有空格--我们确切地指的是“承载文件系统的块设备”,而不是“拥有承载文件系统的分区的磁盘”,因为这是非常模糊的(模糊是由于那些可能的额外存储层-- RAID、缓存、密码、LVM)。

首先,您需要解决grow部分无法生成分区的问题。我相信这是因为您忘记了在删除该分区之前就已经放置在/dev/sda5上的交换空间了。它通常是用swapoff /dev/sda5完成的。如果不再有/dev/sda5 5设备节点,我相信VM重新引导可以解决这个问题,但它可能根本无法引导;请注释与交换相关的行fstab,以确保它启动。那么,成长应该是成功的。

因此,命令是:

  • 禁用/etc/fstab中的交换行并重新启动VM;
  • 重复你所做的成长步骤;
  • 运行resize2fs /dev/sda1 (没有空格)来增长文件系统。
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1127700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档