linux扩展/dev/sda1分区方法

本文详细介绍了如何在Ubuntu虚拟机关闭状态下扩展磁盘空间,包括使用fdisk删除和重建分区,以及resize2fs扩容文件系统。同时,针对扩容后导致的开机启动等待问题,提出了创建swap分区文件的步骤,以解决系统启动时找不到swap分区的状况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备

  1. 扩展虚拟机的磁盘空间

        在虚拟机关闭状态下,点击虚拟机>设置>硬盘>扩展:扩展自己需要的容量。

二、开始扩展

idriver@ubuntu:~$ su                           // 1.切换至root用户
root@ubuntu:/home/idriver# fdisk -l            // 2.查看系统的磁盘分区情况
root@ubuntu:/home/idriver# df -TH              // 3.查看哪个分区挂载在根目录下
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  1.1G     0  1.1G   0% /dev
tmpfs          tmpfs     207M  6.5M  201M   4% /run
/dev/sda1      ext4      212G   43G  160G  22% /
tmpfs          tmpfs     1.1G  218k  1.1G   1% /dev/shm
tmpfs          tmpfs     5.3M  4.1k  5.3M   1% /run/lock
tmpfs          tmpfs     1.1G     0  1.1G   0% /sys/fs/cgroup
tmpfs          tmpfs     207M   50k  207M   1% /run/user/1000
root@ubuntu:/home/idriver# fdisk /dev/sda    // 4.删除其中的所有分区包括 /dev/sda1,然后在重新建立该分区

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):

// 常用命令:
// m	获取帮助
// n	添加新分区
// d	删除分区
// p	打印分区表
// t	更改分区类型
// w	将分区表写入磁盘并保存

Command (m for help): d    // 5.删除分区
Selected partition 1
Partition 1 has been deleted.

Command (m for help): n    // 6.新建分区
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p    // 7.选择主分区
Partition number (1-4, default 1): 
First sector (2048-419430399, default 2048):     // 默认
Last sector, +sectors or +size{K,M,G,T,P} (2048-419430399, default 419430399): //默认

Created a new partition 1 of type 'Linux' and of size 200 GiB.

Command (m for help): p
Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 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: 0xe4e5e6cb

Device     Boot Start       End   Sectors  Size Id Type
/dev/sda1        2048 419430399 419428352  200G 83 Linux

Command (m for help): w    // 8.保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

保存后出现错误:无视它继续往下执行

root@ubuntu:/home/idriver# partprobe /dev/sda    // 9.通知系统内核分区表的变化
root@ubuntu:/home/idriver# resize2fs /dev/sda1    // 10.对文件系统进行扩容
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
The filesystem on /dev/sda1 is now 52428544 (4k) blocks long.

root@ubuntu:/home/idriver# df -TH        // 11.查看是否扩容成功
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  1.1G     0  1.1G   0% /dev
tmpfs          tmpfs     207M  6.6M  201M   4% /run
/dev/sda1      ext4      212G   43G  160G  22% /
tmpfs          tmpfs     1.1G  218k  1.1G   1% /dev/shm
tmpfs          tmpfs     5.3M  4.1k  5.3M   1% /run/lock
tmpfs          tmpfs     1.1G     0  1.1G   0% /sys/fs/cgroup
tmpfs          tmpfs     207M  4.1k  207M   1% /run/user/108
tmpfs          tmpfs     207M   50k  207M   1% /run/user/1000

三、扩容后造成开机启动等待1分30秒问题解决办法

        说明:虚拟机扩容后,使用fdisk  /dev/sda  更改新建分区后,重启系统出现一分30秒等待,是由于分区时删除了swap交换分区,造成系统启动过程中无法找到swap分区。

在root用户下创建swap分区:

1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
# dd if=/dev/zero of=/root/swapfile bs=1M count=1024

2.格式化为交换分区文件:
# mkswap /root/swapfile #建立swap的文件系统

3.启用交换分区文件:
# swapon /root/swapfile #启用swap文件

4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/root/swapfile swap swap defaults 0 0

查看swap分区是否创建成功,看到如下信息说明创建成功:

注意要屏蔽/etc/fstab文件内以前的swap:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=4c68a6b8-470e-426c-bc69-0fb601719e42 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
#UUID=d19075cc-07e2-472c-b59d-247a15ba333e none            swap    sw              0       0 // 屏蔽
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
/root/swapfile swap swap defaults 0 0 // 新增

### 虚拟机硬盘 `sda1` 扩容方法 对于虚拟机中的根分区 `/dev/sda1` 进行扩容是一项常见的需求,尤其是在磁盘空间不足的情况下。以下是详细的扩容过程: #### 准备工作 确保有足够的备份措施来保护数据安全[^1]。 #### 增加虚拟磁盘大小 通过虚拟化平台(如 VMware 或 VirtualBox)增加分配给虚拟机的磁盘容量。这一步骤通常可以在虚拟机管理界面完成,具体操作取决于所使用的软件版本和类型[^2]。 #### 使用命令扩展文件系统 一旦完成了物理存储量的增长,在Linux操作系统内部还需要执行特定指令才能使新增的空间生效并被利用起来。下面是一些常用的工具和技术用于调整ext4/xfs等常见类型的文件系统的尺寸: - **LVM (逻辑卷管理)** 如果使用的是 LVM,则可以通过pvresize, vgextend 和 lvextend 来动态改变逻辑卷大小而不必重启机器。 ```bash pvresize /dev/sda lvextend -l +100%FREE /dev/mapper/vg_name-lv_root resize2fs /dev/mapper/vg_name-lv_root ``` - 对于非LVM情况下的EXT系列文件系统可以直接运行如下命令来进行在线增长: ```bash fdisk /dev/sda # 创建新的未分配分区 partprobe # 刷新内核对新创建分区的认识 e2fsck -f /dev/sda1 # 检查文件系统健康状况 resize2fs /dev/sda1 # 实际扩大文件系统范围 ``` - XFS 文件系统则可以简单地调用 xfs_growfs 工具实现无痛升级 ```bash xfs_growfs / ``` 上述每一条命令都应当谨慎对待,并且最好是在充分理解其作用之后再尝试应用到生产环境中去[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值