Dúvida de como trocar HD home

Bom dia… boa tarde… boa noite… sou novato por aqui. Uso o Mint 19.3 com um HD só para o root e outro para a home. Pretendo trocar o HD home por um maior preservando todo o conteúdo… não sei como proceder… grato pela ajuda.

2 curtidas

Olá @Suave tudo beleza?

Temos várias discussões que abordam esse tópico aqui no fórum, você pode usar a ferramenta de pesquisa para dar uma conferida.

:vulcan_salute:t2:

2 curtidas

Basicamente é só copiar os arquivos, mas precisa ficar atento com os atributos de arquivos, como o proprietário e o grupo.

Sem reinstalar o sistema:

  1. Instale o novo disco no computador
  2. Crie as partições que desejar (recomendo o gparted), entre elas uma para ser o novo ponto de montagem /home
  3. Formate a partição como ext4 ou btrfs (prefira manter o mesmo sistema de arquivos que já tem atualmente)
  4. Monte a partição novo_home;
  5. Copie todos arquivos do atual ponto de montagem /home para o ponto de montagem do novo_hd_home -> use cp -a /home/ /ponto_de_montagem_novo_hd
  6. Anote o UUID da nova partição e atualize o /etc/fstab com esse novo número
  7. Reinicie o computador, verifique que está tudo certo, daí vc pode fazer outro uso do hd antigo.

Reinstalando o sistema:

  1. Instale o novo disco no computador
  2. Reinstale o sistema no raiz, criando o /home no seu hd novo
  3. Monte a partição do hd_antigo
  4. Copie todos os arquivos do seu user_antigo para o novo usuário. Se vc copiar os arquivos ocultos também terá a mesma configuração da área de trabalho que tinha antes. Essa cópia pode ser simples pelo modo gráfico pois os arquivos já serão copiados com as permissões corretas.
  5. faça logoff, login.
3 curtidas

Acredito que a dica do @Dio, indicada pelo @eddiecsilva, seja a orientação em linguagem mais “amigável”.

Se depois (ou antes) você quiser entender “o que acontece”…

O que é “mover a /home” para outro local?

Mover a /home de um lugar para outro envolve, ou “significa”:

  1. Copiar todo o conteúdo da /home atual para o novo lugar. ─ E digo “copiar” (não, “mover”!), porque se alguma coisa der errado, você continua com a /home original, intacta. ─ Basta deletar a cópia mal-feita, e fazer outra, até dar tudo certo. ─ Ou, se sentir vontade de desistir (ou adiar), ela continua lá. Basta deixar tudo como está, pois nada foi afetado. Amanhã você tenta de novo.
  2. Depois que a cópia foi feita ─ e você verificou se ela é 100% fiel ao original ─ você precisa “apenas” dizer ao sistema que, agora, sua /home está em novo local. ─ Você faz isso, editando o arquivo de sistema /etc/fstab. ─ Depois, é só reiniciar, e o sistema vai “ler” a nova situação no /etc/fstab, e já vai carregar “de conforme”.

Agora que estamos cientes dos 2 passos básicos, ─ vamos lembrar que “o diabo está nos detalhes”, como diz o provérbio. ─ Esses detalhes parecem muito chatos, à primeira vista, mas vale a pena entendê-los, pois são a base de qualquer entendimento sobre o “Linux” (GNU Linux), em geral.

  • Importante: - Você NÃO precisa entender tudo agora. ─ Apenas tente acompanhar “por alto”, para ter uma ideia ─ e guarde, para ler quando precisar (se um dia precisar).

1.1) Para copiar a /home do seu Linux Mint, você deve estar “fora” dele! ─ pois enquanto você estiver logado dentro dele, sua /home estará mudando o tempo todo. ─ Quando terminar a cópia, ela já não será igual à “original”, que nesse meio tempo já mudou.

Por isso, em geral, os tutoriais dirão que você deve fazer isso, usando uma sessão Live Pendrive (ou Live DVD). ─ Isso é 100% correto, ─ mas é bom usar uma “Live” com bons recursos, de modo que você possa “ver” melhor o que está fazendo, e desse modo você se sentirá mais seguro do que faz.

