Particinei errado e só vi depois, o que eu faço?

1. Particinei errado e só vi depois, o que eu faço?

Leandro
leandro_gs

(usa Ubuntu)

Enviado em 10/03/2014 - 00:26h

Fiquei o domingo inteiro instalando e configurando o Arch Linux com Xfce4, deixei tudo no meu gosto funcionando 100%... Instalei o dropbox e ele sinalizou que não tinha mais espaço em disco. Quando fui conferir, vi que montei minhas partições errado!

O que eu queria fazer era:
sda1 - boot - 512mb
sda2 - swap - 2gb
sda3 - / - 50gb
sda4 - /home- +-950gb

O que eu fiz:
sda1 - /home - 512mb <=== :'(
sda2 - swap - 2gb
sda3 - / - 50gb
sda4 - boot - +-950gb <=== :'(

Tem como eu consertar essa cagada sem ter que perder tudo o que eu já fiz? :'(


  


2. Opinião

Wallysom Batista Sampaio
wallyson2712

(usa Ubuntu)

Enviado em 10/03/2014 - 07:37h

Cara tive esse problema, mas infelizmente tentei de todo jeito mudar o tamanho de uma das partições do meu ubuntu 13.10, mas infelizmente não deu, tive que formatar ele e depois particionar corretamente, tentei de varias formas corrigir sem formatar, mas não tive sucesso.


3. Re: Particinei errado e só vi depois, o que eu faço?

Pedro Henrique Rissato
pedrorissato

(usa Fedora)

Enviado em 10/03/2014 - 10:03h

O que eu queria fazer era:
sda1 - boot - 512mb
sda2 - swap - 2gb
sda3 - / - 50gb
sda4 - /home- +-950gb

O que eu fiz:
sda1 - /home - 512mb <=== :'(
sda2 - swap - 2gb
sda3 - / - 50gb
sda4 - boot - +-950gb <=== :'(

Como a /home (que seria a /boot) é o "primeiro setor do disco" e em partição separada creio que não tenha problema... pois a boot estando em partição separada além de ser mais seguro, você pode indicar ao kernel (se for uma ext4) para iniciar direto por la no gerenciador de boot.

Faz backup da home e da boot (um pendrive de 1GB deve dar, pois a home tem 512mbmax e a boot +/- 100MB e olhe lá.)

Quem é o responsável por dizer o que cada partição é no linux é o /etc/fstab. Ele que define os pontos de montagem, tipo de partição (ext2, ext3, reiserfs, btrfs, etc...) obviamente seguindo uma lógica em razão do tipo de partição.

A primeira solução (a mais prática na minha opinião) é trocar os pontos de montagem no fstab, algo como:

/dev/sda1 /home ext4 defaults 00
/dev/sda4 /boot ext4 defaults 00

para

/dev/sda1 /boot ext4 defaults 00
/dev/sda4 /home ext4 defaults 00

Você inicia por um live-cd/pendrive monta o /dev/sda3 no /mnt/hd do live-usb/pendrive. Faz uma cópia de segurança do fstab original:

#cp /mnt/hd/etc/fstab /mnt/hd/etc/fstab.backup

E faz as alterações acima.

Depois, do live cd/pendrive você abre um gparted e escolhe o seu HD. Apague ambas as partições /boot e /home. Recrie a /boot com o tamanho de 512MB (eu acho muito, mas xD) e recrie a /home com 950GB mande salvar na tabela e saia. Depois é só configurar o fstab (já deve estar alterado com o que falamos acima) e nesse caso, você depois de feito isto, deve montar os diretórios /boot e /home dentro do live-cd/pendrive Ex.:


# cd /mnt/
# mkdir boot && mkdir home
# mount /dev/sda1 /mnt/boot
# mount /dev/sda4 /mnt/home

E copiar o conteúdo do pendrive onde você salvou os arquivos para dentro dos diretórios e testar a reinicialização =].

Principal: Altere o arquivo de inicialização do seu gerenciador de boot (grub, lilo, elilo, etc...) para a partição /dev/sda1 /boot caso contrário ele não irá iniciar.

Explicando os procedimentos:

