Ubuntuがインストールされているパーティションサイズを増やしますか?


60

ドライブにUbuntuがインストールされています。問題は、ディスク容量が不足していることです。これはvmwareにインストールされます。仮想ドライブを拡張し、ubuntuを起動しました。しかし、gparted(sudo gparted)を開いたとき、移動/サイズ変更オプションは使用できません。これはUbuntuがインストールされているパーティションですが、サイズを変更する必要があります。何か案は?コマンドラインを使用して快適です


raspi-configRaspberry Pi でどのように機能するかを見ることができます。ルートファイルシステムの拡張は、新しいRaspberry Piをセットアップするたびに行うことです。github.com/RPi-Distro/raspi-config/blob/…– sshow 18
1

回答:


16

あなたはほとんどそこにいます。Ubuntuの実行中にGPartedを使用してパーティションのサイズを変更
することはできません
GParted ISOをCDとしてVMマシンにアタッチし、マシンを再起動して、Ubuntuの代わりにGPartedがロードされるようにする必要があります(マシンを起動した直後にF12を押すと、仮想CDから起動できると思います)。
GPartedを起動すると、Ubuntuが現在実行されていないため、移動/サイズ変更のオプションが有効になります。


139

実際のところ、あなたはCAN 拡大 Ubuntuは(私は最近、自分自身をこのことを学んだの実行中にルートファイルシステムをここでは) -これは信じられないほどに聞こえるが、それは本当だ:)

以下に、2つのパーティションがある単純なシナリオのステップのリストを示します。これは/dev/sda1、OSがブートされ、/dev/sdb2スワップされるext4パーティションです。この演習では、スワップパーティションを削除して、/dev/sda1ディスク全体に拡張します。

  1. いつものように、データのバックアップがあることを確認してください-パーティションテーブルを変更するため、たとえばタイプミスをすると、すべてのデータが失われる可能性があります。

  2. 走る sudo fdisk /dev/sda

    • pパーティションのリストに使用します。の開始シリンダーをメモします/dev/sda1
    • 最初にスワップパーティション()d削除し2、次にパーティションを削除するために使用し/dev/sda1ます。これは非常に恐ろしいことですが、変更をディスクに書き込むまでデータがディスクに書き込まれないため、実際には無害です。
    • 新しいプライマリパーティションn作成するために使用します。開始シリンダーが以前のものとまったく同じであることを確認してください/dev/sda1。エンドシリンダーについては、デフォルトの選択に同意します。これは、パーティションをディスク全体に広げることです。
    • a新しいのブート可能フラグを切り替えるために使用します/dev/sda1
    • 変更を確認し、深呼吸wして、新しいパーティションテーブルをディスクに書き込むために使用します。デバイスがビジー状態であるため、カーネルがパーティションテーブルを再読み取りできなかったことを示すメッセージが表示されますが、それは問題ありません。
  3. で再起動しsudo rebootます。システムが起動すると、大きなパーティション内に小さなファイルシステムが存在します

  4. 次の魔法のコマンドはresize2fsです。実行sudo resize2fs /dev/sda1-このフォームはデフォルトで、パーティション上の利用可能なすべてのスペースをファイルシステムが使用するようにします。

これで、外部ドライブから起動せずに、Ubuntuがインストールされているパーティションのサイズを変更しただけです。


@EliahKagan:私がリンクした回答(Gillesから)を見てください。考えはfdiskパーティションを拡大するために使用することが可能である一方で、OSはより小さいファイルシステムを使用し続けるということです。それから。再起動後、カーネルが更新されたパーティションテーブルを再読み取りした後、ファイルシステムはより大きなパーティションに存在するため、ファイルシステムのサイズを変更できます
セルゲイ14年

1
@Isaac:はい、カーネルを再起動してパーティションテーブルを再読み込みする必要があります。しかし、多くのシナリオでの迅速な再起動は、外部メディアからのブートよりもはるかに小さい問題である(VPSesなど、リモートマシン、ヘッドレスマシンを考える)
セルゲイ

