Измените размер раздела Ubuntu /dev/sda1 в VirtualBox VMDK, когда / dev / sda уже больше

Некоторое время назад я создал VMDK, который был сопоставлен с необработанным разделом на SSD.

SSD был 128 ГБ, я разбил его на Windows (хост), сделал второй раздел доступным для Windows (NTFS) и использовал первый раздел, чтобы отобразить его в VMDK.

Этот первый раздел имеет размер около 48 ГБ.

Когда я затем установил Ubuntu Server на виртуальную машину, которая использовала этот VMDK, я заметил, что размер /dev/sda мне было показано 128 ГБ, но я создал раздел во время установки Ubuntu, чтобы иметь размер первого раздела, так что /dev/sda1 имеет 48 ГБ.

Из-за нехватки места на /dev/sda1 (есть 5 ГБ свободного места) Я купил другой SSD и решил прекратить использование сырых сопоставлений. Я скопировал VMDK через Virtual Media Manager на новый SSD, так что теперь у меня есть файл VMDK aprox. 44 ГБ (не принимайте это очень точно, это проблема MiB против GiB против GB).

Затем я заменил жесткий диск виртуальной машины на только что скопированный 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 ГиБ большим без меня, чтобы использовать 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 может работать?

1 ответ

Решение

Вы должны сначала изменить размер раздела, выполнив следующие действия:

  1. parted /dev/sda ввести подсказку "(расстался)"
  2. resizepart 1 изменить размер раздела 1
  3. -0 изменяет размер до конца диска. - указывает на то, что он должен считаться с конца диска, а не с начала. Это делает -0 последним сектором диска - что подходит, когда вы хотите сделать его максимально большим. Шаг 4:
  4. quit разойтись

Метаинформация файловой системы должна указывать размер диска, а resize2fs обновляет его. Таким образом, после расширения, запустите resize2fs /dev/sda1,

Настоятельно рекомендуется делать это либо в однопользовательском режиме / режиме восстановления, либо с файловой системой, смонтированной в режиме только для чтения. Вы можете установить его только для чтения mount -o remount,ro /dev/sda1,

Расширение возможно сделать с файловой системой в RW-режиме, но это увеличивает шансы потери данных. Поскольку это виртуальная машина, и вы можете легко сделать резервную копию, делать это с RW, смонтированным на томе, может иметь смысл.

Приложение: запускать команды от имени пользователя root для достижения желаемого эффекта.

Другие вопросы по тегам