Partições são fatias dentro do HD que vão segurar os seus arquivos. No linux você pode (mas não é aconselhável) criar partições para todos os diretórios da raiz /usr, /, /tmp, /home (a única limitação se não me esqueço é do /var que tem que ser montado em /)... mas enfim...

Por ex.: Estou usando meu sistema com uma partição no /dev/sda4 ext4 do /home . Essa partição tem 30GB e já estorou seu limite. Posso simplesmente criar uma partição em outro HD no mesmo pc e pedir para montar lá: Ex.: /dev/sdb1 ext4 1TB. Copio minha atual /dev/sda4 para a /dev/sdb1 para não perder meus arquivos de conf e dos outros usuários que possam existir e no fstab eu somente redireciono para /dev/sdb1

/dev/sdb1 /home ext4 defaults 0 0

Posso fazer isso com outro pc na minha rede. Pego outra máquina, monto um servidor NFS (muito simples de fazer) e nessa outra máquina também faço uma partição com 1TB de espaço no 2 slave sata: /dev/sdd1. Adiciono no fstab:

192.168.1.101:/home /home nfs defaults 0 0

Pelo menos em relação ao /home é tranquilo fazer isso. O /boot tem algumas limitações em relação àlgumas BIOS, mas de qualquer forma a partição está localizada no primeiro setor.

Mas depois de tudo isso, me diz, o que aconteceu com o /dev/sda4 lá no começo em que eu tinha meu /home de 30GB?! Sumiu?! xD Claro que não, no HD, no físico, ele ainda existe como uma partição do tipo EXT4 de tamanho 30GB. Se você der um # fdisk -l ela ainda vai estar lá, você somente não está montando ela. Agora você substituiu por sdb1 em ou /home em nfs:192.168.1.101

Enfim,... o mesmo ocorreu acima, você pode trocar o ponto de montagem das partições /home e /boot sem problema, mas se você apenas inverter /home com /boot os arquivos de home vão continuar em sda1 e os de boot em sda4... por isso você recria as partições ou até formata se achar melhor, troca o ponto de montagem em fstab e copia os arquivos originais nas novas partições.

Deve funcionar, como a distro é nova, vale a tentativa xD


4. Re: Particinei errado e só vi depois, o que eu faço?

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 10/03/2014 - 10:09h

Solução mais simples e limpa. Se o pacman está configurado pra guardar todos os pacotes baixados, você é um cara de sorte. Salve a pasta com todos os pacotes em uma mídia removível. Salve também um backup do diretório /etc e /home.

Assim você tem os pacotes e as configurações salvas. Reinstale tudo.

Boa sorte!


5. Re: Particinei errado e só vi depois, o que eu faço?

Clodoaldo Santos
clodoaldops

(usa Linux Mint)

Enviado em 10/03/2014 - 10:13h

Gostaria de um esclarecimento:
Eu nunca usei essa partição /boot ,mesmo c/ mais de uma distro instalada no HD , gostaria de saber se existe alguma "real vantagem pratica" de se ter essa /boot separada ???

Pra mim o HD ficaria assim:
sda1.../...30gb...distro-1
sda2.../...20gb...distro-2
sda3...swap...2gb
sda4...restante HD.../home ou BKP



6. Re: Particinei errado e só vi depois, o que eu faço?

Pedro Henrique Rissato
pedrorissato

(usa Fedora)

Enviado em 10/03/2014 - 10:52h

Mais vantagens do que ela ficar na mesma partição do /, sim. Se existir alguma falha no /, que seja um bad block no hd impedindo a sua montagem e verificação do fsck, por ex, você ainda vai conseguir iniciar o kernel e initrd com a /boot em partição separada, te dando shell podendo fazer ajustes de uma maneira mais fácil do que com um live cd e chroot, já que voce esta iniciando seu próprio kernel direto...

