How to extend unallocated space to an existing partition on linux? | 如何在 linux 上扩展已有分区至未分配空间?
How to extend unallocated space to an existing partition on linux?
背景:我這臺機器上(多重啟動)裝了三個系統,windows + archlinux + ubuntu, 現在我想把 ubuntu 刪掉,然后剩余出來的空間用來擴大(位置相鄰的)archlinux 的 partition。
要注意的是,刪除系統不要直接格式化分區,要先在 grub 里將引導刪掉,然后再格式化分區。
我是在 windows 的磁盤管理工具進行格式化分區操作的,刪除了 ubuntu 所在的 partition,多了一塊空閑空間,然后 extend 了一下隔壁的 archlinux 分區,又留了一部分空間建了一個 ntfs 的分區,用來 windows 和 linux 之間共享文件(在 linux 中,天生可以讀 windows 的 ntfs 文件系統,所以也可以直接看到 windows 所在的 c 盤)。這波操作之后,回到 archlinux 下,查看效果。
上圖是從 linux 的視角看 windows 分區所在的 c 盤。
然而,雖然 archlinux 的所在分區已經 extend 過了,但經過 df -h 命令查看,發現可用空間沒有變化,所以需要想辦法將這個已有分區擴張一下。
gparted 工具調整分區大小
gparted 是個 GUI 工具,可以做分區查看和調整,于是先安裝了 gparted,嘗試在其中調整分區。查看 archlinux 所在分區的詳細信息,提示存在 100GB of unallocated space(如下圖),并且說需要使用 check 來 fill the partition.
但是當前 partition 正在使用,有一個 lock 的圖標,就像你站在橋上不能修橋一樣,你無法在當前分區上對當前分區進行 check 操作,所以需要使用 gparted live 版本調整分區大小。
不知為何(猜測是顯示器分辨率問題,因為之前裝 archlinux 的時候遇到過安裝界面閃屏問題,至今沒有找到好的解決方法),iso 文件制作的 usb 啟動進不去 gparted live gnome 界面,menu 選完任何啟動選項之后都會卡死,只好另癖溪徑。一頓搜索,沒有找到好方法,直到參考了:How to merge unallocated partition to linux partition,里面提到 resize2fs 命令,于是去看了一下這個命令的用法。
resize2fs 命令
resize2fs 命令是用來增大或者收縮未加載的 ext2 / ext3 / ext4 文件系統的大小。
所以,不需要分區調整工具了,一個命令就可以搞定。
來看下原來的分區情況:
[root@arch gly]# df -h Filesystem Size Used Avail Use% Mounted on dev 7.7G 0 7.7G 0% /dev run 7.7G 1.9M 7.7G 1% /run /dev/nvme0n1p4 147G 30G 110G 22% / tmpfs 7.7G 118M 7.6G 2% /dev/shm tmpfs 7.7G 5.0M 7.7G 1% /tmp /dev/nvme0n1p1 256M 104M 153M 41% /boot tmpfs 1.6G 76K 1.6G 1% /run/user/1000使用 resize2fs /dev/nvme0n1p4 調整:
[root@arch gly]# resize2fs /dev/nvme0n1p4 resize2fs 1.46.4 (18-Aug-2021) Filesystem at /dev/nvme0n1p4 is mounted on /; on-line resizing required old_desc_blocks = 19, new_desc_blocks = 32 The filesystem on /dev/nvme0n1p4 is now 65535744 (4k) blocks long.調整之后的分區情況:
[root@arch gly]# fdisk -l /dev/nvme0n1p4 Disk /dev/nvme0n1p4: 250 GiB, 268434407424 bytes, 524285952 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[root@arch gly]# df -h Filesystem Size Used Avail Use% Mounted on dev 7.7G 0 7.7G 0% /dev run 7.7G 1.9M 7.7G 1% /run /dev/nvme0n1p4 246G 30G 205G 13% / tmpfs 7.7G 108M 7.6G 2% /dev/shm tmpfs 7.7G 5.3M 7.7G 1% /tmp /dev/nvme0n1p1 256M 104M 153M 41% /boot tmpfs 1.6G 76K 1.6G 1% /run/user/1000這時已經調整完成了。
現在,如果再執行 resize2fs /dev/nvme0n1p4 的話,會顯示 nothing to do,所以它是自動檢測目標分區是否需要增大未加載空間的。
[root@arch gly]# resize2fs /dev/nvme0n1p4 resize2fs 1.46.4 (18-Aug-2021) The filesystem is already 65535744 (4k) blocks long. Nothing to do!總結
以上是生活随笔為你收集整理的How to extend unallocated space to an existing partition on linux? | 如何在 linux 上扩展已有分区至未分配空间?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 282. Expres
- 下一篇: 还在发愁linux命令记不住吗?神器来了