2
2つの簡単なメモ:1. dfこの後に「結果の」スペースを表示するために使用できます(それが機能したことを確認します)。2.スワップスペースを再作成することを忘れないでください。
クリスチャンロンドー

1
本当にありがとう。Ubuntuは、私がVirtualBox vdiskに与えたスペースを決して使用しませんでした。今、私はその理由を知っています。どうもありがとう!
ペンデリ

1
@Sid:開始シリンダーがまったく同じであることが非常に重要です。空き領域がパーティションの直後以外のどこかにある場合は、別の方法を使用する必要があります(別のドライブから起動する必要があります)
Sergey

21

2つの方法

1. Ubuntu Server 16.04〜18.10でテスト済み

VMware ESXiでボリュームを拡張した後(vmをシャットダウン、vmをバックアップ/エクスポートし、すべてのスナップショットを削除し、ディスクサイズを増やし、vmのスナップショットを再度作成してから、次の手順に従ってエラー/エラーを元に戻します)。

次の例は、すでにLVMを使用しているシステムのルートパーティションのボリュームを拡張しています。

  1. sshシステムに移動し、ルートに切り替えてcfdisk
    #cfdisk を実行します

  2. ここに画像の説明を入力してください

  3. ここに画像の説明を入力してください

  4. ここに画像の説明を入力してください

  5. ここに画像の説明を入力してください

  6. ここに画像の説明を入力してください

  7. ここに画像の説明を入力してください

  8. ここに画像の説明を入力してください

  9. ここに画像の説明を入力してください

  10. ここに画像の説明を入力してください

  11. ここに画像の説明を入力してください

  12. ここに画像の説明を入力してください

  13. cfdiskを終了した後

     # fdisk -l /dev/sda 
     Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 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: 0xc8b647ff
    
     Device     Boot    Start      End  Sectors  Size Id Type
     /dev/sda1  *        2048   999423   997376  487M 83 Linux
     /dev/sda2        1001470 16775167 15773698  7.5G  5 Extended
     /dev/sda3       16775168 41943039 25167872   12G 8e Linux LVM (***** See new partition /dev/sda3*****)
     /dev/sda5        1001472 16775167 15773696  7.5G 8e Linux LVM
    
  14. 次の手順の前にシステムを再起動します(または、取得する場合がありますDevice /dev/sda3 not found (or ignored by filtering)

     # shutdown now -r
    
  15. 新しいボリュームを初期化する

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  16. 拡張するボリュームの名前を取得します

     # vgdisplay
       --- Volume group ---
       VG Name               linuxetc1-vg (***** this is vg i'm extending*****)
       System ID             
       Format                lvm2
       Metadata Areas        1
       Metadata Sequence No  3
       VG Access             read/write
       VG Status             resizable
       MAX LV                0
       Cur LV                2
       Open LV               2
       Max PV                0
       Cur PV                1
       Act PV                1
       VG Size               7.52 GiB
       PE Size               4.00 MiB
       Total PE              1925
       Alloc PE / Size       1925 / 7.52 GiB
       Free  PE / Size       0 / 0  
       ...
    
  17. ボリュームグループの拡張

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  18. ルートを拡張

     # lvextend -l+100%FREE /dev/linuxetc1-vg/root
       Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
       Logical volume root successfully resized.
    
    
     Or if you only wanted to give 5 more GB to root
     # lvextend -L +5g /dev/linuxetc1-vg/root
    
  19. 次のステップのファイルシステム名を取得する

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  20. ファイルシステムを拡張する

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  21. 増加したサイズを見る

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

2. Ubuntu Server 18.04.3 LTSでテストされたより高速な方法

この方法は、最初の方法よりも少し高速です。これは、いくつかの手順を保存する「サイズ変更」というcfdiskメニューの新しいオプションによるものです。

VMware ESXiでボリュームを拡張した後(vmをシャットダウン、vmをバックアップ/エクスポートし、すべてのスナップショットを削除し、ディスクサイズを増やし、vmのスナップショットを再度作成してから、次の手順に従ってエラー/エラーを元に戻します)。

次の例は、すでにLVMを使用しているシステムのルートパーティションのボリュームを拡張しています。

  1. sshシステムにログインし、ルートに切り替えて実行しcfdiskます。

  2. 拡張するパーティションを選択し、「サイズ変更」を選択します。 ここに画像の説明を入力してください

  3. 「新しいサイズ」を設定します。 ここに画像の説明を入力してください

  4. Enterキーを押すと、「Partition [someNumber] resized」という注意の画面が表示されます。 ここに画像の説明を入力してください

  5. 次に、変更を「書き込み」(保存)する必要があります。 ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

  6. 終了しcfdiskます。終了すると、「ディスクを同期しています」というメッセージが表示される場合があります。 ここに画像の説明を入力してください ここに画像の説明を入力してください

  7. この時点でシステムを再起動しましたが、必要ではない場合があります。これで、ステップ19から最初の方法(以下に繰り返します)からピックアップできます。

  8. (19)次のステップのファイルシステム名を取得する

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root  6.3G  2.5G  3.5G  42% /            (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    
  9. (20)ファイルシステムを拡張する

     # resize2fs /dev/mapper/linuxetc1--vg-root
     resize2fs 1.42.13 (17-May-2015)
     Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 1, new_desc_blocks = 2
     The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
    
  10. (21)増加したサイズを見る

     # df -h
     Filesystem                      Size  Used Avail Use% Mounted on
     udev                            477M     0  477M   0% /dev
     tmpfs                           100M  4.6M   95M   5% /run
     /dev/mapper/linuxetc1--vg-root   19G  2.5G   15G  15% /         (***** this line*****)
     tmpfs                           497M     0  497M   0% /dev/shm
     tmpfs                           5.0M     0  5.0M   0% /run/lock
     tmpfs                           497M     0  497M   0% /sys/fs/cgroup
     /dev/sda1                       472M  105M  343M  24% /boot
     tmpfs                           100M     0  100M   0% /run/user/1000
    

記事:
https : //wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm


ワオ。これは非常に役に立ちました。二度以上賛成できたらいいな。ありがとう!
マリオタック

1
ESXiで実行されている18.10で完全に動作しました。ありがとう!
ジョンヴィノパル

絶対に素晴らしい、まさにLinuxの初心者として必要なもの。。
bigbadmouse

素晴らしいガイド!これに従って、Proxmox VMとして実行されているUbuntuのストレージを拡張しました。
tokenizer_fsj

素晴らしい!これありがとう。これは、ESXiで実行される18.04で機能しました。
one.time

0

セルゲイからの答えは素晴らしかった。ただし、次のデバイスに直接ない空きスペースがある場合は、他のデバイスを削除する必要があります。例えば:

Device     Boot    Start       End  Sectors Size Id Type
/dev/sda1  *        2048  33556477 33554430  16G 83 Linux
/dev/sda2       33556478  41940991  8384514   4G  5 Extended
/dev/sda3       41940992 125829119 83888128  40G 83 Linux
/dev/sda5       33556480  41940991  8384512   4G 82 Linux swap / Solaris

上記の場合、とマージ/dev/sda3する/dev/sda1場合は、、、および(コマンドを使用)を削除し/dev/sda1、そのタイプ(およびコマンドを使用)を再追加および更新する必要があります。/dev/sda2/dev/sda3d/dev/sda2nt


0

ここで説明した方法論を使用して、プライマリext4パーティションを拡大することに成功しました

私の個人的な経験からのメモ:

  • リンクの例はパーティションを縮小するためのものであるため、順序は最初にresize2fs、次にfdiskです。(私の場合のように)パーティションを拡大する場合、順序は最初にfdisk、再起動してからresize2fsにする必要があります。また、fdiskを使用する場合は、プライマリパーティションと拡張パーティションを削除して再定義する必要があります。
  • 別のドライブからUbuntuを起動し、実際には古いドライブのミラー(ddを使用)であるこのドライブで作業しました。GPartedを使用して起動可能にしました
  • 現在のバージョンのresize2fs(私はUbuntu 12.04LTSを使用しています)はext4をサポートしています-ext2に変更するリンクに記載されているアクションを実行する必要はありません。

1
これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
Braiam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.