web-dev-qa-db-ja.com

/ dev / sdaがすでに大きい場合、VirtualBox VMDKのUbuntu / dev / sda1パーティションのサイズを変更します

しばらく前に、SSDのrawパーティションにマップされるVMDKを作成しました。

SSDは128GBで、Windows(ホスト)でパーティション分割し、2番目のパーティションをWindows(NTFS)にアクセス可能にし、最初のパーティションを使用してVMDKにマップしました。

この最初のパーティションのサイズは約48GBです。

その後、そのVMDKを使用するVMにUbuntu Serverをインストールすると、表示される/dev/sdaのサイズが128GBであることに気付きましたが、Ubuntuのインストール中にパーティションを作成しました/dev/sda1が48GBになるように、最初のパーティションのサイズ。

/dev/sda1のスペース不足のため(5GBの空きがあります)、別のSSDを購入し、生のマッピングの使用を停止することにしました。 Virtual Media Managerを介してVMSDを新しいSSDにコピーしたので、aproxのVMDKファイルができました。 44GB(正確には受け取らないでください。MiB対GiB対GBの問題です)。

VMのHDDを新しくコピーされたVMDKに置き換えて起動しました。期待どおりに動作します。

今、私はこれを持っています:

:~$ cat /proc/partitions
major minor  #blocks  name

  11        0      58100 sr0
   8        0  125034840 sda
   8        1   46873600 sda1
   8       16  488386584 sdb
   8       17  181189085 sdb1

この

~$ Sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 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: 0x000271d1

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1  *     2048 93749247 93747200 44.7G 83 Linux


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 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: gpt
Disk identifier: 59B4B505-C79F-11E3-8F9C-709E29CA19D2

Device     Start       End   Sectors   Size Type
/dev/sdb1     34 362378204 362378171 172.8G Linux filesystem

この

:/$ df -h
Filesystem       Size  Used Avail Use% Mounted on
udev             7.9G     0  7.9G   0% /dev
tmpfs            1.6G  9.1M  1.6G   1% /run
/dev/sda1         44G   37G  5.1G  88% /
tmpfs            7.9G  1.1M  7.9G   1% /dev/shm
tmpfs            5.0M     0  5.0M   0% /run/lock
tmpfs            7.9G     0  7.9G   0% /sys/fs/cgroup
windows-avconv   1.9T  1.8T  103G  95% /home/user/windows-avconv
windows-storage  1.9T  1.8T  103G  95% /home/user/windows-storage
windows-share     50G  101M   50G   1% /home/user/windows
cgmfs            100K     0  100K   0% /run/cgmanager/fs
/dev/sdb1        170G   91G   72G  56% /media/hdd
tmpfs            1.6G     0  1.6G   0% /run/user/1000

これはすべて、私が発行できることを示しているようです

Sudo resize2fs /dev/sda1

そして、/dev/sda1は119.2に成長しますGiB VBoxManage modifyhd <absolute path to file> --resize <size in MB>を使用する必要なしに大きくなります

私はこの仮定で正しいですか?


更新:VMDKのバックアップコピーを作成し、発行しました

:~$ Sudo resize2fs /dev/sda1

これが結果です:

resize2fs 1.42.13 (17-May-2015)
The filesystem is already 11718400 (4k) blocks long.  Nothing to do!

を発行する必要がありますか

Sudo growpart /dev/sda 1

resize2fsが機能する前に?

6
Daniel F

次の手順で、最初にパーティションのサイズを変更する必要があります。

  1. Sudo parted /dev/sdaは、スーパーユーザーとしてプロンプト「(parted)」を入力します
  2. resizepart 1パーティションのサイズを変更するには1
  3. -0は、ディスクの最後にサイズを変更します。 -は、最初ではなくディスクの最後からカウントすることを示します。これにより、-0がディスクの最後のセクターになります。これは、できるだけ大きくしたい場合に適しています。ステップ4:
  4. quitはpartedを終了します

ファイルシステムのメタ情報はディスクのサイズを示す必要があり、resize2fsはこれを更新します。したがって、展開後、resize2fs /dev/sda1を実行します。

これは、シングルユーザーモード/回復モード、または読み取り専用モードでマウントされたファイルシステムで行うことを強くお勧めします。 mount -o remount,ro /dev/sda1でのみ読み取り専用にマウントできます。

isを拡張すると、RWモードのファイルシステムで実行できますが、データ損失の可能性が高くなります。これはVMであり、バックアップを簡単に作成できるため、RWがマウントされたボリュームでバックアップを作成するのが理にかなっています。

補遺:目的の効果を得るためにルートとしてコマンドを実行します。

10
vidarlo