Posso ter duas distros na mesma partição usando o btrfs?

5

Estou usando o btrfs com sucesso e, felizmente, separei partições domésticas e de sistema.

Usando o Ubuntu 13.10 e querendo testar o 14.04, como posso fazer isso usando o sistema de arquivos btrfs?

O sistema tem uma partição EFI, mas nenhuma partição de inicialização extra. /boot está dentro da partição do sistema ( /@/boot ).

    
por Borph 05.01.2014 / 14:23

1 resposta

8

Sim, você pode. Isso é o que eu uso no momento. A outra coisa legal é que você pode bedup a partição depois de ter instalado muitos sistemas operacionais similares (como Ubuntu e Linux Mint) para conservar um muito espaço no disco rígido.

O truque é renomear os subvolumes padrão: @ e @home em algo único para a instalação de distribuição, por exemplo, @ - > @mint ou @trusty e @home em @homemint ou @hometrusty .

Isso pode ser feito a qualquer momento após a instalação do primeiro sistema, antes da instalação do segundo. A maneira mais segura é fazer um instantâneo dos subvolumes, por exemplo, assim:

  1. montar subvolume raiz da partição do sistema btrfs (assumido como / dev / sda3) em algum lugar, por exemplo para / mnt: sudo mount btrfs /dev/sda3 /mnt
  2. Opcional: liste os subvolumes já existentes - apenas verifique se você não criou conflitos de nome nas etapas a seguir: sudo btrfs subvolume list /mnt
  3. Clone o subvolume principal @: sudo btrfs subvolume snapshot /mnt/@ /mnt/@trusty
  4. Clone a casa. Eu não recomendo strongmente compartilhar subvolume casa inteira em diferentes sistemas. (Para documentos compartilhados crie outro subvolume, ou melhor ainda, uma partição separada, associe-a a ~ / Documents, ~ / Desktop etc. e compartilhe isso): sudo btrfs subvolume snapshot /mnt/@home /mnt/@trustyhome
  5. Edite /mnt/@trusty/etc/fstab na nova raiz @trusty para refletir a alteração da @home - > @trustyhome subvolume (e @ - > @trusty, mas essa etapa não é estritamente necessária, porque no momento em que o sistema ler @ trusty / etc / fstab, ela já deve ter assumido o subvolume correto para a raiz).
  6. Edite /boot/grub/grub.cfg : modifique todas as linhas que chamam o kernel atual (elas se parecem com: linux /vmlinuz-3.16.0-50-generic.efi.signed root=UUID=9e571eab-4c88-4913-baa3-8d41d94f73d5 ro recovery nomodeset rootflags=subvol=@ ) e altere o rootflags=subvol=@ para rootflags=subvol=@trusty , para que o kernel saiba o que inicializar. Em vez disso, milagrosamente, essa configuração será preservada quando você executar update-grub .
  7. Reinicie e faça sudo mount e verifique se os novos subvolumes corretos foram usados em vez de @ e @home < - Este passo é realmente importante, caso contrário você será perder seus dados

E, uma vez que você renomeou os subvolumes, garantiu que o sistema inicializasse e garantiu que não houvesse @ e @home - instale o próximo sistema operacional. Na caixa de diálogo de particionamento, use o particionamento personalizado e instale o sistema na mesma partição que o primeiro sistema operacional. Apenas certifique-se de informar ao instalador para não formatar essa partição!

Após a instalação, configure o carregamento em cadeia das grubs, para que você possa selecionar o grub de uma instalação como uma entrada na outra e vice-versa (como? consulte Qual é o caminho recomendado para o carregamento em cadeia de partição Ubuntu / boot ).

Por ter uma partição /boot separada, eu não tenho que me preocupar com um Linux messing grub para o outro Linux durante a atualização automatizada do kernel.

    
por Adam Ryczkowski 05.01.2014 / 21:28