Então eu finalmente consegui fazer isso, e definitivamente deu muito trabalho, mas está pronto e parece estar rodando bem (e muito mais rápido). A única coisa que resta é lidar com swap, que ainda está no disco rígido.
Etapa 1:
Crie um disco live do linux, inicialize-o e diminua o HDD para deixar espaço suficiente para uma instalação do Windows (não se preocupe com o dimensionamento exato, pois as partições serão redimensionadas). Eu usei um disco live do linux porque eu gosto do gparted, e eu não poderia fazê-lo com o meu sistema linux em execução, já que 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 fiz a suposição de que você poderia. Isso significa que se a partição linux estiver no início do disco rígido (como eu a tive), esse espaço acaba sendo desperdiçado. Eu recomendo mover tudo para o final da unidade e, em seguida, colocar a partição do Windows no início, como sempre pode ser expandido (isso leva um pouco de tempo, no entanto)
Etapa 2:
Crie um disco de inicialização do Windows - pode ser feito no site do Windows . Idealmente, isso seria em um segundo flash drive desde quando (não se) algo der errado e você tem que começar de novo, você não precisa fazer um novo disco Linux.
Etapa 3:
Instale as janelas, clique em "Instalar agora" e depois percorrer até que você escolha uma partição, escolha a partição que você criou ao redimensionar o disco rígido (ele nem precisa ser formatado, o Windows fará o que quiser com espaço livre em uma unidade). Deixe as janelas fazerem as coisas. Quando você fizer login na nova instalação do Windows pela primeira vez, ele verificará a chave de licença.
Etapa 4:
Copie tudo o que quiser da instalação original do Windows.
Etapa 5:
Inicialize no linux a partir do seu disco ativo (não aquele instalado no HDD). Destrua o SSD e crie 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 disco e sincronizar tudo (algumas coisas podem falhar, como / proc / devices, tudo bem, mas certifique-se de estar root). Isso parece:
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 na 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.
Isso é descrito aqui .
Isso deveria ser tudo. Eu desde então limpei a instalação do Linux. O gerenciador de boot do Windows parece finalmente feliz consigo mesmo (acho que alguns ciclos de reinicialização são suficientes).
Ele deixa em torno da instalação do antigo linux, que eu ainda tenho que limpar. Eu também não sei como limpar o gerenciador de inicialização do Windows, porque isso também ficou um pouco confuso com as instalações do Windows ausentes, mas pelo menos ele inicializa.