ubuntuusers.de

Dualboot-Windows virtualisieren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Dualboot-Windows_virtualisieren.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Ich werde mal alle Bezüge zu den EOL-Versionen XP und Vista entfernen.

Fertig!

jf792364

Anmeldungsdatum:
13. Mai 2018

Beiträge: 1

Ich hatte das Tutorial bereits unter Kubuntu 16.04 mit 64-Bit-EFI erfolgreich verwendet und gerade auf 18.04 aktualisiert, per Neu-Installation. Danach startete die Windows 10-VM nicht mehr...

Ursache war, dass der Ubuntu-Installer intern grub-install aufruft, was (neuerdings?) den Fallback-EFI-Loader (Windows) unter /boot/efi/EFI/Boot/bootx64.efi durch den GRUB-EFI-Loader ersetzt. Ausgabe bei grub-install --verbose:

grub-install: info: copying `/usr/lib/shim/shimx64.efi.signed' -> `/boot/efi/EFI/Boot/bootx64.efi'.
grub-install: info: copying `/usr/lib/shim/fbx64.efi' -> `/boot/efi/EFI/Boot/fbx64.efi'.

Der GRUB-EFI-Loader kann wiederum nicht auf /boot/ zugreifen, da im Tutorial ja nur die EFI-Partition extra erwähnt wird. Somit landete ich in einer GRUB-Shell, von der ich nicht weiter kam.

Ich seh da drei mögliche Lösungen:

  1. In der *.vmdk ebenfalls die Partition einbinden, die /boot/ (+GRUB) enthält und im gestarteten GRUB dann wieder Windows auswählen (Ubuntu kann hier nicht gestartet werden da ja nicht lesbar)

  2. GRUB direkt in der EFI-Partition installieren, der Rest wie in Schritt 1 (könnte Probleme geben, falls Windows ebenfalls schreibend zugreift?)

  3. Fallback-EFI-Loader wieder durch den Windows Loader ersetzen also /boot/efi/EFI/Boot/bootx64.efi durch /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi ersetzen. /boot/efi/EFI/Boot/fbx64.efi musste auch entfernt werden.

Ich hab mich erst für 1), dann 3) entschieden, da ich dann direkt Windows ohne Umweg über GRUB boote. Bleibt auch nach update-grub erhalten. Allerdings bekommt das evtl. nicht jedes BIOS geregelt? Sonst würde grub-install wohl nicht pauschal den Fallback überbraten...? Könnte ich im Tutorial nachpflegen...

Lauscher

(Themenstarter)
Avatar von Lauscher

Anmeldungsdatum:
23. Januar 2012

Beiträge: 541

Wohnort: /..

jf792364 schrieb:

Könnte ich im Tutorial nachpflegen...

Das wäre sehr nett, danke für die Rückmeldung und präzise Beschreibung! Dabei könnest Du das "getestet" am Anfang um Version 18.04 ergänzen.

Meinen Dank auch an alle anderen, die den Artikel weiter pflegen. Ich habe nun ein paar Jahre kein Windows und kein Ubuntu mehr; ich schaue zwar noch manchmal auf den Artikel, aber aktiv weiterführen werde ich ihn nicht mehr.

Gruß, Lauscher

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej,

habe gerade mal mein OEM W7 in BB/VBox eingerichtet, das scheint wohl nicht mehr ohne erneute Aktivierung (in VBox) zu funktionieren. Weiß jemand, ob und wie man ggf. zusätzliche Anpassungen vornehmen kann/muß?

Gruß black tencate

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej,

ich hätte gern mal gewußt, ob jemand ein EFI Windows schon mal erfolgreich virtualisiert hat?

Bei mir hakt es irgendwie am Erzeugen des mbr

blacktencate@T520-ff:~$ echo A337909A-F835-4869-A3F3-4B8848F76044 | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r |  dd of=~/VirtualBox\ VMs/W10R/W10R.mbr bs=1 seek=440 conv=notrunc  

Das läuft jetzt schon über eine Stunde und ist auf 1,4 GB angewachsen. Was ist da verquer?

Gruß black tencate

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej,

ich setze mal den FF-getestet.

Habe das auf einer GPT Platte nachvollzogen mit

