Увеличить размер раздела, на котором установлен Ubuntu?

44

У меня установлен Ubuntu на диске. Проблема в том, что он работает на дисковой памяти. Это установлено на vmware. Я расширил виртуальный диск и загрузился в ubuntu. Но когда я открыл gparted (sudo gparted), опция move / resize недоступна. Это раздел, на котором установлен Ubuntu, но мне нужно изменить его размер. Есть идеи? Мне удобно использовать командную строку

    
задан user51447 27.03.2012 в 09:41
источник

5 ответов

13

Ты почти там. Вы не можете изменить размер раздела с помощью GParted во время работы Ubuntu.
Вам нужно будет подключить GParted ISO в качестве компакт-диска к машине VM и перезагрузить компьютер, чтобы GParted был загружен вместо Ubuntu (я думаю, вы можете загрузиться с виртуального компакт-диска, нажав F12 сразу после запуска машины). < ш> После того, как вы загрузились в GParted, опция move / resize будет включена, так как Ubuntu в настоящее время не работает.

    
ответ дан yossile 27.03.2012 в 10:03
источник
100

По сути, вы CAN увеличиваете корневую файловую систему во время работы Ubuntu (я недавно узнал об этом здесь ) - это звучит невероятно, но это правда:)

Вот список шагов для простого сценария, в котором у вас есть два раздела, /dev/sda1 - это раздел ext4, из которого загружается ОС, а /dev/sdb2 - своп. Для этого упражнения мы хотим удалить раздел подкачки, чтобы увеличить /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, без загрузки с внешнего диска.     

ответ дан Sergey 27.03.2012 в 11:00
7

После расширения объема в vmWare ESXi (shutdown vm, backup / export vm, удалите все снимки, затем увеличьте число в размере диска, сделайте снимок vm снова, прежде чем следовать следующим шагам, чтобы вы могли вернуть ошибку / ошибку).

Следующий пример - расширение тома на корневом разделе в системе, которая уже использует LVM.

  1. SSH в систему, переключитесь на root и запустите cfdisk
     # cfdisk

  2. После выхода из 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
    
  3. Перезагрузите систему перед следующим шагом (иначе вы можете получить Device /dev/sda3 not found (or ignored by filtering) )

     # shutdown now -r
    
  4. Инициализировать новый том

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  5. Получить имя тома для расширения

     # 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  
       ...
    
  6. Увеличить группу томов

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  7. Расширить корень

     # 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
    
  8. Получить имя файловой системы для следующего шага

     # 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. Расширить файловую систему

     # 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. Смотрите увеличенный размер

     # 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
    

Статьи:
Ссылка
Ссылка

    
ответ дан jtlindsey 27.07.2017 в 18:25
0

Мне удалось расширить мою основную часть ext4, используя описанную методологию здесь .

Некоторые заметки из моего личного опыта:

  • Пример ссылки - это сокращение раздела, поэтому сначала выполняется изменение размера resize2fs, а затем fdisk. При расширении раздела (как и в моем случае) заказ должен сначала быть fdisk, перезагрузиться, а затем resize2fs. Кроме того, при использовании fdisk необходимо удалить и переопределить как первичные, так и расширенные разделы.
  • Я загрузил ubonto с другого диска, а затем работал на этом диске, который на самом деле был зеркалом (используя dd) старого диска. Сделал его загрузочным с помощью GParted
  • Текущая версия resize2fs (я использую ubontu 12.04LTS) поддерживает ext4 - не нужно выполнять действия, описанные в ссылке, изменяя ее ext2.
ответ дан Elchanan 30.03.2013 в 23:06
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/sda3 (с командой d ) и повторно добавить /dev/sda2 и обновить его тип (с командами n и t ).

    
ответ дан jaycode 07.05.2017 в 12:10