Alternar discos Windows/Linux

Alternar discos Windows/Linux

Eu tenho um laptop (ASUS harman/kardon) que possui duas unidades, um pequeno SSD e um HDD de 1 TB. Ele veio com o Windows instalado no SSD e eu instalei o Linux no HDD.

Como eu uso quase exclusivamente a partição Linux, existe alguma maneira de simplesmente mudar a partição Linux para outra unidade e colocar o Windows no disco rígido (não quero perder minha licença do Windows).

Gostaria de manter a imagem do Linux como está, tudo bem se tiver que restaurar o Windows do zero.

Entendo que posso precisar de espaço extra e tenho uma unidade externa grande o suficiente para acomodar ambas as partições.

Então é possível trocar o Linux pelo SSD e o Windows pelo HDD sem precisar reiniciar os dois?

Tentativa 1

Encolhi a partição Linux no disco rígido para abrir espaço para uma partição do Windows. Em seguida, criei um disco de instalação do Windows para instalar o Windows no disco rígido. Infelizmente, este disco de instalação pega a outra instalação do Windows. Também me dá apenas um botão "Instalar agora", o que é muito inútil, pois não tenho ideia de onde ele será instalado.

Parece que tenho que remover fisicamente o SSD, salvar minhas coisas do Linux do HDD em outro lugar e, em seguida, executar a instalação do Windows e deixá-lo assumir o controle (porque que tipo de usuário precisa do controle do sistema operacional?). Alguma outra ideia? Existe uma maneira de forçar o Windows a instalar em algum lugar específico?

Atualizar

Fiz uma partição no HDD e consegui instalar o Windows nele. Em seguida, reformatei o SSD (deixando a partição de inicialização intacta) e usei o rsync (da pergunta vinculada) para copiar todos os dados da unidade antiga para a nova.

Eu então executei sudo grub-install <SSD>, mas na inicialização, o grub pega apenas a instalação no HDD (e também o gerenciador de inicialização do Windows, que sempre tem). Estou faltando um passo? De alguma forma, preciso executar o grub-install quando inicializado a partir da nova 'instalação'? Se sim, como faço para inicializar a partir dele?

Editar:Parece que preciso fazer chroot para a nova 'instalação'. No entanto, ao fazer isso, perco o disco (/dev/nvme0n1) no qual desejo instalar o grub. Existe uma maneira de configurar o grub para que, quando ele inicializar e esse disco existir (eu sei que existirá), ele funcione?

Responder1

Então finalmente consegui fazer isso e definitivamente deu muito trabalho, mas foi feito e parece estar funcionando bem (e muito mais rápido). A única coisa que resta é lidar com o swap, que ainda está no HDD.

Passo 1:

Faça um disco live do Linux, inicialize nele e reduza o HDD para deixar espaço suficiente para uma instalação do Windows (não se preocupe com o tamanho exato, pois as partições serão eventualmente redimensionadas). Usei um disco live do Linux porque gosto do gparted e não pude fazer isso com meu sistema Linux em execução, pois a unidade estava montada e não podia ser redimensionada.

Nota – Você não pode mover a partição do Windows após instalar o Windows. Eu presumi que você poderia. Isso significa que se a partição Linux estiver no início do HDD (como eu tinha), esse espaço acaba sendo desperdiçado. Eu recomendo mover tudo para o final da unidade e depois colocar a partição do Windows no início, pois ela sempre pode ser expandida (no entanto, isso leva um pouco de tempo)

Passo 2:

Faça um disco de inicialização do Windows - pode ser feitono site do Windows. Idealmente, isso seria em uma segunda unidade flash, pois quando (não se) algo der errado e você tiver que começar de novo, não será necessário criar um novo disco Linux.

Etapa 3:

Instale o Windows, clique em "Instalar agora" e prossiga até permitir que você escolha uma partição, escolha a partição que você criou ao redimensionar o HDD (nem precisa ser formatado, o Windows fará seu trabalho com espaço livre em uma unidade). Deixe o Windows fazer o seu trabalho. Quando você fizer login na nova instalação do Windows pela primeira vez, a chave de licença será verificada.

Passo 4:

Copie tudo o que quiser da instalação original do Windows.

Etapa 5:

Inicialize novamente no Linux a partir do seu disco ativo (não aquele instalado no disco rígido). Destrua o SSD e faça uma partição ext4. Certifique-se de não tocar na partição FAT32 no início, esta é a partição de inicialização e é importante.

Etapa 6:

rsync tudo para a nova unidade. Isso envolve montar o disco antigo e o novo e sincronizar tudo (algumas coisas podem falhar, como /proc/devices, tudo bem, mas certifique-se de ser root). Isto se parece com:

mount /dev/sda2 oldDisk/ #the existing linux partition
mount /dev/nvme0n1p2 newDisk/ #The new, empty partition on SSD
rsync -avz oldDisk/ newDisk

Etapa 7:

Inicialize novamente em sua instalação original do Linux (isso também pode funcionar na unidade flash ao vivo).

mount /dev/nvme0n1p2 /mnt #Mount the new drive somewhere
mount --bind /dev /mnt/dev/
grub-install --boot-device=/mnt /dev/nvme0n1 #note this is the whole device, not just the patition (akin to /dev/sda)
update-grub #so the new stuff is picked up.

Isto está delineadoaqui.

Isso deveria ser tudo. Desde então, limpei a instalação do Linux. O gerenciador de inicialização do Windows parece estar finalmente satisfeito consigo mesmo (acho que bastam alguns ciclos de reinicialização).

Ele deixa a antiga instalação do Linux, que ainda não limpei. Também não sei como limpar o gerenciador de inicialização do Windows porque ele também ficou um pouco confuso com as instalações ausentes do Windows, mas pelo menos ele inicializa.

informação relacionada