Em alguns casos, a /boot é criada separadamente em partições ext4 para performace já que, como partição própria, ela pode ser chamada diretamente no bootloader. Inclusive bootando o kernel diretamente, sem a obrigação de chamar o initrd. (ex.: http://www.harald-hoyer.de/2013/11/13/fedora-boot-optimization/)

A tecnologia avança nesse sentido: A mais moderna "BIOS" a UEFI (c/ ou s/ secure boot), nas mais variadas configurações, a tendência é criar a ESP (EFI System Partition), primeira partição ou não, para segurar os bootloaders dos mais variados sistema. Trazendo mais segurança.

Todos os bootloaders e kernels ficam nesta partição, independente do que aconteça com minhas partições dentro do sistema, sempre vou ter a opção de poder agir na inicialização do sistema, pois o boot está preservado. No meu caso utilizo o UEFI com tabelamento GPT, tendo a ESP com os bootloaders do Slack, FreeBSD e Fedora 20. Em todos os casos o /boot é um grande link simbólio para o /boot dentro da ESP.


7. Re: Particinei errado e só vi depois, o que eu faço?

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 10/03/2014 - 10:57h

clodoaldops escreveu:

Gostaria de um esclarecimento:
Eu nunca usei essa partição /boot ,mesmo c/ mais de uma distro instalada no HD , gostaria de saber se existe alguma "real vantagem pratica" de se ter essa /boot separada ???

Pra mim o HD ficaria assim:
sda1.../...30gb...distro-1
sda2.../...20gb...distro-2
sda3...swap...2gb
sda4...restante HD.../home ou BKP


A partição /boot separada só vale a pena mesmo se você faz uso intensivo de atualização de kernel ou de sistema de inicialização da distro. Ou se você usa um GRUB só pra todo mundo e deseja que todas as distros sejam capazes de gerenciar essa aberração dos infernos.


8. Re: Particinei errado e só vi depois, o que eu faço?

Clodoaldo Santos
clodoaldops

(usa Linux Mint)

Enviado em 10/03/2014 - 11:01h

pedrorissato , quem sabe na proxima instalação do ubuntu-14.04 eu use o /boot p/ testar.
Obrigado pelo esclarecimento!


9. Re: Particinei errado e só vi depois, o que eu faço?

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/03/2014 - 12:33h

O fato de não se criar manualmente uma partição para o boot, não significa que o próprio sistema não a crie.
Ele cria sim e está em "/dev/sda".

Sempre preferi criar manualmente e, atualmente, ainda não tive problemas com UEFI. Orientação da revista Digerati que tinha em 2010.

E olha que tenho 4 distros instaladas aqui mais o Win8. São distros que estão sempre com problemas de instalação no fórum devido à famigerada dupla dinâmica "Secure Boot/UEFI.

Quem já tem o Win8, dimensione a partição para o Linux. Ao iniciar a instalação, primeiro crie a partição para o boot (100 MB) em "/dev/sda" e não terá problemas.


10. Re: Particinei errado e só vi depois, o que eu faço?

Leandro
leandro_gs

(usa Ubuntu)

Enviado em 10/03/2014 - 13:02h

pedrorissato escreveu:

A primeira solução (a mais prática na minha opinião) é trocar os pontos de montagem no fstab, algo como:

/dev/sda1 /home ext4 defaults 00
/dev/sda4 /boot ext4 defaults 00

para

/dev/sda1 /boot ext4 defaults 00
/dev/sda4 /home ext4 defaults 00


Como eu procedo pra realizar essa operação?


Você inicia por um live-cd/pendrive monta o /dev/sda3 no /mnt/hd do live-usb/pendrive. Faz uma cópia de segurança do fstab original:

#cp /mnt/hd/etc/fstab /mnt/hd/etc/fstab.backup

E faz as alterações acima.


Nesse comando, hd é hd mesmo ou é para substituir pelo pendrive?


Principal: Altere o arquivo de inicialização do seu gerenciador de boot (grub, lilo, elilo, etc...) para a partição /dev/sda1 /boot caso contrário ele não irá iniciar.


No meu caso eu uso o grub, o comando seria # grub-install --target=i386-pc --recheck --debug /dev/sda1 ? Tenho que dar mais algum comando por exemplo para recriar o grub.cfg?




Agradeço a todos pelos comentários de ajuda! No final das contas, se isso não funcionar, vou seguir o que alguns disseram e vou formatar de uma vez...


11. Re: Particinei errado e só vi depois, o que eu faço?

Pedro Henrique Rissato
pedrorissato

(usa Fedora)

Enviado em 10/03/2014 - 14:42h

Vou tentar abreviar aqui para você:

Vou presumir que voce já copiou o seu /home e /boot para o pendrive em duas pastas denominadas home e boot, ok?!

Vamos lá:

Inicia o pc pelo live-cd/pendrive e vai pro terminal/console nele você digita:

// Vire root:

$ sudo su

ou

$ su -

// Entrando em /mnt do live cd e criando dois diretórios /mnt/hd e /mnt/pendrive
// são diretórios onde vão ficar os arquivos do seu HD e do seu pendrive de backup

# cd /mnt && mkdir hd && mkdir pendrive

// Plugue seu USB com o backup dos arquivos e digite:

# fdisk -l

// Busque a informação de qual dispositivo é o seu pendrive (vou presumir /dev/sdc1)
// Mas ache qual é o certo! =]
// Monte o seu pendrive

# mount /dev/sdc1 /mnt/pendrive

// Monte agora sua partição raiz (/), que de onde eu olhei é o /dev/sda3

# mount /dev/sda3 /mnt/hd
# cd /mnt/hd

// Cria duas pastas dentro de /mnt/hd/pendrive chamadas home e boot
# mkdir -p pendrive/home && mkdir -p pendrive/boot

// Copia todo o conteúdo de /mnt/pendrive/home e /mnt/pendrive/boot para a sua raiz (/) em
// sda3, respectivamente: /mnt/hd/pendrive/home e /mnt/hd/pendrive/boot
# cp -pv /mnt/pendrive/home/* /mnt/hd/pendrive/home && cp -pv /mnt/pendrive/boot/* /mnt/hd/pendrive/cp

#

// Monta o seu home e seu boot nos lugares corretos!!!!

# sudo mount /dev/sda1 /mnt/hd/boot
# sudo mount /dev/sda4 /mnt/hd/home

// Aqui é o comando especial, chroot. Ele vai transformar o seu live-cd/pendrive em sua raiz:

# chroot /mnt/hd

// Para confirmar se o seu raiz virou o raiz da máquina, faça um cat no arquivo /etc/passwd e
// veja se o seu usuario está lá. Por ex.: meu usuário é pedrorissato

# cat /etc/passwd | grep pedrorissato

// Se aparecer a linha do seu usuário significa que está tudo bem até aqui.
// Agora é só editar o /etc/fstab com o seu editor de texto favorito e trocar o /home
// por /boot e vice-versa
// Editores: pico, nano, vi, mcedit,

# nano /etc/fstab

// Dai você procura a linha onde está o seu /home e /boot e troca, POR EXEMPLO:

/dev/sda1 /home ext4 defaults 0 0
/dev/sda2 none swap defaults 0 0
/dev/sda3 / ext4 defaults 0 0
/dev/sda4 /boot ext4 defaults 0 0

// Depois da troca fica:

/dev/sda1 /boot ext4 defaults 0 0
/dev/sda2 none swap defaults 0 0
/dev/sda3 / ext4 defaults 0 0
/dev/sda4 /home ext4 defaults 0 0

// Não mexemos em nada. Apenas trocamos os pontos de montagem.
// Salva e sai.

// Agora vamos copiar o conteúdo do diretório em seu raiz: /pendrive/home para /home

# cp -pr /pendrive/home/* /home
# cp -pr /pendrive/boot/* /boot

// Por fim, você executa o seguinte comando:

# grub-mkconfig -o /boot/grub/grub.cfg

// Este comando do grub vai dar um probe nos sistemas operacionais que você possui e vai gravar o grub.cfg.

// Saindo do chroot (/)

# exit

// Desmontando as unidades

# umount /dev/sda1
# umount /dev/sda4
# umount /dev/sda3
# umount /dev/sdc1

Reinicia o pc e veremos se deu certo. Como passei tudo de cabeça vai olhando os comandos vendo se ele pede uma coisa ou outra... as partes importantes são: montar o /boot e /home do sda dentro do raiz, copiar os arquivos backup do pendrive para eles, editar fstab, trocar os pontos, rodar o grub-mkconfig e resetar. O resto é só como fazer =]