Bom, eu tenho várias distros, que uso em dualboot (Linux1, Linux2… até Linux12), ─ e acho mais confortável usar “outra distro” (instalada, e bastante configurada), pois já instalei nelas todos os recursos que possam me ajudar. ─ Acho isso mais “confortável”, do que usar uma “Live”, onde às vezes falta algum recurso.

Neste exemplo (a seguir), usei meu “Linux1” (openSUSE) para mover a /home do meu “Linux6” (que por acaso era o PCLinuxOS). ─ Isso aconteceu em Março 2020, cerca de 2 meses após eu instalar as primeiras 4 distros no meu novo hardware.

1.2) O que significa “minha /home”? ─ Significa “uma pasta com meu apelido, dentro da /home”. ─ No meu caso, significa “a pasta /home/flavio/”. ─ É ela que devo copiar, e não “toda a partição /home”.

1.2.1) Não basta copiar aquilo que a gente “vê”. ─ Existem muitas outras coisas, escondidas (hidden). ─ Aqui eu mostro o exemplo do Dolphin (KDE), mas o Nemo (Cinnamon) e todos os outros “gerenciadores de arquivos” oferecem a opção de “mostrar arquivos ocultos”, no submenu “View”.

Bom, muitas vezes preciso pedir (ou oferecer) ajuda em foruns internacionais, por isso mantenho minha interface em Inglês, assim qualquer hindu, árabe, russo, indonésio, tailandês ou africano (além dos europeus, e até os norte-americanos donos-do-mundo) poderá entender minhas capturas de tela. ─ Acho que não é tão difícil, para nós brasileiros, portugueses, angolanos, moçambicanos, entre outras populações de língua portuguesa. Basta olhar o que aparece na sua interface em Português, no mesmo lugar.

