How can I enlarge my /root disk?

If I want to enlarge my /root disk, I need to uninstall it, but that will leads to an error which says that some processes are using the disk. Then if I kill them, my screen will become black due to the Plasma Desktop has been killed. Now I cannot see what I am doing or how to do.

My only way is to go back to Windows, delete manjaro partitions and re-install Manjaro. Is there a better solution for this?

PS: tags in the new forum are to scarce.

Hi. You can boot Manjaro from live iso and enlarge your / partition. Be careful, make sure you know exactly what drive and what partition you want to change. A backup is highly recommended.

1 Like

Especially since / and /root are not the same. Latter is the root user’s home folder, not the root of the file system.

1 Like

I mean the / partition

I’ll edit my post to make it clear.

It depends on the disk layout and the filesystem you have. Ext4, xfs and btrfs support online resizing, and you can increase the partition size from command line without having to use liveusb. However, decreasing partition sizes is risky and can result in data loss, and should be done only with the liveusb. If you post the output of fdisk -l and lsblk, we can give you more specific advice.

2 Likes

The blah blah are my translation fron Chinese to English

(base) [15:30:26] firestar:~ $ fdisk -l
fdisk: 打不开 /dev/nvme0n1: 权限不够 **Cannot open /dev/nvme0n1: permissions denied**
fdisk: 打不开 /dev/loop0: 权限不够 **Cannot open /dev/loop0: permissions denied**
fdisk: 打不开 /dev/loop1: 权限不够 **Cannot open /dev/loop1: permissions denied**
(base) [15:30:31] firestar:~ $ lsblk                        
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0         7:0    0    97M  1 loop /var/lib/snapd/snap/core/9665
loop1         7:1    0  96.6M  1 loop /var/lib/snapd/snap/core/9804
nvme0n1     259:0    0 238.5G  0 disk 
├─nvme0n1p1 259:1    0   260M  0 part /boot/efi
├─nvme0n1p2 259:2    0   128M  0 part 
├─nvme0n1p3 259:3    0  58.1G  0 part /mnt/windows/C
├─nvme0n1p4 259:4    0  58.1G  0 part /mnt/windows/D
├─nvme0n1p5 259:5    0   1.8G  0 part 
├─nvme0n1p6 259:6    0     8G  0 part [SWAP]
├─nvme0n1p7 259:7    0   512M  0 part /boot
├─nvme0n1p8 259:8    0    40G  0 part /
└─nvme0n1p9 259:9    0  71.6G  0 part /home

To be more specific, if I want to change nvme0n1p8 in KDE partition manager, I click the right button and it will say the minimum and the maximum size are both 40G thus I cannot shrink or put any spaces.

I am using ext4, but I cannot do something like shrink the 71GB part and give to the 40GB part

have you done

df -Th ( before )
sudo pacman -Sc
df -Th ( after )

Okay, you technically might not need liveusb to do it, but you are going to need to:

  • log out with your normal user
  • log in as root
  • unmount your /home partition
  • Back up your /home partition, there is a good chance of data loss when shrinking that partition
  • possibly do the operation from command line. Gui tools may also work after you have unmounted /home
  • after everything is done, check that your /etc/fstab has right UUID values.
2 Likes

OK I am able to shrink my /home partition to 50GB, but how can I add the rest 21.6GB to / partition?

I found that using fuser -m -v -k / will lead me back to the SDDM and after I login nothing changed

[FIRESTAR firestar]# fdisk /dev/nvme0n1

欢迎使用 fdisk (util-linux 2.36)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):p
Disk /dev/nvme0n1:238.47 GiB,256060514304 字节,500118192 个扇区
磁盘型号:KBG30ZPZ256G TOSHIBA                    
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:1B089F5A-3344-4CC8-9EF7-6FEE4EB791FD

设备                起点      末尾      扇区  大小 类型
/dev/nvme0n1p1      2048    534527    532480  260M EFI 系统
/dev/nvme0n1p2    534528    796671    262144  128M Microsoft 保留
/dev/nvme0n1p3    796672 122648575 121851904 58.1G Microsoft 基本数据
/dev/nvme0n1p4 122648576 244504575 121856000 58.1G Microsoft 基本数据
/dev/nvme0n1p5 496410624 500117503   3706880  1.8G Windows 恢复环境
/dev/nvme0n1p6 244504576 261281791  16777216    8G Linux swap
/dev/nvme0n1p7 261281792 262330367   1048576  512M Linux 文件系统
/dev/nvme0n1p8 262330368 346216447  83886080   40G Linux 文件系统
/dev/nvme0n1p9 346216448 451074047 104857600   50G Linux 文件系统

分区表记录没有按磁盘顺序。

命令(输入 m 获取帮助):

To grow partition to fill all space available to it:

pamac build growpart
growpart /dev/nvme0n1p8
resize2fs /dev/nvme0n1p8

You can also do it with just parted, but I personally find growpart easier.

1 Like

Nothing Changed

I think that it is because the extra partition from /dev/nvme0n1p9 is placed after /dev/nvme0n1p8 and /dev/nvme0n1p9.

On the other hand, changing the disk to dynamic will leads to being unable to boot to Manjaro (Microsoft warned this).