12. Re: Particinei errado e só vi depois, o que eu faço?

Leandro
leandro_gs

(usa Ubuntu)

Enviado em 10/03/2014 - 15:52h

pedrorissato escreveu:

Vou tentar abreviar aqui para você:

Vou presumir que voce já copiou o seu /home e /boot para o pendrive em duas pastas denominadas home e boot, ok?!

Vamos lá:

Inicia o pc pelo live-cd/pendrive e vai pro terminal/console nele você digita:

// Vire root:

$ sudo su

ou

$ su -

// Entrando em /mnt do live cd e criando dois diretórios /mnt/hd e /mnt/pendrive
// são diretórios onde vão ficar os arquivos do seu HD e do seu pendrive de backup

# cd /mnt && mkdir hd && mkdir pendrive

// Plugue seu USB com o backup dos arquivos e digite:

# fdisk -l

// Busque a informação de qual dispositivo é o seu pendrive (vou presumir /dev/sdc1)
// Mas ache qual é o certo! =]
// Monte o seu pendrive

# mount /dev/sdc1 /mnt/pendrive

// Monte agora sua partição raiz (/), que de onde eu olhei é o /dev/sda3

# mount /dev/sda3 /mnt/hd
# cd /mnt/hd

// Cria duas pastas dentro de /mnt/hd/pendrive chamadas home e boot
# mkdir -p pendrive/home && mkdir -p pendrive/boot