Uma vez ativada a visualização de “arquivos ocultos’, fica mais fácil a gente perceber quanta coisa importante existe na pasta /home/USUÁRIO/. ─ Note que todos os arquivos e pastas “ocultos” têm um ponto (”.") no início do nome.

(Note, também, que eu não uso as /home para meus arquivos pessoais ou de trabalho. ─ Como tenho várias distros em dualboot, isto seria de enlouquecer. ─ Em vez disso, guardo meus arquivos em pastas “temáticas”, tais como Sites, Works, XTudo, Depot1, Depot2, Storage, comuns a todas as distros).

Além disso, cada arquivo ou pasta tem uma série de “atributos” ─ aquele lrwxrwxrwx esquisito, logo na primeira coluna da imagem (acima), quando você executa o comando “listar” (ls) com a opção “-n” (ls -n), que revela as tripas do sistema em formato “numérico”:

$ ls --help

-l … use a long listing format

-n, --numeric-uid-gid … like -l, but list numeric user and group IDs

Nessa esquisitice “lrwxrwxrwx”, a primeira letra, se for “d” significa “diretório” (pasta), e se for “l” significa “Link” ─ ou seja não existe, apenas aponta para outro local. ─ E se for um traço (-), é um arquivo.

Depois, vêm 3 séries de “rwx” ─ a primeira, diz se o “dono” pode ler (r, read), escrever (w, write), executar (x, eXecute) ─ e se qualquer um estiver substituído por traço (-), significa que tal função está proibida para aquele arquivo ou pasta.

A segunda sequência “rwx” se refere ao “grupo”; e a terceira, se refere aos “outros usuários”.

Em seguida, as colunas com “1000 1000” ou “0 0” indicam quais são os “donos” de cada arquivo ou pasta. ─ Na maioria das distros (hoje em dia!), o usuário é UID=1000, e o “grupo do usuário” é GID=1000 (para mim, 1000="flavio). ─ mas em algumas, o “grupo do usuário” é GID=100. ─ Quando UID e GID são = 0, significa que “pertence” ao Administrador (root).

  • Repito: - Você NÃO precisa entender tudo agora. ─ Apenas tente acompanhar “por alto”, para ter uma ideia ─ e guarde, para ler quando precisar (se um dia precisar).

Então, no dia 8 Março 2020, quando resolvi “mover” minha /home do Linux6 para a partição Home6, saí daquela distro e entrei em outra ─ podia ser uma distro em sessão Live, mas preferi usar “Linux1”, instalada, configurada e com todos os recursos.

Usei o mc ─ Midnight Commander ─ porque sei que ele iria copiar todas as pastas ocultas e todos os arquivos ocultos ─ e ele também me garantia que iria preservar todos os “atributos” de cada arquivo e de cada pasta.

(Isto é fundamental, em “GNU Linux”, e é por isso que não dá certo instalá-lo em uma partição Fat32 ─ um sistema de arquivos que “não conhece” esses “atributos”).

Se sua distro Live não tiver o mc, basta instalar:

$ sudo apt install mc

(ou algum comando equivalente, se usar uma distro não-Debian ─ dnf, zypper, pacman, urpmi, xbps).

Depois, basta executar o mc como super-usuário ─ pois o usuário “comum” não teria privilégios para lidar com arquivos que estão fora de suas permissões (<1000):

$ sudo mc

Acima - A cópia foi feita de “Linux6/home” ─ pois era uma pasta “dentro” da partição “root” (“/”) ─ para “Home6”, uma partição separada, específica para a /home do Linux6.

  • Por estar no openSUSE, ambas estavam montadas em /run/media/flavio/. Se eu estivesse usando outras distros, a montagem poderia estar em /media/flavio/, por exemplo. ─ Isto são detalhes (virtuais) da distro “usada”, e não fazem diferença para a distro “a ser modificada”. ─ Se você usar uma distro em Live Pendrive, esses detalhes poderão ser diferentes, e isso não afeta o resultado.

2.1) Editar o arquivo /etc/fstab é a coisa mais simples do mundo ─ mas eu fugi disso, como o diabo foge da cruz, durante muitos anos! ─ É uma das coisas mais chatas e estressantes, para um iniciante, ainda pouco afeito a esse tipo de rituais esotéricos.

Acima - O arquivo /etc/fstab do meu “Linux6”, ─ antes da edição. ─ É bom salvar um backup, antes de mexer nele.

  • Eis o motivo pelo qual usei openSUSE ─ é uma das poucas distros que (ainda) me permitem “rodar” Krusader (e Dolphin) como root ─ e através deles, editar arquivos de sistema com todas as comodidades do Kate / KWrite.

Trata-se de acrescentar 1 única linha ─ onde você indica o UUID da nova partição, onde você queira que sua /home passe a “funcionar”.

Após o UUID, adicione /home (para que passe a ser montado com esta função, de hoje em diante), em seguida o “sistema de arquivos” (ext4, neste caso), e por fim, alguns parâmetros.

Neste caso, usei os parâmetros “defaults 1 2” (sem aspas, claro) ─ mas isso, porque guardei o /etc/fstab de outra instalação anterior do PCLinuxOS, que tinha /home separada, e verifiquei que essa distro usava esses parâmetros.

Importante - Não sou, nem tento fingir, um “expert”, sabichão, sabe-tudo. ─ Sou um “mero usuário”, e apenas procuro seguir as regras, e depois anotar os resultados. ─ Neste caso, copiei os parâmetros de um /etc/fstab anterior, gerado pelo próprio instalador do PCLinuxOS, e que funcionou bem por mais de 1 ano.

Exemplo de outras distros ─ que também copiei de instalações anteriores ─ e que também deram certo nessa nova máquina:

openSUSE

UUID=ddd0f13e-7def-4668-8910-0f5f3f011fe4 /home xfs defaults 1 2

Fedora

UUID=727546b6-57a8-46be-997e-ba1f8b21ba54 /home ext4 defaults 1 2

KDE Neon

UUID=93cfce0e-eee4-4972-a6d7-680c7e57a554 /home ext4 defaults 0 2

PCLinuxOS

UUID=c82ea2d1-e58a-4fd3-a476-995d9d03b6c7 /home ext4 defaults 1 2

Por favor, não me pergunte “por que” ─ eu juro que não faço a menor ideia. ─ Procurei, sempre, copiar parâmetros de instalações anteriores.

Além disso, openSUSE e Fedora têm pegadinhas que é melhor nem tentar abordar aqui.

Essas foram as 4 distros que instalei no meu novo hardware, no início de 2020 ─ todas, inicialmente, sem uma partição separada para a /home, ─ pois era minha primeira experiência com hardware UEFI-GPT, e eu queria fazer tudo do modo mais simples possível, para ver, observar, e aprender.

Só 2 meses depois, reuni coragem para “mover” as respectivas /home para partições separadas. ─ Quando você achar que vale a pena arrancar os cabelos com essa maluquice toda… eis um relato bem resumido ─ mas, ainda assim, meio complicado:

zzz

3 curtidas

Desculpe, só agora me dei conta de que sua pasta pessoal não estava numa pasta /home dentro da partição-raiz – e sim, em um HDD, e você queria passar para outro HDD maior.

Você provavelmente já fez a mudança, mas pode ser útil para quem tiver a mesma dúvida, pesquisar no Fórum e chegar até aqui:

  • Neste caso, basta “copiar” a partição /home do antigo HDD e “colar” no novo HDD – pelo GParted.

Acima - Em Maio 2021, minhas partições Home1 ~ Home12 estavam no /dev/sdb – e resolvi “mover” todas elas para o /dev/sdc.

Rodei uma sessão Live do MX Linux – pois neste caso eu não poderia fazer isso usando nenhuma das distros instaladas.

Acima - Primeiro, criei uma partição XFS, para a /home do openSUSE em /dev/sdc2 – em seguida “copiei” a “Home1” do /dev/sdb2 e “colei” nessa nova partição.

“Copiar” a partição inteira pelo GParted tem a vantagem de manter o identificador UUID – desse modo, eu não precisaria editar o /etc/fstab de todas as distros.

Acima - Não me dei ao trabalho de criar as outras 11 partições, todas ext4. – Fui simplesmente “copiando” de /dev/sdb e “colando” no espaço não-alocado do /dev/sdc.

  • Poderia aumentar o tamanho das partições /home, mas eu não tinha interesse – por isso fiz pelo método mais rápido, 11 partições de uma vez só.

Acima - Fiz poucos prints com delay, porque estava usando o KDE Spectacle, que acho trabalhoso. – Este acima foi um dos poucos prints onde capturei o ato de “copiar” uma partição – no caso, o Swap, que também mudei para outro lugar.

“Copiar” o Swap pelo GParted tem a vantagem de manter o mesmo identificador UUID – desse modo, eu não precisaria editar o /etc/fstab das 12 distros.

Acima - Aproveitei para aumentar a partição Swap de 5 MiB para 10 MiB.

Acima - Tratei de deletar as partições antigas, pois tinham os mesmos UUID das cópias, e acabariam sendo montadas em duplicata.

Importante - O correto seria desplugar esse HDD, em seguida carregar as 12 distros, uma após outra, para confirmar se tudo deu certo – e só depois deletar as partições Home1 ~ Home12 antigas.

Mas nesse dia eu estava cheio daquela confiança que precede o tombo. – Felizmente, não houve tombo – mas não recomendo tamanha imprudência.

Acima - Quando comecei a carregar as distros, todas montaram corretamente suas respectivas partições /home pelo /etc/fstab, usando seus identificadores UUID – mas não ocorreu a montagem das partições /home das outras distros, que é feita por outro mecanismo, via KDE System Settings.

Acima - Bastou clicar em cada uma delas, pelo Dolphin, para serem montadas nesta primeira vez. – Ao reiniciar, tudo já funcionou como antes.

Acima - Para normalizar, fui no KDE System Settings e mandei “esquecer” as partições “desconectadas” – ou seja, deletadas.

Conclusão - Na verdade, tudo é muito mais simples quando você tem apenas 1 distro, e quer “mover” a /home de apenas 1 distro – mas também funciona “em massa”, com 12 distros, sem grandes dificuldades.

1 curtida