blacktencate@T520-ff:~$ inxi -SMCD
System:
  Host: T520-ff Kernel: 5.4.0-31-generic x86_64 bits: 64 
  Desktop: Gnome 3.36.2 Distro: Ubuntu 20.04 LTS (Focal Fossa) 
Machine:
  Type: Laptop System: LENOVO product: 4243F39 v: ThinkPad T520 
  serial: <superuser/root required> 
  Mobo: LENOVO model: 4243F39 serial: <superuser/root required> UEFI: LENOVO 
  v: 8AET53WW (1.33 ) date: 10/21/2011 
CPU:
  Topology: Dual Core model: Intel Core i5-2520M bits: 64 type: MT MCP 
  L2 cache: 3072 KiB 
  Speed: 1021 MHz min/max: 800/3200 MHz Core speeds (MHz): 1: 1467 2: 1624 
  3: 2269 4: 1970 
Drives:
  Local Storage: total: 298.09 GiB used: 13.51 GiB (4.5%) 
  ID-1: /dev/sda vendor: Fujitsu model: MHZ2320BH G2 size: 298.09 GiB 
blacktencate@T520-ff:~$ 

und "Win10_1909_German_x64.iso"

blacktencate@T520-ff:~$ sudo parted -l
Modell: ATA FUJITSU MHZ2320B (scsi)
Festplatte  /dev/sda:  320GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem  Name                          Flags
 1      1049kB  53,5MB  52,4MB  fat32        EFI System Partition          boot, esp
 2      53,5MB  70,3MB  16,8MB               Microsoft reserved partition  msftres
 3      70,3MB  43,0GB  42,9GB  ntfs         Basic data partition          msftdata
 5      53,7GB  80,6GB  26,8GB  ext4
 6      80,6GB  113GB   32,2GB  ext4

blacktencate@T520-ff:~$
blacktencate@T520-ff:~$

Bei dem Test wurden allerdings nicht alle Punkte geprüft/berücksichtigt, da entweder mittlerweile obsolet ("o"), oder beim Test nicht aufgetaucht ("n\a")

  • Windows vorbereiten

    • Hinweis Einschränkung Internet → n\a

  • Treibervorbereitung: Windows 7 → o

  • Windows Produkt-Aktivierung → n\a

  • Product Key (steht in der firmware)

  • Daten zur Produktaktivierung sichern bis Windows 8 / 10: Produktaktivierung hinauszögern: → nicht durchgeführt