// Copia todo o conteúdo de /mnt/pendrive/home e /mnt/pendrive/boot para a sua raiz (/) em
// sda3, respectivamente: /mnt/hd/pendrive/home e /mnt/hd/pendrive/boot
# cp -pv /mnt/pendrive/home/* /mnt/hd/pendrive/home && cp -pv /mnt/pendrive/boot/* /mnt/hd/pendrive/cp

#

// Monta o seu home e seu boot nos lugares corretos!!!!

# sudo mount /dev/sda1 /mnt/hd/boot
# sudo mount /dev/sda4 /mnt/hd/home

// Aqui é o comando especial, chroot. Ele vai transformar o seu live-cd/pendrive em sua raiz:

# chroot /mnt/hd

// Para confirmar se o seu raiz virou o raiz da máquina, faça um cat no arquivo /etc/passwd e
// veja se o seu usuario está lá. Por ex.: meu usuário é pedrorissato

# cat /etc/passwd | grep pedrorissato

// Se aparecer a linha do seu usuário significa que está tudo bem até aqui.
// Agora é só editar o /etc/fstab com o seu editor de texto favorito e trocar o /home
// por /boot e vice-versa
// Editores: pico, nano, vi, mcedit,

# nano /etc/fstab

// Dai você procura a linha onde está o seu /home e /boot e troca, POR EXEMPLO:

/dev/sda1 /home ext4 defaults 0 0
/dev/sda2 none swap defaults 0 0
/dev/sda3 / ext4 defaults 0 0
/dev/sda4 /boot ext4 defaults 0 0

// Depois da troca fica:

/dev/sda1 /boot ext4 defaults 0 0
/dev/sda2 none swap defaults 0 0
/dev/sda3 / ext4 defaults 0 0
/dev/sda4 /home ext4 defaults 0 0

// Não mexemos em nada. Apenas trocamos os pontos de montagem.
// Salva e sai.

// Agora vamos copiar o conteúdo do diretório em seu raiz: /pendrive/home para /home

# cp -pr /pendrive/home/* /home
# cp -pr /pendrive/boot/* /boot

// Por fim, você executa o seguinte comando:

# grub-mkconfig -o /boot/grub/grub.cfg

// Este comando do grub vai dar um probe nos sistemas operacionais que você possui e vai gravar o grub.cfg.

// Saindo do chroot (/)

# exit

// Desmontando as unidades

# umount /dev/sda1
# umount /dev/sda4
# umount /dev/sda3
# umount /dev/sdc1

Reinicia o pc e veremos se deu certo. Como passei tudo de cabeça vai olhando os comandos vendo se ele pede uma coisa ou outra... as partes importantes são: montar o /boot e /home do sda dentro do raiz, copiar os arquivos backup do pendrive para eles, editar fstab, trocar os pontos, rodar o grub-mkconfig e resetar. O resto é só como fazer =]






Eu teria que usar dois pendrives diferentes, ou posso colocar os arquivos no mesmo pendrive do live-cd?



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts