2015/05/11

[linux] 重新設定分割區大小



最近手邊有一個VM當初分給他400G的動態磁碟

不過動態磁碟的缺點就是會愈長愈大

以至於host沒這麼大的磁碟空間而撐爆host

在這邊提供一個不會遺失資料又可以重新設定分割區(partition)大小的方法



首先必須要卸載你的硬碟, 在我的例子由於是VM1所以可以開啟另一VM2並將原Disk1掛在在此VM2下


# Disk1掛載在VM2下為/dev/sdd1
$ sudo umount /dev/sdd1

# 先檢查一下
$ sudo fsck -n /dev/sdd1

# 關閉journal功能
$ sudo tune2fs -O ^has_journal /dev/sdd1

# 強制檢查及修復檔案系統
$ e2fsck -f /dev/sdd1

# 將分割區修改成你想修改的大小
$ resize2fs /dev/sdd1 50G


跑完resizefs後會出現類似下面的訊息:


Resizing the filesystem on /dev/sdd1 to 12345670 (4k) blocks.


請將12345670記錄下來, 之後的步驟會使用到

$ sudo fdisk /dev/sda

輸入 p d 1 n p 1
p為印出所有分割區
d為刪除分割區
n為新增分割區

接著會出現現類似下面的訊息:

Last cylinder or +size or +sizeM or +sizeK (1-1247, default 1247): +51851814k

請輸入剛剛的+12345670 * 4 * 1.05k = +51851814k

輸入 x f r 去修改你的分割區順序

如果你的分割區是可開機的輸入(bootable)請輸入a 將分割區設為可開機

接著重新檢查一次/dev/sdd1

$ sudo fsck -n /dev/sdd1
$ sudo tune2fs -j /dev/sdd1
$ sudo e2fsck -f /dev/sdd1

$ sudo reboot

重開機後就可以掛載回VM1上面了


用df指令查查看 分割區大小是否減少了呢!!

1 則留言:

  1. 你好 MoA

    想請問有關英雄聯盟戰績的資料是怎麼取得的?
    有這方面的興趣想研究一下,謝謝

    回覆刪除