Die mit DD erstellte Windows-Partition kann nicht gebootet werden

Die mit DD erstellte Windows-Partition kann nicht gebootet werden

Bis gestern war ich mit meinem Partitionsschema zufrieden:

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

Ich verwende auch Windows 10 mit Virtual Box, die VDI befindet sich irgendwo in /home.

Jetzt bin ich gezwungen, die Größe der VDI zu vergrößern, und obwohl das möglich ist, möchte ich keine 100 GB große VDI-Datei in meinem /home haben. Da ich die Idee schätze, Windows nativ booten zu können, und ich > 100 GB unpartitionierten Speicherplatz auf meiner Festplatte habe,

  1. Rohbild erstellt:VBoxManage internalcommands converttoraw Win7.vdi win10.img
  2. analysierte Ausgabe: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. erstellte eine unformatierte Partition /dev/nvme0n1p7mit gparted
  2. die zweite Partition aus win10.img kopiert:sudo dd if=.local/win10.img of=/dev/nvme0n1p7 skip=105906176 count=53917018624 iflag=skip_bytes,count_bytes

Wenn ich es jetzt mit mounte sudo mount /dev/nvme0n1p7 /media/x, wird bemängelt, dass Windows nicht ordnungsgemäß heruntergefahren wurde und dass ich es ro mounten soll. Das habe ich mit behoben ntfsfix. Es sieht so aus, als ob eine solide Windows-Installation darauf vorhanden ist /dev/nvme0n1p7.

Leider kann ich es weder mit VirtualBox noch mit Grub booten. Für VirtualBox habe ich eine Raw-Disk mit erstellt VBoxManage internalcommands createrawvmdk -filename win10.vmdk -rawdisk /dev/nvme0n1 -partitions 7. Nach dem Starten von VBox erscheint ein schwarzer Bildschirm und das wars. Für Grub habe ich Folgendes bearbeitet /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
}

dann führe ich aus sudo update-grub. Es wird angezeigt error: not a valid root device.

Ich habe gelesen, dass Grub Windows nicht direkt starten kann, sondern nur einen dedizierten Windows-Bootloader (Chainloader) startet. Ich denke, mein Problem ist, dass ich ihn nicht habe.

Meine Fragen: Wie kann ich diesen Windows-Bootloader erhalten und installieren? Wie kann ich die Partition mit vbox booten?

Antwort1

Ich habe das Problem nicht gelöst, aber das ganze System neu installiert (zuerst Windows 10 installieren, dann Windows-Partitionen von einem Live-Linux verkleinern und neue Partitionen für Arch erstellen, dann Arch darin installieren). MitrEFIndkann ich entweder in Windows oder Arch booten. Von Arch aus kann ich Windows in VirtualBox booten mitRaw-Datenträger.

Die schwierigsten Probleme waren:

  1. Welche Partitionen soll ich verwenden? Es gibt keineDieWindows-Partition. Vielmehr gibt es 4:

    • Grundlegende Datenpartition (ntfs, 500 MiB)
    • EFI-Systempartition (fat32, 100 MiB)
    • Von Microsoft reservierte Partition (?, 16 MiB)
    • Grundlegende Datenpartition (NTFS, 100 GiB)

    Lösung: Verwenden Sie alle 4 ( VBoxManage internalcommands createrawvmdk -filename /whatever/you/want.vmdk -rawdisk /dev/nvme0n1 -partitions 1,2,3,4 -relative). Ich bin nicht sicher, ob alle erforderlich sind, aber es funktioniert.

  2. Virtual Box bootet nicht. Obwohl es alle Informationen hat (alle oben genannten Partitionen): Aktivieren Sie den EFI-Modus ( Settings-> System-> Enable EFI (special OSes only)).

  3. Berechtigungsprobleme: Fügen Sie Ihren Benutzer zur disk-Gruppe hinzu sudo usermod -a -G disk $USER:.

verwandte Informationen