Aumentar o tamanho da partição na qual o Ubuntu está instalado?

44

Eu tenho o Ubuntu instalado em uma unidade. O problema é que está com pouco espaço em disco. Isso está instalado no vmware. Eu expandi o drive virtual e inicializei no Ubuntu. Mas quando eu abri o gparted (sudo gparted), a opção mover / redimensionar não está disponível. Esta é a partição em que o Ubuntu está instalado, mas eu preciso redimensioná-lo. Alguma ideia? Estou confortável usando a linha de comando

    
por user51447 27.03.2012 / 09:41

5 respostas

15

Você está quase lá.
Você não pode redimensionar a partição usando o GParted enquanto o Ubuntu está sendo executado.
Você precisará anexar o GParted ISO como um CD à máquina VM e reinicializar a máquina para que o GParted seja carregado em vez do Ubuntu (acho que você pode inicializar a partir do CD virtual pressionando F12 imediatamente após o início da máquina). br> Depois que você inicializar no GParted, a opção de mover / redimensionar será ativada, pois o Ubuntu não está sendo executado no momento.

    
por yossile 27.03.2012 / 10:03
107

Na verdade, você PODE ampliar o sistema de arquivos raiz enquanto o Ubuntu está rodando (eu aprendi isso recentemente aqui ) - isso parece incrível, mas é verdade:)

Aqui está a lista de etapas para um cenário simples em que você tem duas partições, /dev/sda1 é uma partição ext4 da qual o SO é inicializado e /dev/sdb2 é swap. Para este exercício, queremos remover a partição de troca e estender /dev/sda1 para todo o disco.

  1. Como sempre, certifique-se de ter um backup de seus dados - já que modificaremos a tabela de partições e você poderá perder todos os seus dados se fizer um erro de digitação, por exemplo.

  2. Executar sudo fdisk /dev/sda

    • use p para listar as partições. Anote o cilindro de início de /dev/sda1
    • use d para excluir primeiro a partição de permuta ( 2 ) e depois a partição /dev/sda1 . Isso é muito assustador, mas é realmente inofensivo, pois os dados não são gravados no disco até que você grave as alterações no disco.
    • use n para criar uma nova partição primária. Certifique-se de que seu cilindro de partida seja exatamente o mesmo que o antigo /dev/sda1 costumava ter. Para o cilindro final concorda com a escolha padrão, que é fazer a partição para abranger todo o disco.
    • use a para alternar o sinalizador de inicialização no novo /dev/sda1
    • revise suas alterações, respire fundo e use w para gravar a nova tabela de partição em disco. Você receberá uma mensagem informando que o kernel não pôde reler a tabela de partições porque o dispositivo está ocupado, mas tudo bem.
  3. Reinicialize com sudo reboot . Quando o sistema inicializar, você terá um sistema de arquivos menor vivendo dentro de uma partição maior .

  4. O próximo comando mágico é resize2fs . Execute sudo resize2fs /dev/sda1 - este formulário será o padrão para fazer com que o sistema de arquivos ocupe todo o espaço disponível na partição.

É isso, acabamos de redimensionar uma partição na qual o Ubuntu está instalado, sem inicializar de uma unidade externa.

    
por Sergey 27.03.2012 / 11:00
8

Após estender o volume no vmWare ESXi (shutdown vm, backup / exportação vm, remover todos os snapshots, aumentar o número em tamanho de disco, tirar o snapshot de vm novamente antes de seguir as próximas etapas para poder reverter erro / erro). / p>

O exemplo a seguir está estendendo o volume na partição raiz em um sistema que já está usando o LVM.

  1. SSH no sistema, alterne para a raiz e execute cfdisk
     # cfdisk

  2. Depois de sair do 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. Reinicialize o sistema antes da próxima etapa (ou você pode obter Device /dev/sda3 not found (or ignored by filtering) )

     # shutdown now -r
    
  4. Inicialize o novo volume

     # pvcreate /dev/sda3
       Physical volume "/dev/sda3" successfully created
    
  5. Obtenha o nome do volume para estender

     # 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. Estender o grupo de volumes

     # vgextend linuxetc1-vg /dev/sda3
       Volume group "linuxetc1-vg" successfully extended
    
  7. Estender raiz

     # 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. Obtenha o nome do sistema de arquivos para a próxima etapa

     # 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. Estenda o sistema de arquivos

     # 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. Veja o tamanho aumentado

     # 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
    

Artigos:
link
link

    
por jtlindsey 27.07.2017 / 18:25
0

Consegui ampliar minha parte principal do ext4 usando a metodologia descrita aqui .

Algumas notas da minha experiência pessoal:

  • O exemplo de link é para encolher a partição, portanto, a ordem é resize2fs primeiro e depois fdisk. Ao ampliar a partição (como no meu caso), a ordem deve ser primeiro fdisk, reinicie e depois resize2fs. Além disso, ao usar o fdisk, as partições primária e estendida devem ser removidas e redefinidas.
  • Eu inicializei o ubonto a partir de outra unidade e, em seguida, trabalhei nesta unidade que, na verdade, era espelho (usando dd) da unidade antiga. Tornou inicializável usando o GParted
  • A versão atual do resize2fs (eu estou usando o ubontu 12.04LTS) suporta ext4 - não é necessário fazer as ações descritas no link de alteração do ext2.
por Elchanan 30.03.2013 / 23:06
0

A resposta de Sergey foi excelente. Se você tiver o espaço vazio não diretamente no próximo dispositivo, precisará excluir outros dispositivos. Por exemplo:

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

No caso acima, se você quiser mesclar /dev/sda3 com /dev/sda1 , precisará remover /dev/sda1 , /dev/sda2 e /dev/sda3 (com d command) e adicionar novamente /dev/sda2 e atualize seu tipo (com os comandos n e t ).

    
por jaycode 07.05.2017 / 12:10

Tags