Não é possível iniciar a partição do Windows em dd'ed

0

Até ontem, eu estava feliz com meu esquema de partições:

Device         Boot   mounted at    
/dev/nvme0n1p1 *      /boot/efi
/dev/nvme0n1p2        swap
/dev/nvme0n1p3        /             ext4
/dev/nvme0n1p6        /media/Volume ext4
/dev/nvme0n1p5        /home         ext4

Eu também uso o Windows 10 com caixa virtual, o vdi está em algum lugar em / home.

Agora eu sou forçado a ampliar os dados do vdi e, embora seja possível, eu não quero ter um arquivo vdi de 100GB no meu / home. Porque eu aprecio a ideia de ser capaz de inicializar o Windows nativamente e tenho > 100GB de espaço não particionado no meu disco, então eu

  1. img bruto criado: VBoxManage internalcommands converttoraw Win7.vdi win10.img
  2. saída analisada: parted win10.img unit B print

Number Start End Size Type File system Flags 1 1048576B 105906175B 104857600B primary ntfs boot 2 105906176B 54022924799B 53917018624B primary ntfs 3 54023684096B 54522806271B 499122176B primary ntfs diag

  1. criou uma partição não formatada em /dev/nvme0n1p7 usando gparted
  2. copiou a segunda partição de win10.img: sudo dd if=.local/win10.img of=/dev/nvme0n1p7 skip=105906176 count=53917018624 iflag=skip_bytes,count_bytes

Agora, se eu montá-lo com sudo mount /dev/nvme0n1p7 /media/x , ele reclama que o Windows não foi desligado adequadamente e que eu o montarei. Eu consertei isso usando ntfsfix . Parece que há uma instalação sólida do Windows em /dev/nvme0n1p7 .

Infelizmente, não consigo inicializá-lo, nem usando caixa virtual nem grub. Para o VirtualBox, criei um disco bruto usando VBoxManage internalcommands createrawvmdk -filename win10.vmdk -rawdisk /dev/nvme0n1 -partitions 7 . Depois de iniciar o vbox, aparece uma tela preta e é isso. Para o grub, eu editei /etc/grub.d/40_custom :

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows 10 (loader) (on /dev/nvme0n1p7)" {
 insmod part_msdos
 insmod ntfs
 set root='(hd0,msdos7)'
 chainloader +1
}

eu corro sudo update-grub . Exibe error: not a valid root device .

Eu li que o grub não pode iniciar o Windows diretamente, mas apenas inicia um gerenciador de inicialização (loadloader) do windows. Eu acho que o meu problema é que eu não tenho isso.

Minhas perguntas: Como posso obter e instalar o bootloader do windows? Como posso inicializar a partição com o vbox?

    
por pasbi 05.04.2018 / 10:29

1 resposta

0

Eu não resolvi o problema, mas reinstalei todo o sistema (instale o Windows 10 primeiro, depois reduza as partições do Windows a partir de um Linux ao vivo e crie novas partições para o Arch, depois instale o Arch nelas). Usando rEFInd , posso inicializar no Windows ou no Arch. Do Arch, eu posso inicializar o Windows no VirtualBox usando disco bruto .

As questões mais difíceis foram:

  1. Que partições devo usar? Não há a partição do windows. Pelo contrário, existem 4:

    • partição de dados básica (ntfs, 500MiB)
    • partição do sistema EFI (fat32, 100MiB)
    • Microsoft reservado parition (?, 16MiB)
    • partição de dados básica (ntfs, 100GiB)

    Solução: use todos os 4 ( VBoxManage internalcommands createrawvmdk -filename /whatever/you/want.vmdk -rawdisk /dev/nvme0n1 -partitions 1,2,3,4 -relative ). Não tenho certeza se todos são necessários, mas funciona.

  2. O Virtual Box não inicializa. Mesmo que tenha todas as informações (todas as partições mencionadas acima): Ative o modo efi ( Settings - > System - > Enable EFI (special OSes only) ).

  3. Problemas de permissão: adicione seu usuário ao disk -group: sudo usermod -a -G disk $USER .

por 02.05.2018 / 11:56