...

  • Bootloader erzeugen → hat ca. 2h gedauert und einen MBR von 2,7GB erzeugt. Leider liefert der nur eine Grub-Konsole (von der aus man dann Windows mittels

    set root=(hdx,y) # hier `esp` 0,1
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    boot

    starten kann.

  • Optional: Zusätzliche Festplattenverweise → keine erteilt

  • Virtuelles CD/DVD-Laufwerk angleichen → entfällt, da HDD im Multifunktionsschacht an stelle von DVD

  • Andere Parallelsysteme → nicht benutzt

  • Problembehebung → keine Fehler aufgetaucht (bis auf Flüchtigkeitsfehler bei der WindowsRAW_BIOS.sh: "Type" nicht in dezimal transferiert)

  • Probleme beim Booten von Windows → keine Probleme aufgetaucht, Produktaktivierung bleibt bestehen sowohl in der VirtualBox wie auch beim realen Boot.

  • Sonstige Probleme → keine aufgetaucht

Bis auf das o.g. seltsame Verhalten des virtuellen MBR und damit umständliche starten von windows läuft 's.

Gruß black tencate

PS.: Sollten hier besser die Bezüge zu W7 entfernt werden?

Moderiert von noisefloor:

Korrekturen gem. Wunsch des Erstellers des Posts gemacht.

gregor-kiel

Anmeldungsdatum:
21. Juli 2006

Beiträge: 54

Wohnort: Kiel, GER

Den Absatz zum Erzeugen des MBR habe ich korrigiert. Es wurden falsche Werte an sed übergeben. Jetzt funktioniert der Befehl und trägt auch nur die paar Bytes in den MBR ein...

Allerdings kämpfe ich weiterhin damit, das VBox nichts booten will....

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej,

ich mache mal den Vorchlag, diesen Absatz

Bootloader erzeugen

Der Bootloader mbr 🇬🇧 dient als Alternative zu GRUB, um damit Windows in VirtualBox booten zu können. [1]

  • mbr (universe, bis Ubuntu 11.04 main)

Befehl zum Installieren der Pakete:

sudo apt-get install mbr 

Es wird eine Bootloader-Datei WindowsRAW.mbr erzeugt: [3]

install-mbr --force ~/VirtualBox\ VMs/WindowsRAW/WindowsRAW.mbr 

Benötigt wird der Wert von disk identifier der Bootfestplatte, in der Regel /dev/sda. Er wird angezeigt beim Aufruf von:

sudo fdisk -l 

In diese Datei wird mit folgendem Befehl der Wert von disk identifier (in der deutschen Version Medienkennung) eingetragen. Dabei FESTPLATTENIDENTIFIKATION durch den entsprechenden Wert ersetzen:

echo 0xFESTPLATTENIDENTIFIKATION | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r |  dd of=~/VirtualBox\ VMs/WindowsRAW/WindowsRAW.mbr bs=1 seek=440 conv=notrunc  

Der Befehl nimmt die ersten 4Bytes nach 0x und fügt sie Rückwärts wieder ein. Der Rest des Strings wird übernommen. Was der Befehl einfügt, kann man sich einfach so ansehen:

echo 0xa1b2c3d4-aabbccddeeff-1122334455 | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r | xxd 

...............................................................

wie nachfolgend zu ersetzen.

Bootloader erzeugen

Der Bootloader mbr 🇬🇧 dient als Alternative zu GRUB 2, um damit Windows in VirtualBox booten zu können. [1]

  • mbr (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install mbr 

Mit dem Befehl

install-mbr --force ~/VirtualBox\ VMs/WindowsRAW/WindowsRAW.mbr 

wird eine Bootloader-Datei WindowsRAW.mbr erzeugt: [3], die noch bearbeitet werden muß

  1. Benötigt wird der Wert von disk identifier der Platte, auf der sich Windows befindet. Er wird angezeigt beim Aufruf von: sudo fdisk -l /dev/sdX # X entsprechend

  2. In die .mbr Datei wird mit folgendem Befehl der Wert von disk identifier (in der deutschen Version Medienkennung) eingetragen. Dabei FESTPLATTENIDENTIFIKATION durch den entsprechenden Wert ersetzen:

echo FESTPLATTENIDENTIFIKATION | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r |  dd of=~/VirtualBox\ VMs/WindowsRAW/WindowsRAW.mbr bs=1 seek=440 conv=notrunc  

Der Wert unterscheidet sich je nach verwendetem Partitionierungsschema MBR/MPT bzw. GPT

  • MBR/MPT → Beispiel

    Festplattenbezeichnungstyp: dos
    Festplattenbezeichner: 0x5b1e1ffa
  • GPT → Beispiel

    Festplattenbezeichnungstyp: gpt
    Festplattenbezeichner: A337909A-F835-4869-A3F3-4B8848F76044

Im ersten Fall ist FESTPLATTENIDENTIFIKATION == 0x5b1e1ffa, im zweiten Fall muß für FESTPLATTENIDENTIFIKATION == 0xA337909A-F835-4869-A3F3-4B8848F76044 "0x" am Anfang ergänzt werden.

Nach Prüfung des Gesamtvorgangs baue ich das dann später ein.

Gruß black tencate

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Nach Prüfung des Gesamtvorgangs baue ich das dann später ein.

Wenn das so funktioniert ist das ok.

Gruß, noisefloor

gregor-kiel

Anmeldungsdatum:
21. Juli 2006

Beiträge: 54

Wohnort: Kiel, GER

Hallo black tencate,

Du scheinst Dich damit womöglich schon beschäftigt zu haben? Was bewirkt das Einfügen des Festplattenidentifikators an dieser Stelle und ist es notwendig, die gesamte GPT-ID oder ebenfalls nur die ersten 4Byte einzufügen? meine VBox bleibt jedenfalls am "grub>"-Prompt stehen und denkt nicht daran etwas zu booten.

Ich konnte ja lediglich das Wachstum der MBR auf GiB korrigieren....

Vielleicht muss man die Prüfung, was da so generiert wird auch nicht in den Artikel aufnehmen (echo ... | sed ... | xxd -r | xxd ), hauptsache es funktioniert ordentlich...

VG, Gregor

PS: Grund, mich mit dem Artikel zu beschäftigen war, mein GPT-Dualboot-Win10 unter Linux in der VirtualBox booten zu können. Auf meinem anderen Laptop mit BIOS klappt das, unter EFI leider (noch) nicht. Habt ihr einen schlauen Tipp für mich?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
gregor@BC1710-Tux:~$ sudo fdisk -l
[...]
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 76BBE4D7-9793-424C-8608-6A780D798112

Gerät             Anfang      Ende  Sektoren  Größe Typ
/dev/nvme0n1p1      2048    206847    204800   100M EFI-System
/dev/nvme0n1p2    206848    239615     32768    16M Microsoft reserviert
/dev/nvme0n1p3    239616 188983295 188743680    90G Microsoft Basisdaten
/dev/nvme0n1p4 975704064 976771071   1067008   521M Windows-Wiederherstellungsumgebung
/dev/nvme0n1p5 188983296 975704063 786720768 375,1G Linux LVM


VM_NAME=Win10-Phys
DEVICE=nvme0n1
PARTITIONS="1,2,3,4"
HDD_ID=0x76BBE4D7-9793-424C-8608-6A780D798112        ; #  FestplattenID/Festplattenbezeichner der Bootplatte ( sudo fdisk -l )

{ # vboxusers den zugriff auf die Platten erlauben...
echo 'KERNEL=="nvme0n1p1", GROUP="vboxusers", MODE="0664"' | sudo tee    /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1p2", GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1p3", GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1p4", GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1",   GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null

sudo udevadm trigger 
}


{ # zu übungszwecken alte Installationsreste löschen
VBoxManage unregistervm $VM_NAME --delete
rm -fr '/home/gregor/VirtualBox VMs'/$VM_NAME
sudo echo  ; # PW Abfrage deaktivieren...
}

{ # Virtuelle Maschine aufsetzen
VBoxManage createvm --name $VM_NAME --ostype Windows10_64 --register
VBoxManage modifyvm $VM_NAME --memory 3096 --vram 32 --ioapic on --cpus 4 --pae on --hwvirtex on 
VBoxManage modifyvm $VM_NAME --nic1 bridged --bridgeadapter1 enp3s0f1   --cableconnected1 off
VBoxManage modifyvm $VM_NAME --nic2 bridged --bridgeadapter2 wlp2s0     --cableconnected2 off

VBoxManage modifyvm $VM_NAME  --firmware efi
VBoxManage modifyvm $VM_NAME  --graphicscontroller vboxsvga
VBoxManage modifyvm $VM_NAME  --usb     on
VBoxManage modifyvm $VM_NAME  --usbohci on
VBoxManage modifyvm $VM_NAME  --usbehci on
VBoxManage modifyvm $VM_NAME  --usbxhci on

 
VBoxManage modifyvm $VM_NAME  --clipboard bidirectional 
VBoxManage modifyvm $VM_NAME  --draganddrop bidirectional
VBoxManage modifyvm $VM_NAME  --audio pulse --audiocontroller hda

 
VBoxManage storagectl $VM_NAME --name SATA --add sata --controller IntelAHCI --portcount 2  --hostiocache off --bootable on


[  ! `which install-mbr` ] && sudo apt-get install mbr 
install-mbr --force ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.mbr 
echo $HDD_ID | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r |  dd of=~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.mbr bs=1 seek=440 conv=notrunc
# kontrolle, ob korrekt eingetragen:
#dd if=~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.mbr bs=1 skip=440 count=16  |xxd -p

}

Virtual machine 'Win10-Phys' is created and registered.
UUID: 8536a6d5-a03f-4023-83b9-cce871700efe
Settings file: '/home/gregor/VirtualBox VMs/Win10-Phys/Win10-Phys.vbox'
16+0 Datensätze ein
16+0 Datensätze aus
16 Bytes kopiert, 0,000270516 s, 59,1 kB/s

gregor@BC1710-Tux:~$ ls -lah ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.mbr
-rw-rw-r-- 1 gregor gregor 512 Nov  8 16:03 '/home/gregor/VirtualBox VMs/Win10-Phys/Win10-Phys.mbr'



{ # was hier so wirklich passiert, verstehe ich nicht...
sudo VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.vmdk -rawdisk /dev/${DEVICE} -partitions ${PARTITIONS} -mbr ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.mbr -relative 

sudo chown -R $USER:vboxusers ~/VirtualBox\ VMs/${VM_NAME}/*
sudo chmod ug+rw ~/VirtualBox\ VMs/${VM_NAME}/*


VBoxManage storageattach $VM_NAME --storagectl SATA --medium ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.vmdk --port 0 --type hdd --nonrotational on
}

RAW host disk access VMDK file /home/gregor/VirtualBox VMs/Win10-Phys/Win10-Phys.vmdk created successfully.
Bilder

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej gregor-kiel,

gregor-kiel schrieb:

...und ist es notwendig, die gesamte GPT-ID oder ebenfalls nur die ersten 4Byte einzufügen?

  1. ich habe sowohl ein funktionierendes BIOS wie auch ein EFI DualBoot-Windows virtualisiert.

  2. der Versuch mit dem Zusatz "0x" vor dem disk-identifier führte bei mir gerade zu VERR_CFGM_VALUE_NOT_FOUND (im log stand da was von "disk ID not found"); ich wiederhole die Konstellation gerade noch einmal ohne "0x", das dauert aber noch.

meine VBox bleibt jedenfalls am "grub>"-Prompt stehen und denkt nicht daran etwas zu booten.

versuch an der Stelle mal ein chainloader /efi/microsoft/boot/bootmgfw.efi gefolgt von boot. Meine EFI Variante funktioniert nur so, ich erinnere allerdings nicht mehr, welche Partitionen alle ich s.Z. verwendet habe.

Ich konnte ja lediglich das Wachstum der MBR auf GiB korrigieren....

nutzt nur nichts, falls es dann nicht funktioniert....

 # vboxusers den zugriff auf die Platten erlauben...
echo 'KERNEL=="nvme0n1p1", GROUP="vboxusers", MODE="0664"' | sudo tee    /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1p2", GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1p3", GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1p4", GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null
echo 'KERNEL=="nvme0n1",   GROUP="vboxusers", MODE="0664"' | sudo tee -a /etc/udev/rules.d/${VM_NAME}.rules > /dev/null

sudo udevadm trigger 

hmm, beides? Partitionen und ganze Platte?!

 # was hier so wirklich passiert, verstehe ich nicht...
sudo VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.vmdk -rawdisk /dev/${DEVICE} -partitions ${PARTITIONS} -mbr ~/VirtualBox\ VMs/${VM_NAME}/${VM_NAME}.mbr -relative 

dem mbr werden die Partitionen "eingeimpft". Schau in Kapitel 9.7

Gruß black tencate

gregor-kiel

Anmeldungsdatum:
21. Juli 2006

Beiträge: 54

Wohnort: Kiel, GER

Moin!

der Versuch mit dem Zusatz "0x" vor dem disk-identifier führte bei mir gerade zu VERR_CFGM_VALUE_NOT_FOUND (im log stand da was von "disk ID not found"); ich wiederhole die Konstellation gerade noch einmal ohne "0x", das dauert aber noch.

sed wartet aber auf die Zeichen "0x" im Eingabestream und sortiert die nächsten 4x 2 Zeichen rückwärts

das Problem entsteht im xxd -r , wenn ich es ausgeben lasse (xxd -r -p), tritt das Problem nicht auf.

Hier mal die Umwandlung via xxd -r in binary und via xxd -p zurück mit und ohne führendes "0x"

1
2
3
4
5
HDD_ID=0x76BBE4D7-9793-424C-8608-6A780D798112
echo $HDD_ID | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r | xxd -p

HDD_ID=76BBE4D7-9793-424C-8608-6A780D798112
echo $HDD_ID | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r | xxd -p

Ich bin dabei ein Lösung zu finden. Boot funktionierte bereits! Ich arbeite an der Verifikation. evtl muss nicht die Disk-ID sondern die EFS-ID gegeben werden? Oder einmalig der bootmgfw.efi über die EFIShell ausgeführt werden. Anschließend jedenfalls bootet Windows bereits mehrfach ohne Intervention.

Kapitel 9.7 wovon?

VG, Gregor

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej,

habe jetzt erfolgreich DualBoot-Windows virtualisiert, mit dem mbr gem.

echo A337909A-F835-4869-A3F3-4B8848F76044 | sed -e 's/0x\(..\)\(..\)\(..\)\(..\)/0x\4\3\2\1/' | xxd -r |  dd of=~/VirtualBox\ VMs/w10gpt-R/w10gpt-R.mbr bs=1 seek=440 conv=notrunc

was etwas 2 Stunden dauert und

-rw-rw-r-- 1 mate-ff mate-ff 2738328158 Nov  8 18:05 w10gpt-R.mbr

hervorbringt.

Wenn ich beim Start mit F2 den Bootmanager aufrufe und als Bootdevice die Windowsplatte wähle, erscheint ein grub, von wo aus dann per chainloader /efi/microsoft/boot/bootmgfw.efi getartet werden kann.

Ich ändere im Wiki also wieder "zurück"

Gruß black tencate

gregor-kiel

Anmeldungsdatum:
21. Juli 2006

Beiträge: 54

Wohnort: Kiel, GER

Moin black_tencate!

Ich habe nun den Rechner mal durchgestartet und Windows laufen lassen. Reboot → und komme ohne grub direkt wieder im Windows raus. Offensichtlich wurde im EFI-FS Microsoft anstelle ubuntu als standard boot ausgewählt. Auch hier musste ich manuell wieder zurück drehen...

Bitte schau dir mal deinen erzeugten mbr (oberhalb Byte 440) an. Alles Nullen? Dann wurde ab 441 auch nicht die ID eingetragen... https://de.wikipedia.org/wiki/Master_Boot_Record

Und mal ehrlich, 2,5 GiB MasterBootRecord? Das wäre größer als ein Betriebssystem... Kannst Du mir deinen mbr mal gezippt per PN zur Verfügung stellen?

Ich hab nix dagegen, den Artikel wieder zurück zu drehen, denn mein Ansatz führt ja noch immer nicht zum Ziel... Vielleicht trotzdem der Hinweis, das der Befehl 0xAABBCCDD erwartet und es mit GPT derzeit noch nicht so recht funktionieren will. Und das xxd -r ohne führendes 0x Datenmüll ausgibt...

Allerdings funktioniert Dein mbr auch noch nicht so recht, wenn manuell noch der passende Eintrag ausgewählt werden muss?! Gibt es denn einen Unterschied im Verhalten zu "meiner neuen" Version mit 0x davor? Würde deine VM auch mit einem 512Byte MBR starten?

VG, Gregor

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11283

Hej gregor-kiel,

gregor-kiel schrieb:

...Alles Nullen?

sieht so aus, fast.

mate-ff@M-ff-ito-T520:~/VirtualBox VMs/w10gpt-R$ hexdump -C w10gpt-R.mbr
00000000  fc 31 c0 8e d0 31 e4 8e  d8 8e c0 be 00 7c bf 00  |.1...1.......|..|
00000010  06 b9 00 01 f3 a5 be ee  07 b0 08 ea 20 06 00 00  |............ ...|
00000020  80 3e b2 07 ff 75 04 88  16 b2 07 80 3c 00 74 04  |.>...u......<.t.|
00000030  08 06 ae 07 83 ee 10 d0  e8 73 f0 cd 1a 89 16 00  |.........s......|
00000040  08 e8 33 01 81 3e b0 07  ff ff 74 46 f6 06 af 07  |..3..>....tF....|
00000050  80 74 06 b4 01 cd 16 75  39 f6 06 af 07 40 74 07  |.t.....u9....@t.|
00000060  f6 06 17 04 0f 75 2b 31  c0 cd 1a 2b 16 00 08 2b  |.....u+1...+...+|
00000070  16 b0 07 72 d7 a0 af 07  24 07 3c 07 75 0b be be  |...r....$.<.u...|
00000080  07 b0 00 b9 04 00 80 3c  00 75 66 fe c0 83 c6 10  |.......<.uf.....|
00000090  e2 f4 e8 e2 00 b4 0e be  a0 07 8a 0e ae 07 ac d0  |................|
000000a0  e9 73 02 cd 10 08 c9 75  f5 b0 3a cd 10 31 c0 cd  |.s.....u..:..1..|
000000b0  16 3c 00 74 f8 3c 0d 74  bc 3c 61 72 06 3c 7a 77  |.<.t.<.t.<ar.<zw|
000000c0  02 2c 20 88 c3 be a0 07  8a 0e ae 07 ac d0 e9 73  |., ............s|
000000d0  04 38 c3 74 06 08 c9 75  f3 eb d2 b8 0d 0e 31 db  |.8.t...u......1.|
000000e0  cd 10 8d 84 5f 00 3c 07  75 07 b0 1f a2 ae 07 eb  |...._.<.u.......|
000000f0  a1 e8 83 00 31 d2 b9 01  00 3c 04 74 11 73 f0 30  |....1....<.t.s.0|
00000100  e4 b1 04 d2 e0 be be 07  01 c6 8a 16 b2 07 bf 05  |................|
00000110  00 56 f6 c2 80 74 2b b4  41 bb aa 55 52 cd 13 5a  |.V...t+.A..UR..Z|
00000120  5e 56 72 1e 81 fb 55 aa  75 18 f6 c1 01 74 13 8b  |^Vr...U.u....t..|
00000130  44 08 8b 5c 0a be 90 07  89 44 08 89 5c 0a b4 42  |D..\.....D..\..B|
00000140  eb 0c 8a 74 01 8b 4c 02  b8 01 02 bb 00 7c 50 c6  |...t..L......|P.|
00000150  06 92 07 01 cd 13 58 5e  73 05 4f 75 b4 eb 90 81  |......X^s.Ou....|
00000160  3e fe 7d 55 aa 75 f6 31  db b8 0d 0e cd 10 b0 0a  |>.}U.u.1........|
00000170  cd 10 ea 00 7c 00 00 50  b8 0d 0e 31 db cd 10 be  |....|..P...1....|
00000180  8c 07 b9 04 00 ac cd 10  e2 fb 58 c3 4d 42 52 20  |..........X.MBR |
00000190  10 00 01 00 00 7c 00 00  00 00 00 00 00 00 00 00  |.....|..........|
000001a0  31 32 33 34 46 00 00 41  00 00 00 d1 07 07 90 c7  |1234F..A........|
000001b0  12 00 80 00 02 02 ef 17  00 00 00 00 00 00 00 00  |................|
000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
a3379250  00 00 f8 35 48 69 a3 f3  4b 88 48 f7 60 44        |...5Hi..K.H.`D|
a337925e
mate-ff@M-ff-ito-T520:~/VirtualBox VMs/w10gpt-R$ 

Dann wurde ab 441 auch nicht die ID eingetragen... im Vergleich dazu

mate-ff@M-ff-ito-T520:~/VirtualBox VMs/w10gpt-0x-R$ hexdump -C w10gpt-0x-R.mbr
00000000  fc 31 c0 8e d0 31 e4 8e  d8 8e c0 be 00 7c bf 00  |.1...1.......|..|
00000010  06 b9 00 01 f3 a5 be ee  07 b0 08 ea 20 06 00 00  |............ ...|
00000020  80 3e b2 07 ff 75 04 88  16 b2 07 80 3c 00 74 04  |.>...u......<.t.|
00000030  08 06 ae 07 83 ee 10 d0  e8 73 f0 cd 1a 89 16 00  |.........s......|
00000040  08 e8 33 01 81 3e b0 07  ff ff 74 46 f6 06 af 07  |..3..>....tF....|
00000050  80 74 06 b4 01 cd 16 75  39 f6 06 af 07 40 74 07  |.t.....u9....@t.|
00000060  f6 06 17 04 0f 75 2b 31  c0 cd 1a 2b 16 00 08 2b  |.....u+1...+...+|
00000070  16 b0 07 72 d7 a0 af 07  24 07 3c 07 75 0b be be  |...r....$.<.u...|
00000080  07 b0 00 b9 04 00 80 3c  00 75 66 fe c0 83 c6 10  |.......<.uf.....|
00000090  e2 f4 e8 e2 00 b4 0e be  a0 07 8a 0e ae 07 ac d0  |................|
000000a0  e9 73 02 cd 10 08 c9 75  f5 b0 3a cd 10 31 c0 cd  |.s.....u..:..1..|
000000b0  16 3c 00 74 f8 3c 0d 74  bc 3c 61 72 06 3c 7a 77  |.<.t.<.t.<ar.<zw|
000000c0  02 2c 20 88 c3 be a0 07  8a 0e ae 07 ac d0 e9 73  |., ............s|
000000d0  04 38 c3 74 06 08 c9 75  f3 eb d2 b8 0d 0e 31 db  |.8.t...u......1.|
000000e0  cd 10 8d 84 5f 00 3c 07  75 07 b0 1f a2 ae 07 eb  |...._.<.u.......|
000000f0  a1 e8 83 00 31 d2 b9 01  00 3c 04 74 11 73 f0 30  |....1....<.t.s.0|
00000100  e4 b1 04 d2 e0 be be 07  01 c6 8a 16 b2 07 bf 05  |................|
00000110  00 56 f6 c2 80 74 2b b4  41 bb aa 55 52 cd 13 5a  |.V...t+.A..UR..Z|
00000120  5e 56 72 1e 81 fb 55 aa  75 18 f6 c1 01 74 13 8b  |^Vr...U.u....t..|
00000130  44 08 8b 5c 0a be 90 07  89 44 08 89 5c 0a b4 42  |D..\.....D..\..B|
00000140  eb 0c 8a 74 01 8b 4c 02  b8 01 02 bb 00 7c 50 c6  |...t..L......|P.|
00000150  06 92 07 01 cd 13 58 5e  73 05 4f 75 b4 eb 90 81  |......X^s.Ou....|
00000160  3e fe 7d 55 aa 75 f6 31  db b8 0d 0e cd 10 b0 0a  |>.}U.u.1........|
00000170  cd 10 ea 00 7c 00 00 50  b8 0d 0e 31 db cd 10 be  |....|..P...1....|
00000180  8c 07 b9 04 00 ac cd 10  e2 fb 58 c3 4d 42 52 20  |..........X.MBR |
00000190  10 00 01 00 00 7c 00 00  00 00 00 00 00 00 00 00  |.....|..........|
000001a0  31 32 33 34 46 00 00 41  00 00 00 d1 07 07 90 c7  |1234F..A........|
000001b0  12 00 80 00 02 02 ef 17  9a 90 37 a3 f8 35 48 69  |..........7..5Hi|
000001c0  a3 f3 4b 88 48 f7 60 44  00 00 00 00 00 00 00 00  |..K.H.`D........|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200
mate-ff@M-ff-ito-T520:~/VirtualBox VMs/w10gpt-0x-R$ 

Und wie 's der Deibel so will, jetzt "funktioniert" es sogar, allerdings immer noch mit nur grub> und dem Booten von Hand.

Kannst Du mir deinen mbr mal gezippt per PN zur Verfügung stellen?

PN erlaubt keine Anhänge

Ich hab nix dagegen, den Artikel wieder zurück zu drehen, denn mein Ansatz führt ja noch immer nicht zum Ziel...

bei mir jetzt offensichtlich doch (mal den Bootloader außer Acht gelassen; btw, für die "DualBoot-Ubuntu virtualisieren" muß ich immer erst per SG²D starten, im Gast ein sudo grub-install /dev/sda machen, erst dann habe ich ein Bootmenü).

Im Artikel wird abgeraten, bei Bootproblemen mit der Windows DVD zu hantieren, stattdessen mit SG²D Windows zu starten, allein, in dieser Windowsmaschine kriege ich SG²D nicht zum Starten.

Vielleicht trotzdem der Hinweis, das der Befehl 0xAABBCCDD erwartet

ja, ich baue das wieder ein.

und es mit GPT derzeit noch nicht so recht funktionieren will.

bißchen "holperich" zwar, aber läuft.

Würde deine VM auch mit einem 512Byte MBR starten?

s.o.

Gruß black tencate